From 4d4e5161c7473e25d640babd8aa1a4485182e043 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Thu, 18 Jan 2018 14:55:05 +0100 Subject: [PATCH 001/487] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 8b857582da..2e061ec524 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,8 @@ This will be updated as the program evolves. ![artist view](http://i.imgur.com/DCrlVqt.png) +![dashboard](https://i.imgur.com/tewcTEu.png) + ![playlist view](http://i.imgur.com/YM3eP3i.png) ## Dev build process From 43c0f4c2e1c50b551848f64fe1e0d6f1ca55f27d Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 19 Jan 2018 11:49:10 +0100 Subject: [PATCH 002/487] Apply happypack for faster webpack builds --- package-lock.json | 26 ++++++++++++++++++++++++++ package.json | 1 + webpack.config.dev.js | 25 ++++++++++++++++++------- 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25b64b7438..89125c04e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4262,6 +4262,26 @@ "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", "dev": true }, + "happypack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/happypack/-/happypack-4.0.0.tgz", + "integrity": "sha1-3hdw1HLasz4/MXgqPttOd8xlhjE=", + "dev": true, + "requires": { + "async": "1.5.0", + "json-stringify-safe": "5.0.1", + "loader-utils": "1.1.0", + "serialize-error": "2.1.0" + }, + "dependencies": { + "async": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.0.tgz", + "integrity": "sha1-J5ZkJyNXOFlWVjP8YnRES+4vjOM=", + "dev": true + } + } + }, "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -8802,6 +8822,12 @@ } } }, + "serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", + "dev": true + }, "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", diff --git a/package.json b/package.json index 994494c636..986d1f7ccd 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "google-fonts-webpack-plugin": "^0.4.4", + "happypack": "^4.0.0", "lodash": "^4.17.4", "node-sass": "^4.7.2", "nodebrainz": "^2.1.1", diff --git a/webpack.config.dev.js b/webpack.config.dev.js index 48aa4c5790..6049a39982 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -1,6 +1,7 @@ const webpack = require('webpack'); const path = require('path'); const GoogleFontsPlugin = require("google-fonts-webpack-plugin"); +const HappyPack = require('happypack'); const BUILD_DIR = path.resolve(__dirname, 'dist'); const APP_DIR = path.resolve(__dirname, 'app'); @@ -29,15 +30,17 @@ const config = { module: { loaders: [ { - test: /\.jsx?/, - loader: 'babel-loader', - include: APP_DIR - }, { + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', + include: APP_DIR + }, + { + test: /.scss$/, + use: 'happypack/loader?id=scss' + }, + { test: /\.css/, loader: 'style-loader!css-loader?modules=true&localIdentName=[name]__[local]___[hash:base64:5]' - }, { - test: /\.scss$/, - loader: 'style-loader!css-loader?importLoaders=1&modules&localIdentName=[local]!sass-loader' }, { test: /\.(png|jpg|gif)$/, loader: 'file-loader', @@ -55,6 +58,14 @@ const config = { variants: ['regular', '300', '700'] } ] + }), + new HappyPack({ + id: 'jsx', + loaders: [ 'babel-loader' ] + }), + new HappyPack({ + id: 'scss', + loaders: [ 'style-loader!css-loader?importLoaders=1&modules&localIdentName=[local]!sass-loader' ] }) ], target: 'electron-renderer' From f4747966ad23ae4c1e3fc0697fc89b9f7dcfc3da Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 19 Jan 2018 16:30:01 +0100 Subject: [PATCH 003/487] Load news from github pages json files --- app/actions/dashboard.js | 46 ++++++++++++++++++++++ app/components/Dashboard/NewsTab/index.js | 22 +++++++++++ app/components/Dashboard/index.js | 4 +- app/containers/DashboardContainer/index.js | 1 + app/reducers/dashboard.js | 10 ++++- app/rest/Musicbrainz.js | 2 +- app/rest/Nuclear.js | 23 +++++++++++ 7 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 app/components/Dashboard/NewsTab/index.js create mode 100644 app/rest/Nuclear.js diff --git a/app/actions/dashboard.js b/app/actions/dashboard.js index 6eacc41d38..aed73909bd 100644 --- a/app/actions/dashboard.js +++ b/app/actions/dashboard.js @@ -3,6 +3,11 @@ import { getBestNewTracks } from 'pitchfork-bnm'; +import { + getNewsIndex, + getNewsItem +} from '../rest/Nuclear'; + export const LOAD_BEST_NEW_ALBUMS_START = 'LOAD_BEST_NEW_ALBUMS_START'; export const LOAD_BEST_NEW_ALBUMS_SUCCESS = 'LOAD_BEST_NEW_ALBUMS_SUCCESS'; export const LOAD_BEST_NEW_ALBUMS_ERROR = 'LOAD_BEST_NEW_ALBUMS_ERROR'; @@ -11,6 +16,10 @@ export const LOAD_BEST_NEW_TRACKS_START = 'LOAD_BEST_NEW_TRACKS_START'; export const LOAD_BEST_NEW_TRACKS_SUCCESS = 'LOAD_BEST_NEW_TRACKS_SUCCESS'; export const LOAD_BEST_NEW_TRACKS_ERROR = 'LOAD_BEST_NEW_TRACKS_ERROR'; +export const LOAD_NUCLEAR_NEWS_START = 'LOAD_NUCLEAR_NEWS_START'; +export const LOAD_NUCLEAR_NEWS_SUCCESS = 'LOAD_NUCLEAR_NEWS_SUCCESS'; +export const LOAD_NUCLEAR_NEWS_ERROR = 'LOAD_NUCLEAR_NEWS_ERROR'; + export function loadBestNewAlbumsStart() { return { type: LOAD_BEST_NEW_ALBUMS_START @@ -76,3 +85,40 @@ export function loadBestNewTracks() { }); }; } + +export function loadNuclearNewsStart() { + return { + type: LOAD_NUCLEAR_NEWS_START + }; +} + +export function loadNuclearNewsSuccess(news) { + return { + type: LOAD_NUCLEAR_NEWS_SUCCESS, + payload: news + }; +} + +export function loadNuclearNewsError() { + return { + type: LOAD_NUCLEAR_NEWS_ERROR + }; +} + +export function loadNuclearNews() { + return dispatch => { + dispatch(loadNuclearNewsStart()); + getNewsIndex() + .then(index => { + return Promise.all(index.articles.map((item, i) => { + return getNewsItem(item); + })); + }) + .then(articles => { + dispatch(loadNuclearNewsSuccess(articles)); + }) + .catch(err => { + dispatch(loadNuclearNewsError(err)); + }); + }; +} diff --git a/app/components/Dashboard/NewsTab/index.js b/app/components/Dashboard/NewsTab/index.js new file mode 100644 index 0000000000..2d045f15d1 --- /dev/null +++ b/app/components/Dashboard/NewsTab/index.js @@ -0,0 +1,22 @@ +import React from 'react'; +import {Dimmer, Loader, Tab} from 'semantic-ui-react'; + +class NewsTab extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + news + } = this.props; + console.log(news); + return ( + + test + + ); + } +} + +export default NewsTab; diff --git a/app/components/Dashboard/index.js b/app/components/Dashboard/index.js index 182852ab54..dd55f0863a 100644 --- a/app/components/Dashboard/index.js +++ b/app/components/Dashboard/index.js @@ -2,6 +2,7 @@ import React from 'react'; import { Tab } from 'semantic-ui-react'; import BestNewMusicTab from './BestNewMusicTab'; +import NewsTab from './NewsTab'; class Dashboard extends React.Component { panes() { @@ -16,7 +17,7 @@ class Dashboard extends React.Component { }, { menuItem: 'News', - render: () => { return null; } + render: () => }, ]; } @@ -24,6 +25,7 @@ class Dashboard extends React.Component { componentDidMount() { this.props.loadBestNewTracks(); this.props.loadBestNewAlbums(); + this.props.loadNuclearNews(); } render() { diff --git a/app/containers/DashboardContainer/index.js b/app/containers/DashboardContainer/index.js index 7aa95b1362..73a3e61d0d 100644 --- a/app/containers/DashboardContainer/index.js +++ b/app/containers/DashboardContainer/index.js @@ -11,6 +11,7 @@ class DashboardContainer extends React.Component { ); diff --git a/app/reducers/dashboard.js b/app/reducers/dashboard.js index b325b1098f..2bdb3462f8 100644 --- a/app/reducers/dashboard.js +++ b/app/reducers/dashboard.js @@ -5,7 +5,11 @@ import { LOAD_BEST_NEW_TRACKS_START, LOAD_BEST_NEW_TRACKS_SUCCESS, - LOAD_BEST_NEW_TRACKS_ERROR + LOAD_BEST_NEW_TRACKS_ERROR, + + LOAD_NUCLEAR_NEWS_START, + LOAD_NUCLEAR_NEWS_SUCCESS, + LOAD_NUCLEAR_NEWS_ERROR } from '../actions/dashboard'; const initialState = { @@ -23,6 +27,10 @@ export default function DashboardReducer(state=initialState, action) { return Object.assign({}, state, { bestNewTracks: action.payload }); + case LOAD_NUCLEAR_NEWS_SUCCESS: + return Object.assign({}, state, { + news: action.payload + }); default: return state; } diff --git a/app/rest/Musicbrainz.js b/app/rest/Musicbrainz.js index 40044fd4f3..b69587f1f2 100644 --- a/app/rest/Musicbrainz.js +++ b/app/rest/Musicbrainz.js @@ -44,4 +44,4 @@ module.exports = { releaseSearch, trackSearch, addCoversToReleases -} +}; diff --git a/app/rest/Nuclear.js b/app/rest/Nuclear.js new file mode 100644 index 0000000000..b696462e14 --- /dev/null +++ b/app/rest/Nuclear.js @@ -0,0 +1,23 @@ +const nuclearNewsUrl = 'http://nuclear.gumblert.tech/news/'; + +export function getNewsIndex() { + return fetch(nuclearNewsUrl) + .then(response => response.json()) + .then(response => { + return Promise.resolve(response); + }) + .catch(err => { + console.error(err); + }); +} + +export function getNewsItem(itemName) { + return fetch(nuclearNewsUrl + itemName) + .then(response => response.json()) + .then(response => { + return Promise.resolve(response); + }) + .catch(err => { + console.error(err); + }); +} From d9324b60045eabd7604d460a4dec6e613a32b69c Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 19 Jan 2018 16:55:01 +0100 Subject: [PATCH 004/487] Simple news rendering --- .../Dashboard/NewsTab/NewsItem/index.js | 38 +++++++++++++++++++ .../Dashboard/NewsTab/NewsItem/styles.scss | 7 ++++ app/components/Dashboard/NewsTab/index.js | 13 ++++++- app/components/Dashboard/NewsTab/styles.scss | 4 ++ package-lock.json | 5 +++ package.json | 1 + 6 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 app/components/Dashboard/NewsTab/NewsItem/index.js create mode 100644 app/components/Dashboard/NewsTab/NewsItem/styles.scss create mode 100644 app/components/Dashboard/NewsTab/styles.scss diff --git a/app/components/Dashboard/NewsTab/NewsItem/index.js b/app/components/Dashboard/NewsTab/NewsItem/index.js new file mode 100644 index 0000000000..8c19d2f777 --- /dev/null +++ b/app/components/Dashboard/NewsTab/NewsItem/index.js @@ -0,0 +1,38 @@ +import React from 'react'; +import moment from 'moment'; + +import styles from './styles.scss'; + +class NewsItem extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + item + } = this.props; + return ( +
+

+ {item.title} +

+

+ {moment.unix(item.timestamp).format('dddd, MMMM, Do YYYY, h:mm:ss A')} +

+ +

+ {item.body} +

+ + { + item.tags.map((tag, i) => { + return {tag}; + }) + } +
+ ); + } +} + +export default NewsItem; diff --git a/app/components/Dashboard/NewsTab/NewsItem/styles.scss b/app/components/Dashboard/NewsTab/NewsItem/styles.scss new file mode 100644 index 0000000000..e9c48833a0 --- /dev/null +++ b/app/components/Dashboard/NewsTab/NewsItem/styles.scss @@ -0,0 +1,7 @@ +@import '../../../../vars'; + +.news_item { + border: 1px solid $white; + padding: 1rem; + border-radius: 0.25rem; +} diff --git a/app/components/Dashboard/NewsTab/index.js b/app/components/Dashboard/NewsTab/index.js index 2d045f15d1..acd229b657 100644 --- a/app/components/Dashboard/NewsTab/index.js +++ b/app/components/Dashboard/NewsTab/index.js @@ -1,5 +1,9 @@ import React from 'react'; import {Dimmer, Loader, Tab} from 'semantic-ui-react'; +import moment from 'moment'; + +import NewsItem from './NewsItem'; +import styles from './styles.scss'; class NewsTab extends React.Component { constructor(props) { @@ -10,10 +14,15 @@ class NewsTab extends React.Component { let { news } = this.props; - console.log(news); return ( - test +
+ { + news.map((item, i) => { + return ; + }) + } +
); } diff --git a/app/components/Dashboard/NewsTab/styles.scss b/app/components/Dashboard/NewsTab/styles.scss new file mode 100644 index 0000000000..2e062a33ab --- /dev/null +++ b/app/components/Dashboard/NewsTab/styles.scss @@ -0,0 +1,4 @@ +.news_container { + display: flex; + flex-flow: column; +} diff --git a/package-lock.json b/package-lock.json index 89125c04e5..16b9fab402 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5956,6 +5956,11 @@ "minimist": "0.0.8" } }, + "moment": { + "version": "2.20.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", + "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" + }, "mpris-service": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/mpris-service/-/mpris-service-1.1.3.tgz", diff --git a/package.json b/package.json index 986d1f7ccd..23bb433559 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "font-awesome": "^4.7.0", "lowdb": "^1.0.0", "md5": "^2.2.1", + "moment": "^2.20.1", "numeral": "^2.0.6", "pitchfork-bnm": "^1.0.3", "react": "^16.2.0", From a5881ecaff239059ac214606312de12a9def3e79 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 21 Jan 2018 20:00:06 +0100 Subject: [PATCH 005/487] Render news items --- .../Dashboard/NewsTab/NewsItem/index.js | 13 ++++++++----- .../Dashboard/NewsTab/NewsItem/styles.scss | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/app/components/Dashboard/NewsTab/NewsItem/index.js b/app/components/Dashboard/NewsTab/NewsItem/index.js index 8c19d2f777..66bd3271e8 100644 --- a/app/components/Dashboard/NewsTab/NewsItem/index.js +++ b/app/components/Dashboard/NewsTab/NewsItem/index.js @@ -25,11 +25,14 @@ class NewsItem extends React.Component { {item.body}

- { - item.tags.map((tag, i) => { - return {tag}; - }) - } +
+ { + item.tags.map((tag, i) => { + return {tag}; + }) + } +
+ ); } diff --git a/app/components/Dashboard/NewsTab/NewsItem/styles.scss b/app/components/Dashboard/NewsTab/NewsItem/styles.scss index e9c48833a0..be4f6a9446 100644 --- a/app/components/Dashboard/NewsTab/NewsItem/styles.scss +++ b/app/components/Dashboard/NewsTab/NewsItem/styles.scss @@ -4,4 +4,23 @@ border: 1px solid $white; padding: 1rem; border-radius: 0.25rem; + + h1 { + width: 100%; + padding: 1rem; + border-radius: 0.25rem; + background-color: $green; + color: $background; + } + + .tags { + display: flex; + flex-flow: row; + } + + .tag { + padding: 0.5rem; + border-radius: 0.25rem; + background-color: $orange; + } } From c4a1cdec120a4b514cc58ef33d0a622576ec747e Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 21 Jan 2018 22:48:11 +0100 Subject: [PATCH 006/487] news item styles --- .../Dashboard/NewsTab/NewsItem/styles.scss | 18 ++++++++++-------- app/components/Dashboard/NewsTab/index.js | 2 ++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/app/components/Dashboard/NewsTab/NewsItem/styles.scss b/app/components/Dashboard/NewsTab/NewsItem/styles.scss index be4f6a9446..5fc2dc4ae1 100644 --- a/app/components/Dashboard/NewsTab/NewsItem/styles.scss +++ b/app/components/Dashboard/NewsTab/NewsItem/styles.scss @@ -1,26 +1,28 @@ @import '../../../../vars'; .news_item { - border: 1px solid $white; + border: 1px solid rgba($lightbg, 0.3); padding: 1rem; border-radius: 0.25rem; h1 { width: 100%; - padding: 1rem; - border-radius: 0.25rem; - background-color: $green; - color: $background; + padding: 0.5rem 1rem 0.5rem 0; + } + + h4 { + margin: 1rem 0; } .tags { display: flex; flex-flow: row; + justify-content: flex-end; } .tag { - padding: 0.5rem; - border-radius: 0.25rem; - background-color: $orange; + padding: 0.25rem 0.5rem; + border-radius: 1rem; + background-color: rgba(white, 0.5); } } diff --git a/app/components/Dashboard/NewsTab/index.js b/app/components/Dashboard/NewsTab/index.js index acd229b657..8f3cfd6e75 100644 --- a/app/components/Dashboard/NewsTab/index.js +++ b/app/components/Dashboard/NewsTab/index.js @@ -29,3 +29,5 @@ class NewsTab extends React.Component { } export default NewsTab; + + From f3cd4230dd902e7195ab760fa257b21c434aa85e Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 22 Jan 2018 11:28:32 +0100 Subject: [PATCH 007/487] Add tests --- .travis.yml | 3 +- app/components/Dashboard/index.js | 8 + app/rest/Billboard.js | 30 ++ package-lock.json | 472 ++++++++++++++++++++++++------ package.json | 6 +- test/test.js | 22 ++ 6 files changed, 452 insertions(+), 89 deletions(-) create mode 100644 app/rest/Billboard.js create mode 100644 test/test.js diff --git a/.travis.yml b/.travis.yml index 04539757e1..e65cde2e10 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,9 @@ node_js: - 6 script: + - npm test - npm run build:dist cache: directories: - - node_modules \ No newline at end of file + - node_modules diff --git a/app/components/Dashboard/index.js b/app/components/Dashboard/index.js index dd55f0863a..5ac11a9d3b 100644 --- a/app/components/Dashboard/index.js +++ b/app/components/Dashboard/index.js @@ -11,10 +11,18 @@ class Dashboard extends React.Component { menuItem: 'Best new music', render: () => }, + { + menuItem: 'Charts', + render: () => { return null; } + }, { menuItem: 'Genres', render: () => { return null; } }, + { + menuItem: 'Events', + render: () => { return null; } + }, { menuItem: 'News', render: () => diff --git a/app/rest/Billboard.js b/app/rest/Billboard.js new file mode 100644 index 0000000000..a5aa7255f2 --- /dev/null +++ b/app/rest/Billboard.js @@ -0,0 +1,30 @@ +import { getChart } from 'billboard-top-100'; + +export var lists = { + genres: [ + { + name:'Mainstream Top 40', + link: 'pop-songs' + }, + { + name: 'Adult Contemporary', + link: 'adult-contemporary' + }, + { + name: 'Adult Top 40', + link: 'adult-pop-songs' + } + ] +}; + +export function getTop(list) { + return new Promise((resolve, reject) => { + getChart(list, (songs, err) => { + if(err) { + reject(err); + } else { + resolve(songs); + } + }); + }); +} diff --git a/package-lock.json b/package-lock.json index 16b9fab402..e160441520 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,12 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.52.tgz", "integrity": "sha512-jjpyQsKGsOF/wUElNjfPULk+d8PKvJOIXk3IUeBYYmNCy5dMWfrI+JiixYNw8ppKOlcRwWTXFl0B+i5oGrf95Q==" }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", + "optional": true + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -70,11 +76,27 @@ } } }, + "acorn-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", + "optional": true, + "requires": { + "acorn": "2.7.0" + }, + "dependencies": { + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", + "optional": true + } + } + }, "ajv": { "version": "5.5.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "dev": true, "requires": { "co": "4.6.0", "fast-deep-equal": "1.0.0", @@ -338,8 +360,7 @@ "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, "asn1.js": { "version": "4.9.2", @@ -364,7 +385,12 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true }, "assign-symbols": { @@ -403,8 +429,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { "version": "2.0.3", @@ -441,14 +466,12 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" }, "babel-code-frame": { "version": "6.26.0", @@ -1275,7 +1298,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, "optional": true, "requires": { "tweetnacl": "0.14.5" @@ -1287,6 +1309,57 @@ "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", "dev": true }, + "billboard-top-100": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/billboard-top-100/-/billboard-top-100-2.0.8.tgz", + "integrity": "sha1-KPcHc7H+H3tJ9T82ZGiqaENACwI=", + "requires": { + "cheerio": "0.20.0", + "request": "2.83.0" + }, + "dependencies": { + "cheerio": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", + "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", + "requires": { + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.8.3", + "jsdom": "7.2.2", + "lodash": "4.17.4" + } + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "requires": { + "domelementtype": "1.3.0" + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" + }, + "dependencies": { + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" + } + } + } + } + }, "binary-extensions": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", @@ -1375,7 +1448,6 @@ "version": "4.3.1", "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", - "dev": true, "requires": { "hoek": "4.2.0" } @@ -1496,6 +1568,12 @@ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", "dev": true }, + "browser-stdout": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", + "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "dev": true + }, "browserify-aes": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", @@ -1818,8 +1896,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "center-align": { "version": "0.1.3", @@ -1839,6 +1916,20 @@ } } }, + "chai": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", + "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", + "dev": true, + "requires": { + "assertion-error": "1.1.0", + "check-error": "1.0.2", + "deep-eql": "3.0.1", + "get-func-name": "2.0.0", + "pathval": "1.1.0", + "type-detect": "4.0.7" + } + }, "chalk": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", @@ -1857,6 +1948,12 @@ "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, "cheerio": { "version": "1.0.0-rc.2", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", @@ -2040,8 +2137,7 @@ "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, "coa": { "version": "1.0.4", @@ -2124,7 +2220,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, "requires": { "delayed-stream": "1.0.0" } @@ -2405,7 +2500,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", - "dev": true, "requires": { "boom": "5.2.0" }, @@ -2414,7 +2508,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", - "dev": true, "requires": { "hoek": "4.2.0" } @@ -2570,6 +2663,20 @@ "source-map": "0.5.7" } }, + "cssom": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", + "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=" + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "optional": true, + "requires": { + "cssom": "0.3.2" + } + }, "currently-unhandled": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", @@ -2592,7 +2699,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "1.0.0" } @@ -2633,6 +2739,15 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", "dev": true }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "requires": { + "type-detect": "4.0.7" + } + }, "deep-equal": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", @@ -2645,6 +2760,12 @@ "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", "dev": true }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "optional": true + }, "define-properties": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", @@ -2695,8 +2816,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", @@ -2741,6 +2861,12 @@ "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", "dev": true }, + "diff": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", + "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "dev": true + }, "diffie-hellman": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", @@ -2896,7 +3022,6 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, "optional": true, "requires": { "jsbn": "0.1.1" @@ -3457,6 +3582,27 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "escodegen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", + "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "optional": true, + "requires": { + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.5.7" + }, + "dependencies": { + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "optional": true + } + } + }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", @@ -3488,14 +3634,12 @@ "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" }, "esutils": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "dev": true + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" }, "etag": { "version": "1.8.1", @@ -3656,8 +3800,7 @@ "extend": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" }, "extend-shallow": { "version": "2.0.1", @@ -3724,26 +3867,22 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=", - "dev": true + "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastparse": { "version": "1.1.1", @@ -3919,14 +4058,12 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", - "dev": true, "requires": { "asynckit": "0.4.0", "combined-stream": "1.0.5", @@ -4075,6 +4212,12 @@ "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", "dev": true }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -4097,7 +4240,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "1.0.0" } @@ -4256,6 +4398,12 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" }, + "growl": { + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", + "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", + "dev": true + }, "handle-thing": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", @@ -4285,14 +4433,12 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", - "dev": true, "requires": { "ajv": "5.5.2", "har-schema": "2.0.0" @@ -4403,7 +4549,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", - "dev": true, "requires": { "boom": "4.3.1", "cryptiles": "3.1.2", @@ -4411,6 +4556,12 @@ "sntp": "2.1.0" } }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "dev": true + }, "history": { "version": "4.7.2", "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", @@ -4437,8 +4588,7 @@ "hoek": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", - "dev": true + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" }, "hoist-non-react-statics": { "version": "2.3.1", @@ -4645,7 +4795,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "1.0.0", "jsprim": "1.4.1", @@ -5200,8 +5349,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-utf8": { "version": "0.2.1", @@ -5250,8 +5398,7 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "js-base64": { "version": "2.4.0", @@ -5278,9 +5425,45 @@ "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, "optional": true }, + "jsdom": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", + "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", + "optional": true, + "requires": { + "abab": "1.0.4", + "acorn": "2.7.0", + "acorn-globals": "1.0.9", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "escodegen": "1.9.0", + "nwmatcher": "1.4.3", + "parse5": "1.5.1", + "request": "2.83.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.3", + "webidl-conversions": "2.0.1", + "whatwg-url-compat": "0.6.5", + "xml-name-validator": "2.0.1" + }, + "dependencies": { + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", + "optional": true + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "optional": true + } + } + }, "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", @@ -5302,20 +5485,17 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", - "dev": true + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { "version": "3.3.2", @@ -5354,7 +5534,6 @@ "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -5416,6 +5595,16 @@ "invert-kv": "1.0.0" } }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "optional": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, "load-json-file": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", @@ -5849,14 +6038,12 @@ "mime-db": { "version": "1.30.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", - "dev": true + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" }, "mime-types": { "version": "2.1.17", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, "requires": { "mime-db": "1.30.0" } @@ -5956,6 +6143,47 @@ "minimist": "0.0.8" } }, + "mocha": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.0.tgz", + "integrity": "sha512-ukB2dF+u4aeJjc6IGtPNnJXfeby5d4ZqySlIBT0OEyva/DrMjVm5HkQxKnHDLKEfEQBsEnwTg9HHhtPHJdTd8w==", + "dev": true, + "requires": { + "browser-stdout": "1.3.0", + "commander": "2.11.0", + "debug": "3.1.0", + "diff": "3.3.1", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.3", + "he": "1.1.1", + "mkdirp": "0.5.1", + "supports-color": "4.4.0" + }, + "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "supports-color": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", + "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + } + } + }, "moment": { "version": "2.20.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", @@ -6576,11 +6804,16 @@ "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=" }, + "nwmatcher": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", + "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", + "optional": true + }, "oauth-sign": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" }, "object-assign": { "version": "4.1.1", @@ -6730,6 +6963,28 @@ "is-wsl": "1.1.0" } }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "optional": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + }, + "dependencies": { + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "optional": true + } + } + }, "original": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", @@ -6978,6 +7233,12 @@ } } }, + "pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true + }, "pause-stream": { "version": "0.0.11", "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", @@ -7712,6 +7973,11 @@ "uniqs": "2.0.0" } }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", @@ -7826,8 +8092,7 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "q": { "version": "1.5.1", @@ -7838,8 +8103,7 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", - "dev": true + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" }, "query-string": { "version": "4.3.4", @@ -8253,7 +8517,6 @@ "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -8514,7 +8777,6 @@ "version": "2.83.0", "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", - "dev": true, "requires": { "aws-sign2": "0.7.0", "aws4": "1.6.0", @@ -8543,8 +8805,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" } } }, @@ -9119,7 +9380,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "dev": true, "requires": { "hoek": "4.2.0" } @@ -9191,8 +9451,7 @@ "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" }, "source-map-resolve": { "version": "0.5.1", @@ -9396,7 +9655,6 @@ "version": "1.13.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, "requires": { "asn1": "0.2.3", "assert-plus": "1.0.0", @@ -9686,14 +9944,12 @@ "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 + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" }, "strip-ansi": { "version": "3.0.1", @@ -9792,6 +10048,12 @@ "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==", "dev": true }, + "symbol-tree": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", + "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", + "optional": true + }, "tapable": { "version": "0.2.8", "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", @@ -10004,11 +10266,16 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "dev": true, "requires": { "punycode": "1.4.1" } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", + "optional": true + }, "trim-newlines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", @@ -10064,7 +10331,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -10073,9 +10339,22 @@ "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 }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-detect": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.7.tgz", + "integrity": "sha512-4Rh17pAMVdMWzktddFhISRnUnFIStObtUMNGzDwlA6w/77bmGv3aBbRdCmQR6IjzfkTo9otnW+2K/cDRhKSxDA==", + "dev": true + }, "type-is": { "version": "1.6.15", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", @@ -10507,8 +10786,7 @@ "uuid": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" }, "validate-npm-package-license": { "version": "3.0.1", @@ -10541,7 +10819,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "1.0.0", "core-util-is": "1.0.2", @@ -10585,6 +10862,12 @@ "minimalistic-assert": "1.0.0" } }, + "webidl-conversions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", + "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", + "optional": true + }, "webpack": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", @@ -11195,6 +11478,15 @@ "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" }, + "whatwg-url-compat": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", + "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", + "optional": true, + "requires": { + "tr46": "0.0.3" + } + }, "whet.extend": { "version": "0.9.9", "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", @@ -11312,6 +11604,12 @@ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", + "optional": true + }, "xmlbuilder": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", diff --git a/package.json b/package.json index 23bb433559..de550cb34b 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "electron": "electron .", "watch": "webpack-dev-server --inline --progress --env=dev", "build:dist": "webpack --progress --colors --env=prod", - "test": "echo \"Error: no test specified\" && exit 1", + "test": "mocha --require babel-register", "pack": "electron-builder --dir --em.main=main.prod.js", "dist": "electron-builder --em.main=main.prod.js", "build:linux": "electron-builder --em.main=main.prod.js --linux", @@ -32,6 +32,7 @@ }, "homepage": "https://github.com/nukeop/nuclear#readme", "dependencies": { + "billboard-top-100": "^2.0.8", "electron-platform": "^1.2.0", "font-awesome": "^4.7.0", "lowdb": "^1.0.0", @@ -52,6 +53,8 @@ "babel-preset-env": "^1.6.1", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", + "babel-register": "^6.26.0", + "chai": "^4.1.2", "classnames": "^2.2.5", "css-loader": "^0.28.9", "electron": "^1.7.10", @@ -62,6 +65,7 @@ "google-fonts-webpack-plugin": "^0.4.4", "happypack": "^4.0.0", "lodash": "^4.17.4", + "mocha": "^5.0.0", "node-sass": "^4.7.2", "nodebrainz": "^2.1.1", "npm-run-all": "^4.1.2", diff --git a/test/test.js b/test/test.js new file mode 100644 index 0000000000..3e27fc2062 --- /dev/null +++ b/test/test.js @@ -0,0 +1,22 @@ +import assert from 'assert'; +import { expect } from 'chai'; + +var billboard = require('../app/rest/Billboard'); + +describe('Billboard api tests', () => { + it('tests exports', () => { + expect(billboard).to.be.an('object'); + expect(billboard).to.have.property('getTop'); + expect(billboard).to.have.property('lists'); + }); + + it('gets a pop songs list', () => { + billboard.getTop(billboard.lists.genres[0].link) + .then(songs => { + expect(songs).to.be.an('array').that.has.lengthOf(40); + }) + .catch(err => { + console.error(err); + }); + }); +}); From 29d6d4ec96eb2ddaee9961ab401bddf8193337c1 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 22 Jan 2018 15:02:23 +0100 Subject: [PATCH 008/487] tag-related last.fm functions --- app/rest/Billboard.js | 3 ++- app/rest/Lastfm.js | 19 ++++++++++++++++++- package.json | 1 + test/test.js | 42 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+), 2 deletions(-) diff --git a/app/rest/Billboard.js b/app/rest/Billboard.js index a5aa7255f2..017c21c6cc 100644 --- a/app/rest/Billboard.js +++ b/app/rest/Billboard.js @@ -13,7 +13,8 @@ export var lists = { { name: 'Adult Top 40', link: 'adult-pop-songs' - } + }, + ] }; diff --git a/app/rest/Lastfm.js b/app/rest/Lastfm.js index b944d6a1b0..832c209026 100644 --- a/app/rest/Lastfm.js +++ b/app/rest/Lastfm.js @@ -77,11 +77,28 @@ function getArtistTopTracks(artist) { )); } +function getTopTags() { + return fetch (addApiKey( + scrobblingApiUrl + + '?method=tag.getTopTags&format=json' + )); +} + +function getTopTagTracks(tag) { + return fetch (addApiKey( + scrobblingApiUrl + + '?method=tag.getTopTracks&format=json&tag=' + + tag + )); +} + module.exports = { lastFmLoginConnect, lastFmLogin, scrobble, updateNowPlaying, getArtistInfo, - getArtistTopTracks + getArtistTopTracks, + getTopTags, + getTopTagTracks }; diff --git a/package.json b/package.json index de550cb34b..1b0f6c3f8e 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,7 @@ "file-loader": "^1.1.6", "google-fonts-webpack-plugin": "^0.4.4", "happypack": "^4.0.0", + "isomorphic-fetch": "^2.2.1", "lodash": "^4.17.4", "mocha": "^5.0.0", "node-sass": "^4.7.2", diff --git a/test/test.js b/test/test.js index 3e27fc2062..8dab754472 100644 --- a/test/test.js +++ b/test/test.js @@ -1,7 +1,9 @@ +require('isomorphic-fetch'); import assert from 'assert'; import { expect } from 'chai'; var billboard = require('../app/rest/Billboard'); +var lastfm = require('../app/rest/Lastfm'); describe('Billboard api tests', () => { it('tests exports', () => { @@ -20,3 +22,43 @@ describe('Billboard api tests', () => { }); }); }); + +describe('Last.fm api tests', () => { + it('tests exports', () => { + expect(lastfm).to.be.an('object'); + }); + + it('tests getting top tags', () => { + lastfm.getTopTags() + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('toptags.tag'); + var sample = results.toptags.tag[0]; + expect(sample).to.be.an('object').that.has.all.keys('name', 'count', 'reach'); + }); + }); + + it('tests getting a tag\'s top tracks', () => { + lastfm.getTopTagTracks('indie') + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('tracks.track'); + var sample = results.tracks.track[0]; + expect(sample).to.be.an('object').that.has.all.keys( + 'name', + 'artist', + 'duration', + 'streamable', + 'mbid', + 'url', + 'image', + '@attr' + ); + }) + .catch(err => { + console.error(err); + }); + }); + + +}); From 2480b6fa0c3dd856e2a0b930cb0183eb0db164d3 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 22 Jan 2018 16:42:44 +0100 Subject: [PATCH 009/487] Downloadtop tags from last fm and show them on dashboard --- app/actions/dashboard.js | 42 +++++++++++++++++++ .../Dashboard/BestNewMusicTab/index.js | 2 +- app/components/Dashboard/GenresTab/index.js | 30 +++++++++++++ .../Dashboard/GenresTab/styles.scss | 0 app/components/Dashboard/index.js | 4 +- app/containers/DashboardContainer/index.js | 1 + app/reducers/dashboard.js | 10 ++++- 7 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 app/components/Dashboard/GenresTab/index.js create mode 100644 app/components/Dashboard/GenresTab/styles.scss diff --git a/app/actions/dashboard.js b/app/actions/dashboard.js index aed73909bd..c16434f96a 100644 --- a/app/actions/dashboard.js +++ b/app/actions/dashboard.js @@ -3,6 +3,10 @@ import { getBestNewTracks } from 'pitchfork-bnm'; +import { + getTopTags +} from '../rest/Lastfm'; + import { getNewsIndex, getNewsItem @@ -20,6 +24,44 @@ export const LOAD_NUCLEAR_NEWS_START = 'LOAD_NUCLEAR_NEWS_START'; export const LOAD_NUCLEAR_NEWS_SUCCESS = 'LOAD_NUCLEAR_NEWS_SUCCESS'; export const LOAD_NUCLEAR_NEWS_ERROR = 'LOAD_NUCLEAR_NEWS_ERROR'; +export const LOAD_TOP_TAGS_START = 'LOAD_TOP_TAGS_START'; +export const LOAD_TOP_TAGS_SUCCESS = 'LOAD_TOP_TAGS_SUCCESS'; +export const LOAD_TOP_TAGS_ERROR = 'LOAD_TOP_TAGS_ERROR'; + +export function loadTopTagsStart() { + return { + type: LOAD_TOP_TAGS_START + }; +} + +export function loadTopTagsSuccess(tags) { + return { + type: LOAD_TOP_TAGS_SUCCESS, + payload: tags + }; +} + +export function loadTopTagsError() { + return { + type: LOAD_TOP_TAGS_ERROR + }; +} + +export function loadTopTags() { + return dispatch => { + dispatch(loadTopTagsStart()); + getTopTags() + .then(response => response.json()) + .then(results => { + dispatch(loadTopTagsSuccess(results.toptags.tag)); + }) + .catch(error => { + dispatch(loadTopTagsError(error)); + console.error(error); + }); + }; +} + export function loadBestNewAlbumsStart() { return { type: LOAD_BEST_NEW_ALBUMS_START diff --git a/app/components/Dashboard/BestNewMusicTab/index.js b/app/components/Dashboard/BestNewMusicTab/index.js index 868aa10ea6..899aa2460a 100644 --- a/app/components/Dashboard/BestNewMusicTab/index.js +++ b/app/components/Dashboard/BestNewMusicTab/index.js @@ -27,7 +27,7 @@ class BestNewMusicTab extends React.Component { -

+

Best new tracks

diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js new file mode 100644 index 0000000000..82aa705b61 --- /dev/null +++ b/app/components/Dashboard/GenresTab/index.js @@ -0,0 +1,30 @@ +import React from 'react'; + +import styles from './styles.scss'; + +class GenresTab extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + genres + } = this.props; + return ( +
+ { + genres.map((tag, i) => { + return ( +
+ {tag.name} +
+ ); + }) + } +
+ ); + } +} + +export default GenresTab; diff --git a/app/components/Dashboard/GenresTab/styles.scss b/app/components/Dashboard/GenresTab/styles.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/components/Dashboard/index.js b/app/components/Dashboard/index.js index 5ac11a9d3b..0a9e2f5cb4 100644 --- a/app/components/Dashboard/index.js +++ b/app/components/Dashboard/index.js @@ -2,6 +2,7 @@ import React from 'react'; import { Tab } from 'semantic-ui-react'; import BestNewMusicTab from './BestNewMusicTab'; +import GenresTab from './GenresTab'; import NewsTab from './NewsTab'; class Dashboard extends React.Component { @@ -17,7 +18,7 @@ class Dashboard extends React.Component { }, { menuItem: 'Genres', - render: () => { return null; } + render: () => }, { menuItem: 'Events', @@ -34,6 +35,7 @@ class Dashboard extends React.Component { this.props.loadBestNewTracks(); this.props.loadBestNewAlbums(); this.props.loadNuclearNews(); + this.props.loadTopTags(); } render() { diff --git a/app/containers/DashboardContainer/index.js b/app/containers/DashboardContainer/index.js index 73a3e61d0d..1802bf03f2 100644 --- a/app/containers/DashboardContainer/index.js +++ b/app/containers/DashboardContainer/index.js @@ -12,6 +12,7 @@ class DashboardContainer extends React.Component { loadBestNewAlbums={this.props.actions.loadBestNewAlbums} loadBestNewTracks={this.props.actions.loadBestNewTracks} loadNuclearNews={this.props.actions.loadNuclearNews} + loadTopTags={this.props.actions.loadTopTags} dashboardData={this.props.dashboard} /> ); diff --git a/app/reducers/dashboard.js b/app/reducers/dashboard.js index 2bdb3462f8..7d6030c732 100644 --- a/app/reducers/dashboard.js +++ b/app/reducers/dashboard.js @@ -9,7 +9,11 @@ import { LOAD_NUCLEAR_NEWS_START, LOAD_NUCLEAR_NEWS_SUCCESS, - LOAD_NUCLEAR_NEWS_ERROR + LOAD_NUCLEAR_NEWS_ERROR, + + LOAD_TOP_TAGS_START, + LOAD_TOP_TAGS_SUCCESS, + LOAD_TOP_TAGS_ERROR } from '../actions/dashboard'; const initialState = { @@ -31,6 +35,10 @@ export default function DashboardReducer(state=initialState, action) { return Object.assign({}, state, { news: action.payload }); + case LOAD_TOP_TAGS_SUCCESS: + return Object.assign({}, state, { + topTags: action.payload + }); default: return state; } From d981d5d99bcc0805696255633a63230ef3e3d7f8 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 22 Jan 2018 23:44:32 +0100 Subject: [PATCH 010/487] Improve genre items using Unsplash images --- app/components/Dashboard/GenresTab/index.js | 30 +++++++++----- .../Dashboard/GenresTab/styles.scss | 39 +++++++++++++++++++ 2 files changed, 60 insertions(+), 9 deletions(-) diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js index 82aa705b61..a0dec39400 100644 --- a/app/components/Dashboard/GenresTab/index.js +++ b/app/components/Dashboard/GenresTab/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import {Tab} from 'semantic-ui-react'; import styles from './styles.scss'; @@ -12,17 +13,28 @@ class GenresTab extends React.Component { genres } = this.props; return ( -
- { - genres.map((tag, i) => { - return ( -
- {tag.name} -
- ); - }) + +
+ { + genres !== undefined + ? genres.slice(0, 8).map((tag, i) => { + return ( +
+
+
+
+ {tag.name} +
+
+ ); + }) + : null }
+
); } } diff --git a/app/components/Dashboard/GenresTab/styles.scss b/app/components/Dashboard/GenresTab/styles.scss index e69de29bb2..51e6477e0a 100644 --- a/app/components/Dashboard/GenresTab/styles.scss +++ b/app/components/Dashboard/GenresTab/styles.scss @@ -0,0 +1,39 @@ +.genre_tab_container { + display: flex; + flex-flow: row wrap; + + .genre_container { + position: relative; + display: flex; + flex-flow: row; + justify-content: center; + align-items: center; + width: 25%; + height: 0; + padding-bottom: 25%; + } + + .genre_bg, + .genre_name{ + position: absolute; + top: 1rem; + bottom: 1rem; + left: 1rem; + right: 1rem; + border-radius: 0.25rem; + } + + .genre_bg { + background-image: url(https://source.unsplash.com/random/512x512); + } + + .genre_name { + display: flex; + justify-content: center; + align-items: center; + font-size: 1.5rem; + letter-spacing: 4px; + text-transform: uppercase; + text-align: center; + } +} From 543af3250a8d3e252c50060d594d9a82bb281d72 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 23 Jan 2018 00:45:57 +0100 Subject: [PATCH 011/487] Get random bg images using lorem picsum --- app/components/Dashboard/GenresTab/index.js | 12 ++++++++-- .../Dashboard/GenresTab/styles.scss | 23 ++++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js index a0dec39400..cabd27b9a9 100644 --- a/app/components/Dashboard/GenresTab/index.js +++ b/app/components/Dashboard/GenresTab/index.js @@ -12,18 +12,26 @@ class GenresTab extends React.Component { let { genres } = this.props; + return (
{ genres !== undefined - ? genres.slice(0, 8).map((tag, i) => { + ? genres.slice(0, 20).map((tag, i) => { return (
-
+ +
+
+
{tag.name} diff --git a/app/components/Dashboard/GenresTab/styles.scss b/app/components/Dashboard/GenresTab/styles.scss index 51e6477e0a..d6f14a9f13 100644 --- a/app/components/Dashboard/GenresTab/styles.scss +++ b/app/components/Dashboard/GenresTab/styles.scss @@ -1,3 +1,5 @@ +@import '../../../vars'; + .genre_tab_container { display: flex; flex-flow: row wrap; @@ -11,10 +13,11 @@ width: 25%; height: 0; padding-bottom: 25%; + border-radius: 0.25rem; } - .genre_bg, - .genre_name{ + .genre_name, + .genre_overlay { position: absolute; top: 1rem; bottom: 1rem; @@ -23,15 +26,29 @@ border-radius: 0.25rem; } + .genre_overlay { + overflow: hidden; + background-color: $black; + } + .genre_bg { + position: relative; + width: 100%; + height: 100%; background-image: url(https://source.unsplash.com/random/512x512); + background-size: contain; + background-position: center; + opacity: 0.75; + filter: blur(10px); } + + .genre_name { display: flex; justify-content: center; align-items: center; - font-size: 1.5rem; + font-size: 100%; letter-spacing: 4px; text-transform: uppercase; text-align: center; From be08963700ec6244ee3df856a4abf169404208f2 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 23 Jan 2018 01:04:10 +0100 Subject: [PATCH 012/487] Scale genre cards to resolution --- app/components/Dashboard/GenresTab/index.js | 4 +-- .../Dashboard/GenresTab/styles.scss | 33 ++++++++++++++++--- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js index cabd27b9a9..b4028b956f 100644 --- a/app/components/Dashboard/GenresTab/index.js +++ b/app/components/Dashboard/GenresTab/index.js @@ -18,7 +18,7 @@ class GenresTab extends React.Component {
{ genres !== undefined - ? genres.slice(0, 20).map((tag, i) => { + ? genres.map((tag, i) => { return (
diff --git a/app/components/Dashboard/GenresTab/styles.scss b/app/components/Dashboard/GenresTab/styles.scss index d6f14a9f13..8eb5f2ae9b 100644 --- a/app/components/Dashboard/GenresTab/styles.scss +++ b/app/components/Dashboard/GenresTab/styles.scss @@ -14,6 +14,11 @@ height: 0; padding-bottom: 25%; border-radius: 0.25rem; + transition: 0.25s; + + &:hover { + transform: scale(1.1); + } } .genre_name, @@ -38,19 +43,37 @@ background-image: url(https://source.unsplash.com/random/512x512); background-size: contain; background-position: center; - opacity: 0.75; - filter: blur(10px); + opacity: 0.65; } - - .genre_name { display: flex; justify-content: center; align-items: center; - font-size: 100%; + font-size: 1rem; letter-spacing: 4px; text-transform: uppercase; text-align: center; } + + @media screen and (max-width: 1366px) { + .genre_container { + width: 33.33%; + padding-bottom: 33.33%; + } + } + + @media screen and (max-width: 1180px) { + .genre_container { + width: 50%; + padding-bottom: 50%; + } + } + + @media screen and (max-width: 1050px) { + .genre_container { + width: 100%; + padding-bottom: 100%; + } + } } From b52869191707104b981b3588142aa04856ac586d Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 23 Jan 2018 08:41:38 +0100 Subject: [PATCH 013/487] Update packages --- package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 1b0f6c3f8e..48d9e59f31 100644 --- a/package.json +++ b/package.json @@ -43,9 +43,9 @@ "react": "^16.2.0", "react-dom": "^16.2.0", "react-router-transition": "^1.2.0", - "react-sound": "^0.10.0", + "react-sound": "^1.1.0", "semantic-ui-react": "^0.77.2", - "ytdl-core": "^0.18.7" + "ytdl-core": "^0.19.0" }, "devDependencies": { "babel-core": "^6.26.0", @@ -57,13 +57,13 @@ "chai": "^4.1.2", "classnames": "^2.2.5", "css-loader": "^0.28.9", - "electron": "^1.7.10", + "electron": "^1.7.11", "electron-builder": "^19.54.0", "electron-devtools-installer": "^2.2.3", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "google-fonts-webpack-plugin": "^0.4.4", - "happypack": "^4.0.0", + "happypack": "^4.0.1", "isomorphic-fetch": "^2.2.1", "lodash": "^4.17.4", "mocha": "^5.0.0", @@ -83,7 +83,7 @@ "sass-loader": "^6.0.6", "style-loader": "^0.19.1", "webpack": "^3.10.0", - "webpack-dev-server": "^2.11.0" + "webpack-dev-server": "^2.11.1" }, "optionalDependencies": { "dbus": "^1.0.2", From 2ea3e004c1f3ff35a386828e7836ca432fa22a09 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 23 Jan 2018 10:29:44 +0100 Subject: [PATCH 014/487] Last.fm tag-related functions and tests --- .../BestNewListActiveItem/styles.scss | 1 + app/rest/Lastfm.js | 57 ++++++++------ package-lock.json | 76 ++++++------------- test/test.js | 60 ++++++++++++++- 4 files changed, 117 insertions(+), 77 deletions(-) diff --git a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss index 081271be99..0cef8d710d 100644 --- a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss +++ b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss @@ -10,6 +10,7 @@ width: 25%; height: 0; padding-bottom: 25%; + margin-bottom: 25%; } .item_thumbnail { diff --git a/app/rest/Lastfm.js b/app/rest/Lastfm.js index 832c209026..171d8d0119 100644 --- a/app/rest/Lastfm.js +++ b/app/rest/Lastfm.js @@ -19,15 +19,15 @@ function addApiKey(url) { return `${url}&api_key=${globals.lastfmApiKey}`; } -function lastFmLoginConnect() { +export function lastFmLoginConnect() { return fetch(prepareUrl(scrobblingApiUrl + '?method=auth.getToken&format=json')); } -function lastFmLogin(authToken) { +export function lastFmLogin(authToken) { return fetch(prepareUrl(scrobblingApiUrl + '?method=auth.getSession&token=' + authToken)+'&format=json'); } -function scrobble(artist, track, session) { +export function scrobble(artist, track, session) { return fetch(prepareUrl( scrobblingApiUrl + '?method=track.scrobble&sk=' + @@ -44,7 +44,7 @@ function scrobble(artist, track, session) { ); } -function updateNowPlaying(artist, track, session) { +export function updateNowPlaying(artist, track, session) { return fetch(prepareUrl( scrobblingApiUrl + '?method=track.updateNowPlaying&sk=' + @@ -59,8 +59,8 @@ function updateNowPlaying(artist, track, session) { ); } -function getArtistInfo(artist) { - return fetch (addApiKey( +export function getArtistInfo(artist) { + return fetch(addApiKey( scrobblingApiUrl + '?method=artist.getinfo&artist=' + encodeURIComponent(artist) + @@ -68,8 +68,8 @@ function getArtistInfo(artist) { )); } -function getArtistTopTracks(artist) { - return fetch (addApiKey( +export function getArtistTopTracks(artist) { + return fetch(addApiKey( scrobblingApiUrl + '?method=artist.gettoptracks&artist=' + encodeURIComponent(artist) + @@ -77,28 +77,41 @@ function getArtistTopTracks(artist) { )); } -function getTopTags() { - return fetch (addApiKey( +export function getTopTags() { + return fetch(addApiKey( scrobblingApiUrl + '?method=tag.getTopTags&format=json' )); } -function getTopTagTracks(tag) { - return fetch (addApiKey( +export function getTagInfo(tag) { + return fetch(addApiKey( + scrobblingApiUrl + + '?method=tag.getInfo&format=json&tag=' + + tag + )); +} + +export function getTagTracks(tag) { + return fetch(addApiKey( scrobblingApiUrl + '?method=tag.getTopTracks&format=json&tag=' + tag )); } -module.exports = { - lastFmLoginConnect, - lastFmLogin, - scrobble, - updateNowPlaying, - getArtistInfo, - getArtistTopTracks, - getTopTags, - getTopTagTracks -}; +export function getTagAlbums(tag) { + return fetch(addApiKey( + scrobblingApiUrl + + '?method=tag.getTopAlbums&format=json&tag=' + + tag + )); +} + +export function getTagArtists(tag) { + return fetch(addApiKey( + scrobblingApiUrl + + '?method=tag.getTopArtists&format=json&tag=' + + tag + )); +} diff --git a/package-lock.json b/package-lock.json index e160441520..7412cb3955 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3040,9 +3040,9 @@ "dev": true }, "electron": { - "version": "1.7.10", - "resolved": "https://registry.npmjs.org/electron/-/electron-1.7.10.tgz", - "integrity": "sha1-Oj6D2WX9f6/kc76N349HJWG2JT0=", + "version": "1.7.11", + "resolved": "https://registry.npmjs.org/electron/-/electron-1.7.11.tgz", + "integrity": "sha1-mTtqp54OeafPzDafTIE/vZoLCNk=", "dev": true, "requires": { "@types/node": "7.0.52", @@ -3407,9 +3407,9 @@ "dev": true }, "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true }, "encoding": { @@ -3751,7 +3751,7 @@ "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "1.1.2", - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", "finalhandler": "1.1.0", @@ -3975,7 +3975,7 @@ "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "on-finished": "2.3.0", "parseurl": "1.3.2", @@ -4411,9 +4411,9 @@ "dev": true }, "happypack": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/happypack/-/happypack-4.0.0.tgz", - "integrity": "sha1-3hdw1HLasz4/MXgqPttOd8xlhjE=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/happypack/-/happypack-4.0.1.tgz", + "integrity": "sha1-1xplINE8Hd9sxcoEDP4icRy6Ugk=", "dev": true, "requires": { "async": "1.5.0", @@ -8404,27 +8404,12 @@ } }, "react-sound": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/react-sound/-/react-sound-0.10.0.tgz", - "integrity": "sha512-Urxh8n0I42IFK5UOJLmtXuahnM2iD1TmggD8Droy4lPjApFB/spfmv6BArKtD8RbMBH1bGauhkXcSqfmQLbIqQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-sound/-/react-sound-1.1.0.tgz", + "integrity": "sha512-ZySUXb4SxLrqnF5O3DUa/MOcfXUhCQXRDe+z+sjEE7LzeezMDog1mxuXbq49POOz2Lbjie4lCr14fVsPyTrUmQ==", "requires": { "prop-types": "15.6.0", - "react": "15.6.2", "soundmanager2": "2.97.20170602" - }, - "dependencies": { - "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", - "requires": { - "create-react-class": "15.6.2", - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - } } }, "react-stand-in": { @@ -9059,7 +9044,7 @@ "debug": "2.6.9", "depd": "1.1.2", "destroy": "1.0.4", - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", "fresh": "0.5.2", @@ -9126,7 +9111,7 @@ "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", "dev": true, "requires": { - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "parseurl": "1.3.2", "send": "0.16.1" @@ -11058,9 +11043,9 @@ } }, "webpack-dev-server": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.0.tgz", - "integrity": "sha512-lXzc36DGjKUVinETNmDWhfZFRbHMhatuF+lKex+czqY+JVe0Qf2V+Ig6/svDdbt/DmXFXuLQmSqhncYCqYf3qA==", + "version": "2.11.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.1.tgz", + "integrity": "sha512-ombhu5KsO/85sVshIDTyQ5HF3xjZR3N0sf5Ao6h3vFwpNyzInEzA1GV3QPVjTMLTNckp8PjfG1PFGznzBwS5lg==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -11086,18 +11071,12 @@ "sockjs": "0.3.19", "sockjs-client": "1.1.4", "spdy": "3.4.7", - "strip-ansi": "4.0.0", + "strip-ansi": "3.0.1", "supports-color": "5.1.0", "webpack-dev-middleware": "1.12.2", "yargs": "6.6.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -11383,15 +11362,6 @@ "lcid": "1.0.0" } }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, "supports-color": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", @@ -11734,9 +11704,9 @@ } }, "ytdl-core": { - "version": "0.18.7", - "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.18.7.tgz", - "integrity": "sha512-ZAopedHbn8YQzXAanz1EvD20JLs5+E/BTADOmPPwtLR8QP9ipMi3Iamcs5lhf5FztCNcjtasPIMyxslZZc3szQ==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.19.0.tgz", + "integrity": "sha512-q3jxskmqMiBZuV5Icl9yB+w9w7sJzvMuthuAcifnqB3oeQWwyUOGKsDrRMYRKZZxEpacG9EReF+e6tVLyRULIw==", "requires": { "html-entities": "1.2.1", "m3u8stream": "0.2.1", diff --git a/test/test.js b/test/test.js index 8dab754472..1c32538e71 100644 --- a/test/test.js +++ b/test/test.js @@ -38,8 +38,25 @@ describe('Last.fm api tests', () => { }); }); - it('tests getting a tag\'s top tracks', () => { - lastfm.getTopTagTracks('indie') + it('tests getting tag info', () => { + lastfm.getTagInfo('indie') + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.property('tag'); + expect(results.tag).to.be.an('object').that.has.all.keys( + 'name', + 'total', + 'reach', + 'wiki' + ); + }) + .catch(err => { + console.error(err); + }); + }); + + it('tests getting top tag tracks', () => { + lastfm.getTagTracks('indie') .then(response => response.json()) .then(results => { expect(results).to.be.an('object').that.has.nested.property('tracks.track'); @@ -60,5 +77,44 @@ describe('Last.fm api tests', () => { }); }); + it('tests getting top tag albums', () => { + lastfm.getTagAlbums('indie') + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('albums.album'); + var sample = results.albums.album[0]; + expect(sample).to.be.an('object').that.has.all.keys( + 'name', + 'mbid', + 'url', + 'artist', + 'image', + '@attr' + ); + }) + .catch(err => { + console.error(err); + }); + }); + it('tests getting top tag artists', () => { + lastfm.getTagArtists('indie') + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('topartists.artist'); + var sample = results.topartists.artist[0]; + expect(sample).to.be.an('object').that.has.all.keys( + 'name', + 'mbid', + 'url', + 'streamable', + 'image', + '@attr' + ); + }) + .catch(err => { + console.error(err); + }); + }); + }); From c21ccd7f8f2c9ae72649dedd12dc2abf3526d7d7 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 23 Jan 2018 12:06:37 +0100 Subject: [PATCH 015/487] Tag data flow and view --- app/actions/index.js | 26 +++++----- app/actions/tag.js | 50 +++++++++++++++++++ app/components/AlbumList/index.js | 44 ++++++++-------- app/components/Dashboard/GenresTab/index.js | 45 +++++++++-------- app/components/Dashboard/index.js | 5 +- app/components/TagView/index.js | 29 +++++++++++ app/components/TagView/styles.scss | 0 app/containers/ArtistViewContainer/index.js | 4 +- app/containers/DashboardContainer/index.js | 1 + app/containers/MainContentContainer/index.js | 2 + .../SearchResultsContainer/index.js | 2 +- app/containers/TagViewContainer/index.js | 42 ++++++++++++++++ app/reducers/index.js | 4 +- app/reducers/tag.js | 28 +++++++++++ 14 files changed, 222 insertions(+), 60 deletions(-) create mode 100644 app/actions/tag.js create mode 100644 app/components/TagView/index.js create mode 100644 app/components/TagView/styles.scss create mode 100644 app/containers/TagViewContainer/index.js create mode 100644 app/reducers/tag.js diff --git a/app/actions/index.js b/app/actions/index.js index bb728c8a1a..372fa81b86 100644 --- a/app/actions/index.js +++ b/app/actions/index.js @@ -31,14 +31,14 @@ export function sourcesSearch(terms, plugins) { return { type: SOURCES_SEARCH - } + }; } export function unifiedSearchStart() { return { type: UNIFIED_SEARCH_START, payload: true - } + }; } export function unifiedSearchSuccess() { @@ -58,7 +58,7 @@ export function albumSearch(terms) { payload: searchResultsJson.results }); }); - } + }; } export function artistSearch(terms) { @@ -71,7 +71,7 @@ export function artistSearch(terms) { payload: searchResultsJson.results }); }); - } + }; } export function unifiedSearch(terms) { @@ -90,7 +90,7 @@ export function albumInfoStart(albumId) { return { type: ALBUM_INFO_SEARCH_START, payload: albumId - } + }; } export function albumInfoSuccess(albumId, info) { @@ -100,7 +100,7 @@ export function albumInfoSuccess(albumId, info) { id: albumId, info: info } - } + }; } export function albumInfoSearch(albumId) { @@ -118,7 +118,7 @@ export function artistInfoStart(artistId) { return { type: ARTIST_INFO_SEARCH_START, payload: artistId - } + }; } export function artistInfoSuccess(artistId, info) { @@ -128,7 +128,7 @@ export function artistInfoSuccess(artistId, info) { id: artistId, info: info } - } + }; } export function artistInfoSearch(artistId) { @@ -147,7 +147,7 @@ export function artistReleasesStart(artistId) { return { type: ARTIST_RELEASES_SEARCH_START, payload: artistId - } + }; } export function artistReleasesSuccess(artistId, releases) { @@ -157,7 +157,7 @@ export function artistReleasesSuccess(artistId, releases) { id: artistId, releases: releases } - } + }; } export function artistReleasesSearch(artistId) { @@ -184,14 +184,14 @@ export function artistInfoSearchByName(artistName, history) { dispatch(artistInfoSearch(artist.id)); }); - } + }; } export function lastFmArtistInfoStart(artistId) { return { type: LASTFM_ARTIST_INFO_SEARCH_START, payload: artistId - } + }; } export function lastFmArtistInfoSuccess(artistId, info) { @@ -201,7 +201,7 @@ export function lastFmArtistInfoSuccess(artistId, info) { id: artistId, info: info } - } + }; } export function lastFmArtistInfoSearch(artist, artistId) { diff --git a/app/actions/tag.js b/app/actions/tag.js new file mode 100644 index 0000000000..73df6c16bd --- /dev/null +++ b/app/actions/tag.js @@ -0,0 +1,50 @@ +const lastfm = require('../rest/Lastfm'); + +export const LOAD_TAG_INFO_START = 'LOAD_TAG_INFO_START'; +export const LOAD_TAG_INFO_SUCCESS = 'LOAD_TAG_INFO_SUCCESS'; +export const LOAD_TAG_INFO_ERROR = 'LOAD_TAG_INFO_ERROR'; + +export function loadTagInfoStart(tag) { + return { + type: LOAD_TAG_INFO_START, + payload: tag + }; +} + +export function loadTagInfoSuccess(tag, data) { + return { + type: LOAD_TAG_INFO_SUCCESS, + payload: { + tag, + data + } + }; +} + +export function loadTagInfoError(tag) { + return { + type: LOAD_TAG_INFO_ERROR, + payload: tag + }; +} + +export function loadTagInfo(tag) { + return dispatch => { + dispatch(loadTagInfoStart(tag)); + + Promise.all([ + lastfm.getTagInfo(tag), + lastfm.getTagTracks(tag), + lastfm.getTagAlbums(tag), + lastfm.getTagArtists(tag) + ]) + .then(results => Promise.all(results.map(r => r.json()))) + .then(results => { + dispatch(loadTagInfoSuccess(tag, results)); + }) + .catch(error => { + console.error(error); + dispatch(loadTagInfoError(error)); + }); + }; +} diff --git a/app/components/AlbumList/index.js b/app/components/AlbumList/index.js index a55fa0d96a..db0755fe98 100644 --- a/app/components/AlbumList/index.js +++ b/app/components/AlbumList/index.js @@ -15,30 +15,30 @@ class AlbumList extends React.Component { } render() { - return ( -
- { - this.props.albums && this.props.albums.length > 0 + return ( +
+ { + this.props.albums && this.props.albums.length > 0 ?
- { - this.props.albums.map((el, i) => { - return this.albumInfoSearch(el.id)} - /> - }) - } -
+ { + this.props.albums.map((el, i) => { + return this.albumInfoSearch(el.id)} + />; + }) + } +
: - - - - - } -
- ); + + + + + } +
+ ); } } diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js index b4028b956f..d03dbf010e 100644 --- a/app/components/Dashboard/GenresTab/index.js +++ b/app/components/Dashboard/GenresTab/index.js @@ -8,6 +8,10 @@ class GenresTab extends React.Component { super(props); } + onGenreClick(genreName) { + this.props.history.push('/tag/' + genreName); + } + render() { let { genres @@ -19,28 +23,29 @@ class GenresTab extends React.Component { { genres !== undefined ? genres.map((tag, i) => { - return ( -
- -
-
+ return ( +
this.onGenreClick(tag.name)} + > + +
+
+
+
+
+ {tag.name}
-
- {tag.name} -
-
- ); - }) - : null - } + ); + }) + : null + }
); diff --git a/app/components/Dashboard/index.js b/app/components/Dashboard/index.js index 0a9e2f5cb4..93f623f0d1 100644 --- a/app/components/Dashboard/index.js +++ b/app/components/Dashboard/index.js @@ -18,7 +18,10 @@ class Dashboard extends React.Component { }, { menuItem: 'Genres', - render: () => + render: () => }, { menuItem: 'Events', diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js new file mode 100644 index 0000000000..0cff756891 --- /dev/null +++ b/app/components/TagView/index.js @@ -0,0 +1,29 @@ +import React from 'react'; + +import styles from './styles.scss'; + +class TagView extends React.Component { + constructor(props) { + super(props); + } + + componentDidMount() { + this.props.loadTagInfo(this.props.tag); + } + + render() { + let { + loadTagInfo, + tag, + tags + } = this.props; + + return ( +
+ {tag} +
+ ); + } +} + +export default TagView; diff --git a/app/components/TagView/styles.scss b/app/components/TagView/styles.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/containers/ArtistViewContainer/index.js b/app/containers/ArtistViewContainer/index.js index 2663bb0254..19fc2ff527 100644 --- a/app/containers/ArtistViewContainer/index.js +++ b/app/containers/ArtistViewContainer/index.js @@ -26,7 +26,7 @@ class ArtistViewContainer extends React.Component { musicSources={this.props.musicSources} history={this.props.history} /> - ) + ); } } @@ -34,7 +34,7 @@ function mapStateToProps(state) { return { artistDetails: state.search.artistDetails, musicSources: state.plugin.plugins.musicSources - } + }; } function mapDispatchToProps(dispatch) { diff --git a/app/containers/DashboardContainer/index.js b/app/containers/DashboardContainer/index.js index 1802bf03f2..318c92e1db 100644 --- a/app/containers/DashboardContainer/index.js +++ b/app/containers/DashboardContainer/index.js @@ -14,6 +14,7 @@ class DashboardContainer extends React.Component { loadNuclearNews={this.props.actions.loadNuclearNews} loadTopTags={this.props.actions.loadTopTags} dashboardData={this.props.dashboard} + history={this.props.history} /> ); } diff --git a/app/containers/MainContentContainer/index.js b/app/containers/MainContentContainer/index.js index d9502ea9a9..2fc85677bb 100644 --- a/app/containers/MainContentContainer/index.js +++ b/app/containers/MainContentContainer/index.js @@ -14,6 +14,7 @@ import PlaylistsContainer from '../PlaylistsContainer'; import PlaylistViewContainer from '../PlaylistViewContainer'; import SearchResultsContainer from '../SearchResultsContainer'; import SettingsContainer from '../SettingsContainer'; +import TagViewContainer from '../TagViewContainer'; import styles from './styles.scss'; @@ -40,6 +41,7 @@ class MainContentContainer extends React.Component { + diff --git a/app/containers/SearchResultsContainer/index.js b/app/containers/SearchResultsContainer/index.js index e1a779ac6a..200826d7eb 100644 --- a/app/containers/SearchResultsContainer/index.js +++ b/app/containers/SearchResultsContainer/index.js @@ -25,7 +25,7 @@ function mapStateToProps(state) { artistSearchResults: state.search.artistSearchResults, albumSearchResults: state.search.albumSearchResults, unifiedSearchStarted: state.search.unifiedSearchStarted - } + }; } function mapDispatchToProps(dispatch) { diff --git a/app/containers/TagViewContainer/index.js b/app/containers/TagViewContainer/index.js new file mode 100644 index 0000000000..a076cd95df --- /dev/null +++ b/app/containers/TagViewContainer/index.js @@ -0,0 +1,42 @@ +import React from 'react'; +import { withRouter } from 'react-router-dom'; +import { connect } from 'react-redux'; +import { bindActionCreators } from 'redux'; +import * as TagActions from '../../actions/tag'; + +import TagView from '../../components/TagView'; + +class TagViewContainer extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + actions, + match, + tags + } = this.props; + return ( + + ); + } +} + +function mapStateToProps(state) { + return { + tags: state.tags + }; +} + +function mapDispatchToProps(dispatch) { + return { + actions: bindActionCreators(Object.assign({}, TagActions), dispatch) + }; +} + +export default connect(mapStateToProps, mapDispatchToProps)(TagViewContainer); diff --git a/app/reducers/index.js b/app/reducers/index.js index 4f70cf9366..b5ed51adea 100644 --- a/app/reducers/index.js +++ b/app/reducers/index.js @@ -7,6 +7,7 @@ import QueueReducer from './queue'; import ScrobblingReducer from './scrobbling'; import SearchReducer from './search'; import DashboardReducer from './dashboard'; +import TagReducer from './tag'; const rootReducer = combineReducers({ search: SearchReducer, @@ -15,7 +16,8 @@ const rootReducer = combineReducers({ player: PlayerReducer, scrobbling: ScrobblingReducer, playlists: PlaylistsReducer, - dashboard: DashboardReducer + dashboard: DashboardReducer, + tags: TagReducer }); export default rootReducer; diff --git a/app/reducers/tag.js b/app/reducers/tag.js new file mode 100644 index 0000000000..7418c3d7e8 --- /dev/null +++ b/app/reducers/tag.js @@ -0,0 +1,28 @@ +import { + LOAD_TAG_INFO_START, + LOAD_TAG_INFO_SUCCESS, + LOAD_TAG_INFO_ERROR +} from '../actions/tag'; + +const initialState = { + +}; + +export default function TagReducer(state=initialState, action) { + switch(action.type) { + case LOAD_TAG_INFO_START: + return Object.assign({}, state, { + [`${action.payload}`]: { loading: true } + }); + case LOAD_TAG_INFO_ERROR: + return Object.assign({}, state, { + [`${action.payload}`]: { error: true } + }); + case LOAD_TAG_INFO_SUCCESS: + return Object.assign({}, state, { + [`${action.payload.tag}`]: action.payload.data + }); + default: + return state; + } +} From 77e34e2b48ef3fa147bd724c1b427609703a5948 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 24 Jan 2018 16:57:00 +0100 Subject: [PATCH 016/487] Tag view page --- .../Dashboard/BestNewMusicTab/index.js | 5 +-- app/components/Dashboard/GenresTab/index.js | 2 +- .../Dashboard/GenresTab/styles.scss | 3 +- app/components/TagView/TagHeader/index.js | 32 +++++++++++++++++ app/components/TagView/TagHeader/styles.scss | 29 +++++++++++++++ app/components/TagView/TagTopArtists/index.js | 21 +++++++++++ .../TagView/TagTopArtists/styles.scss | 3 ++ app/components/TagView/index.js | 36 +++++++++++++++++-- app/components/TagView/styles.scss | 14 ++++++++ 9 files changed, 136 insertions(+), 9 deletions(-) create mode 100644 app/components/TagView/TagHeader/index.js create mode 100644 app/components/TagView/TagHeader/styles.scss create mode 100644 app/components/TagView/TagTopArtists/index.js create mode 100644 app/components/TagView/TagTopArtists/styles.scss diff --git a/app/components/Dashboard/BestNewMusicTab/index.js b/app/components/Dashboard/BestNewMusicTab/index.js index 899aa2460a..7841d440f0 100644 --- a/app/components/Dashboard/BestNewMusicTab/index.js +++ b/app/components/Dashboard/BestNewMusicTab/index.js @@ -23,9 +23,7 @@ class BestNewMusicTab extends React.Component {
- - + />

Best new tracks @@ -36,7 +34,6 @@ class BestNewMusicTab extends React.Component { />

- ); } diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js index d03dbf010e..c517fb9573 100644 --- a/app/components/Dashboard/GenresTab/index.js +++ b/app/components/Dashboard/GenresTab/index.js @@ -33,7 +33,7 @@ class GenresTab extends React.Component {
diff --git a/app/components/Dashboard/GenresTab/styles.scss b/app/components/Dashboard/GenresTab/styles.scss index 8eb5f2ae9b..ecd8538c2e 100644 --- a/app/components/Dashboard/GenresTab/styles.scss +++ b/app/components/Dashboard/GenresTab/styles.scss @@ -40,10 +40,9 @@ position: relative; width: 100%; height: 100%; - background-image: url(https://source.unsplash.com/random/512x512); background-size: contain; background-position: center; - opacity: 0.65; + opacity: 0.60; } .genre_name { diff --git a/app/components/TagView/TagHeader/index.js b/app/components/TagView/TagHeader/index.js new file mode 100644 index 0000000000..0bc65fd1e2 --- /dev/null +++ b/app/components/TagView/TagHeader/index.js @@ -0,0 +1,32 @@ +import React from 'react'; +import _ from 'lodash'; + +import styles from './styles.scss'; + +class TagHeader extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + tag, + tagInfo, + topArtists + } = this.props; + + return ( +
+
+
+ {tag} +
+
+ ); + } +} + +export default TagHeader; diff --git a/app/components/TagView/TagHeader/styles.scss b/app/components/TagView/TagHeader/styles.scss new file mode 100644 index 0000000000..929daec584 --- /dev/null +++ b/app/components/TagView/TagHeader/styles.scss @@ -0,0 +1,29 @@ +.tag_header_container { + position: relative; + display: flex; + flex-flow: column; + height: 25rem; + width: 100%; + + .tag_header_background { + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + background-size: cover; + filter: brightness(40%); + } + + .tag_header_name { + display: flex; + flex-flow: row; + justify-content: flex-start; + align-items: flex-end; + height: 100%; + font-size: 48px; + font-weight: normal; + z-index: 10; + padding: 2rem; + } +} diff --git a/app/components/TagView/TagTopArtists/index.js b/app/components/TagView/TagTopArtists/index.js new file mode 100644 index 0000000000..f4916059b2 --- /dev/null +++ b/app/components/TagView/TagTopArtists/index.js @@ -0,0 +1,21 @@ +import React from 'react'; + +import styles from './styles.scss'; + +class TagTopArtists extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + + } = this.props; + return ( +
+
+ ); + } +} + +export default TagTopArtists; diff --git a/app/components/TagView/TagTopArtists/styles.scss b/app/components/TagView/TagTopArtists/styles.scss new file mode 100644 index 0000000000..afbaf9ef52 --- /dev/null +++ b/app/components/TagView/TagTopArtists/styles.scss @@ -0,0 +1,3 @@ +.tag_top_artists { + +} diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index 0cff756891..8776fa8b48 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -1,5 +1,8 @@ import React from 'react'; +import {Dimmer, Loader} from 'semantic-ui-react'; +import TagHeader from './TagHeader'; +import TagTopArtists from './TagTopArtists'; import styles from './styles.scss'; class TagView extends React.Component { @@ -17,10 +20,39 @@ class TagView extends React.Component { tag, tags } = this.props; + + let tagInfo, topTracks, topAlbums, topArtists; + if (tags[tag] && tags[tag].loading !== true) { + tagInfo = tags[tag][0].tag; + topTracks = tags[tag][1].tracks.track; + topAlbums = tags[tag][2].albums.album; + topArtists = tags[tag][3].topartists.artist; + } return ( -
- {tag} +
+ + + + + + { + tags[tag] === undefined || tags[tag].loading + ? null + : ( +
+ + +
+ ) + } +
); } diff --git a/app/components/TagView/styles.scss b/app/components/TagView/styles.scss index e69de29bb2..d3a83fa53b 100644 --- a/app/components/TagView/styles.scss +++ b/app/components/TagView/styles.scss @@ -0,0 +1,14 @@ +.tag_view_container { + width: 100%; + height: 100%; + + .dimmable { + width: 100%; + height: 100%; + } + + .tag-view { + width: 100%; + height: 100%; + } +} From ca16a28c262a7d38caa8940ac4c5a9d0692f98ee Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Wed, 24 Jan 2018 16:58:56 +0100 Subject: [PATCH 017/487] Create LICENSE --- LICENSE | 661 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 661 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..dbbe355815 --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU AGPL, see +. From b92b50603bacb6f62387c0af3dd663054b68ae0e Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 29 Jan 2018 16:44:19 +0100 Subject: [PATCH 018/487] Tag description and top artists --- .../TagView/TagDescription/index.js | 23 +++++++ .../TagView/TagDescription/styles.scss | 9 +++ app/components/TagView/TagHeader/index.js | 4 +- app/components/TagView/TagHeader/styles.scss | 1 + app/components/TagView/TagTopArtists/index.js | 22 +++++- .../TagView/TagTopArtists/styles.scss | 68 +++++++++++++++++++ app/components/TagView/index.js | 4 ++ 7 files changed, 128 insertions(+), 3 deletions(-) create mode 100644 app/components/TagView/TagDescription/index.js create mode 100644 app/components/TagView/TagDescription/styles.scss diff --git a/app/components/TagView/TagDescription/index.js b/app/components/TagView/TagDescription/index.js new file mode 100644 index 0000000000..dad503b5f5 --- /dev/null +++ b/app/components/TagView/TagDescription/index.js @@ -0,0 +1,23 @@ +import React from 'react'; + +import styles from './styles.scss'; + +class TagDescription extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + tagInfo + } = this.props; + + return ( +
+ {tagInfo.wiki.summary.split('.').slice(0, -5).join('.')+'...'} +
+ ); + } +} + +export default TagDescription; diff --git a/app/components/TagView/TagDescription/styles.scss b/app/components/TagView/TagDescription/styles.scss new file mode 100644 index 0000000000..1d3d4fb55f --- /dev/null +++ b/app/components/TagView/TagDescription/styles.scss @@ -0,0 +1,9 @@ +@import '../../../vars'; + +.tag_description { + display: flex; + padding: 1rem; + margin: 1rem 0; + border-radius: 0.25rem; + background-color: $background2; +} diff --git a/app/components/TagView/TagHeader/index.js b/app/components/TagView/TagHeader/index.js index 0bc65fd1e2..c4c58d770f 100644 --- a/app/components/TagView/TagHeader/index.js +++ b/app/components/TagView/TagHeader/index.js @@ -14,7 +14,7 @@ class TagHeader extends React.Component { tagInfo, topArtists } = this.props; - + console.log(tagInfo); return (
- {tag} + #{tag}
); diff --git a/app/components/TagView/TagHeader/styles.scss b/app/components/TagView/TagHeader/styles.scss index 929daec584..0e6599c662 100644 --- a/app/components/TagView/TagHeader/styles.scss +++ b/app/components/TagView/TagHeader/styles.scss @@ -12,6 +12,7 @@ right: 0; left: 0; background-size: cover; + background-position: center; filter: brightness(40%); } diff --git a/app/components/TagView/TagTopArtists/index.js b/app/components/TagView/TagTopArtists/index.js index f4916059b2..35c7c3a39e 100644 --- a/app/components/TagView/TagTopArtists/index.js +++ b/app/components/TagView/TagTopArtists/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import _ from 'lodash'; import styles from './styles.scss'; @@ -9,10 +10,29 @@ class TagTopArtists extends React.Component { render() { let { - + topArtists } = this.props; + console.log(topArtists) return (
+

Top Artists

+
+
+
+
+
{topArtists[0].name}
+
+
+ +
+ +
+
); } diff --git a/app/components/TagView/TagTopArtists/styles.scss b/app/components/TagView/TagTopArtists/styles.scss index afbaf9ef52..7d7478e318 100644 --- a/app/components/TagView/TagTopArtists/styles.scss +++ b/app/components/TagView/TagTopArtists/styles.scss @@ -1,3 +1,71 @@ +@import '../../../vars'; + .tag_top_artists { + position: relative; + display: flex; + flex-flow: column; + width: 100%; + height: 0; + padding-bottom: 50%; + + h4 { + font-size: 2rem; + } + + .top_artists { + position: relative; + display: flex; + flex-flow: row; + width: 100%; + } + + .top_artist { + position: relative; + width: 50%; + height: 0; + padding-bottom: 50%; + } + + .top_artist_photo { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-size: cover; + background-position: center; + border-radius: 0.25rem 0 0 0.25rem; + } + + .other_artists { + + } + + .artist_overlay { + position: absolute; + display: flex; + flex-flow: row; + justify-content: flex-end; + top: 0; + bottom: 0; + left: 0; + right: 0; + padding: 1rem; + border-radius: 0.25rem 0 0 0.25rem; + background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); + z-index: 10; + } + .artist_name { + position: relative; + display: flex; + flex-flow: row; + justify-content: flex-end; + align-items: flex-end; + width: 100%; + padding: 1rem; + font-size: 3rem; + z-index: 20; + color: $white; + } } diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index 8776fa8b48..7ed858a626 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -1,6 +1,7 @@ import React from 'react'; import {Dimmer, Loader} from 'semantic-ui-react'; +import TagDescription from './TagDescription'; import TagHeader from './TagHeader'; import TagTopArtists from './TagTopArtists'; import styles from './styles.scss'; @@ -46,6 +47,9 @@ class TagView extends React.Component { tagInfo={tagInfo} topArtists={topArtists} /> + From b831f13d7cee7f17df87d88a54b87a935ebde5af Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 29 Jan 2018 22:58:07 +0100 Subject: [PATCH 019/487] Add other top5 artists to tag view --- app/components/TagView/TagTopArtists/index.js | 23 +++++++++++-- .../TagView/TagTopArtists/styles.scss | 33 ++++++++++++++++--- 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/app/components/TagView/TagTopArtists/index.js b/app/components/TagView/TagTopArtists/index.js index 35c7c3a39e..4b5b98b41c 100644 --- a/app/components/TagView/TagTopArtists/index.js +++ b/app/components/TagView/TagTopArtists/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import classnames from 'classnames'; import _ from 'lodash'; import styles from './styles.scss'; @@ -12,7 +13,6 @@ class TagTopArtists extends React.Component { let { topArtists } = this.props; - console.log(topArtists) return (

Top Artists

@@ -30,7 +30,26 @@ class TagTopArtists extends React.Component {
- + { + topArtists.slice(1, 5).map((artist, i) => { + return ( +
+
+
+
{artist.name}
+
+
+ ); + }) + }
diff --git a/app/components/TagView/TagTopArtists/styles.scss b/app/components/TagView/TagTopArtists/styles.scss index 7d7478e318..6677bb30c6 100644 --- a/app/components/TagView/TagTopArtists/styles.scss +++ b/app/components/TagView/TagTopArtists/styles.scss @@ -4,9 +4,6 @@ position: relative; display: flex; flex-flow: column; - width: 100%; - height: 0; - padding-bottom: 50%; h4 { font-size: 2rem; @@ -17,6 +14,7 @@ display: flex; flex-flow: row; width: 100%; + padding: 0 1rem 0 0.5rem; } .top_artist { @@ -24,6 +22,8 @@ width: 50%; height: 0; padding-bottom: 50%; + border-radius: 0.25rem; + overflow: hidden; } .top_artist_photo { @@ -34,11 +34,30 @@ right: 0; background-size: cover; background-position: center; - border-radius: 0.25rem 0 0 0.25rem; } .other_artists { + position: relative; + display: flex; + flex-flow: row wrap; + width: 50%; + height: 0; + padding-bottom: 50%; + } + .other_artist { + position: relative; + width: 50%; + height: 0; + padding-bottom: 50%; + } + + .other_artist_photo { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; } .artist_overlay { @@ -51,7 +70,6 @@ left: 0; right: 0; padding: 1rem; - border-radius: 0.25rem 0 0 0.25rem; background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); z-index: 10; } @@ -68,4 +86,9 @@ z-index: 20; color: $white; } + + .other_artist_name { + font-size: 1.5rem; + padding: 0.5rem; + } } From a73b758b173c01b804c58b2cf5b4a6007ff7b0fc Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 00:13:35 +0100 Subject: [PATCH 020/487] Add top albums to tag view --- app/components/TagView/TagTopArtists/index.js | 60 ----------------- app/components/TagView/TagTopList/index.js | 60 +++++++++++++++++ .../{TagTopArtists => TagTopList}/styles.scss | 64 +++++++++---------- app/components/TagView/index.js | 12 +++- 4 files changed, 101 insertions(+), 95 deletions(-) delete mode 100644 app/components/TagView/TagTopArtists/index.js create mode 100644 app/components/TagView/TagTopList/index.js rename app/components/TagView/{TagTopArtists => TagTopList}/styles.scss (85%) diff --git a/app/components/TagView/TagTopArtists/index.js b/app/components/TagView/TagTopArtists/index.js deleted file mode 100644 index 4b5b98b41c..0000000000 --- a/app/components/TagView/TagTopArtists/index.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import classnames from 'classnames'; -import _ from 'lodash'; - -import styles from './styles.scss'; - -class TagTopArtists extends React.Component { - constructor(props) { - super(props); - } - - render() { - let { - topArtists - } = this.props; - return ( -
-

Top Artists

-
-
-
-
-
{topArtists[0].name}
-
-
- -
- { - topArtists.slice(1, 5).map((artist, i) => { - return ( -
-
-
-
{artist.name}
-
-
- ); - }) - } -
-
-
- ); - } -} - -export default TagTopArtists; diff --git a/app/components/TagView/TagTopList/index.js b/app/components/TagView/TagTopList/index.js new file mode 100644 index 0000000000..0b9ba87c64 --- /dev/null +++ b/app/components/TagView/TagTopList/index.js @@ -0,0 +1,60 @@ +import React from 'react'; +import classnames from 'classnames'; +import _ from 'lodash'; + +import styles from './styles.scss'; + +class TagTopList extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + topList, + header + } = this.props; + + return( +
+

{header}

+
+
+
+
+
{topList[0].name}
+
+
+
+ { + topList.slice(1, 5).map((item, i) => { + return ( +
+
+
+
{item.name}
+
+
+ ); + }) + } +
+
+
+ ); + } +} + +export default TagTopList; diff --git a/app/components/TagView/TagTopArtists/styles.scss b/app/components/TagView/TagTopList/styles.scss similarity index 85% rename from app/components/TagView/TagTopArtists/styles.scss rename to app/components/TagView/TagTopList/styles.scss index 6677bb30c6..d4495cfa4c 100644 --- a/app/components/TagView/TagTopArtists/styles.scss +++ b/app/components/TagView/TagTopList/styles.scss @@ -1,15 +1,16 @@ @import '../../../vars'; -.tag_top_artists { +.tag_top_list { position: relative; display: flex; flex-flow: column; + margin-bottom: 2rem; h4 { font-size: 2rem; } - .top_artists { + .top_list_items { position: relative; display: flex; flex-flow: row; @@ -17,7 +18,7 @@ padding: 0 1rem 0 0.5rem; } - .top_artist { + .top_item { position: relative; width: 50%; height: 0; @@ -26,7 +27,7 @@ overflow: hidden; } - .top_artist_photo { + .top_item_photo { position: absolute; top: 0; bottom: 0; @@ -36,31 +37,7 @@ background-position: center; } - .other_artists { - position: relative; - display: flex; - flex-flow: row wrap; - width: 50%; - height: 0; - padding-bottom: 50%; - } - - .other_artist { - position: relative; - width: 50%; - height: 0; - padding-bottom: 50%; - } - - .other_artist_photo { - position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; - } - - .artist_overlay { + .item_overlay { position: absolute; display: flex; flex-flow: row; @@ -74,11 +51,10 @@ z-index: 10; } - .artist_name { + .item_name { position: relative; display: flex; flex-flow: row; - justify-content: flex-end; align-items: flex-end; width: 100%; padding: 1rem; @@ -87,7 +63,31 @@ color: $white; } - .other_artist_name { + .other_items { + position: relative; + display: flex; + flex-flow: row wrap; + width: 50%; + height: 0; + padding-bottom: 50%; + } + + .other_item { + position: relative; + width: 50%; + height: 0; + padding-bottom: 50%; + } + + .other_item_photo { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + } + + .other_item_name { font-size: 1.5rem; padding: 0.5rem; } diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index 7ed858a626..cff0f3fb4e 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -4,6 +4,7 @@ import {Dimmer, Loader} from 'semantic-ui-react'; import TagDescription from './TagDescription'; import TagHeader from './TagHeader'; import TagTopArtists from './TagTopArtists'; +import TagTopList from './TagTopList'; import styles from './styles.scss'; class TagView extends React.Component { @@ -50,9 +51,14 @@ class TagView extends React.Component { - + +
) } From 85991171b25d6882e8475171a1533336acdb5852 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 00:16:29 +0100 Subject: [PATCH 021/487] Quick build fix --- app/components/TagView/TagTopList/styles.scss | 2 ++ app/components/TagView/index.js | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/components/TagView/TagTopList/styles.scss b/app/components/TagView/TagTopList/styles.scss index d4495cfa4c..4733b9b015 100644 --- a/app/components/TagView/TagTopList/styles.scss +++ b/app/components/TagView/TagTopList/styles.scss @@ -85,6 +85,8 @@ bottom: 0; left: 0; right: 0; + background-size: cover; + background-position: center; } .other_item_name { diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index cff0f3fb4e..5b41676285 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -3,7 +3,6 @@ import {Dimmer, Loader} from 'semantic-ui-react'; import TagDescription from './TagDescription'; import TagHeader from './TagHeader'; -import TagTopArtists from './TagTopArtists'; import TagTopList from './TagTopList'; import styles from './styles.scss'; From f97d99bd4ed20f4687990b017ecc0a5e1cc8ec1a Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 10:11:35 +0100 Subject: [PATCH 022/487] Switch to horizontal layout on wide screens --- app/components/TagView/TagTopList/styles.scss | 3 +++ app/components/TagView/index.js | 18 ++++++++++-------- app/components/TagView/styles.scss | 11 +++++++++++ 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/components/TagView/TagTopList/styles.scss b/app/components/TagView/TagTopList/styles.scss index 4733b9b015..856cd4ef7d 100644 --- a/app/components/TagView/TagTopList/styles.scss +++ b/app/components/TagView/TagTopList/styles.scss @@ -5,6 +5,7 @@ display: flex; flex-flow: column; margin-bottom: 2rem; + flex: 1 1 auto; h4 { font-size: 2rem; @@ -59,6 +60,7 @@ width: 100%; padding: 1rem; font-size: 3rem; + line-height: 3rem; z-index: 20; color: $white; } @@ -91,6 +93,7 @@ .other_item_name { font-size: 1.5rem; + line-height: 1.5rem; padding: 0.5rem; } } diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index 5b41676285..92a340022e 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -50,14 +50,16 @@ class TagView extends React.Component { - - +
+ + +
) } diff --git a/app/components/TagView/styles.scss b/app/components/TagView/styles.scss index d3a83fa53b..c978d3b1ae 100644 --- a/app/components/TagView/styles.scss +++ b/app/components/TagView/styles.scss @@ -11,4 +11,15 @@ width: 100%; height: 100%; } + + .lists_container { + display: flex; + flex-flow: column; + } + + @media screen and (min-width: 1480px) { + .lists_container { + flex-flow: row; + } + } } From 3b13ad5274a036397749757a26ded1b018dafb55 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 12:55:05 +0100 Subject: [PATCH 023/487] Add track list to tag view --- app/components/TagView/TagTopTracks/index.js | 56 +++++++++++++++++++ .../TagView/TagTopTracks/styles.scss | 44 +++++++++++++++ app/components/TagView/index.js | 7 ++- app/components/TagView/styles.scss | 2 +- app/rest/Lastfm.js | 8 +++ test/test.js | 11 ++++ 6 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 app/components/TagView/TagTopTracks/index.js create mode 100644 app/components/TagView/TagTopTracks/styles.scss diff --git a/app/components/TagView/TagTopTracks/index.js b/app/components/TagView/TagTopTracks/index.js new file mode 100644 index 0000000000..0c913c81ed --- /dev/null +++ b/app/components/TagView/TagTopTracks/index.js @@ -0,0 +1,56 @@ +import React from 'react'; +import FontAwesome from 'react-fontawesome'; + +import { formatDuration } from '../../../utils'; +import styles from './styles.scss'; + +class TagTopTracks extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + tracks + } = this.props; + console.log(tracks); + return ( +
+ + + + + + + + + + + + { + tracks.map((track, i) => { + return ( + + + + + + ); + }) + } + + +
ArtistTitleDuration
+ {track.name}{track.artist.name}{formatDuration(track.duration)}
+
+ ); + } +} + +export default TagTopTracks; diff --git a/app/components/TagView/TagTopTracks/styles.scss b/app/components/TagView/TagTopTracks/styles.scss new file mode 100644 index 0000000000..93cb54c062 --- /dev/null +++ b/app/components/TagView/TagTopTracks/styles.scss @@ -0,0 +1,44 @@ +@import '../../../vars'; + +.tag_top_tracks { + position: relative; + display: flex; + flex-flow: column; + width: 100%; + + + .track { + transition: 0.25s; + } + + .track_thumbnail { + width: 3rem; + height: 3rem; + } + + table { + width: 100%; + } + + thead { + background: $background2; + } + + th { + padding: 1rem; + text-align: left; + } + + tr { + transition: 0.25s; + } + + tr:hover { + background: rgba($background2, 0.25); + } + + td { + padding: 1rem 1rem; + border-bottom: 1px solid $background2; + } +} diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index 92a340022e..4e0a13d1fb 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -4,6 +4,7 @@ import {Dimmer, Loader} from 'semantic-ui-react'; import TagDescription from './TagDescription'; import TagHeader from './TagHeader'; import TagTopList from './TagTopList'; +import TagTopTracks from './TagTopTracks'; import styles from './styles.scss'; class TagView extends React.Component { @@ -46,7 +47,7 @@ class TagView extends React.Component { tag={tag} tagInfo={tagInfo} topArtists={topArtists} - /> + /> @@ -60,6 +61,10 @@ class TagView extends React.Component { header='Top Albums' />
+ +
) } diff --git a/app/components/TagView/styles.scss b/app/components/TagView/styles.scss index c978d3b1ae..90fb168876 100644 --- a/app/components/TagView/styles.scss +++ b/app/components/TagView/styles.scss @@ -17,7 +17,7 @@ flex-flow: column; } - @media screen and (min-width: 1480px) { + @media screen and (min-width: 1800px) { .lists_container { flex-flow: row; } diff --git a/app/rest/Lastfm.js b/app/rest/Lastfm.js index 171d8d0119..247b6bfabb 100644 --- a/app/rest/Lastfm.js +++ b/app/rest/Lastfm.js @@ -115,3 +115,11 @@ export function getTagArtists(tag) { tag )); } + +export function getSimilarTags(tag) { + return fetch(addApiKey( + scrobblingApiUrl + + '?method=tag.getSimilar&format=json&tag=' + + tag + )); +} diff --git a/test/test.js b/test/test.js index 1c32538e71..ce65f4c8af 100644 --- a/test/test.js +++ b/test/test.js @@ -116,5 +116,16 @@ describe('Last.fm api tests', () => { console.error(err); }); }); + + it('tests getting similar tags', () => { + lastfm.getSimilarTags('electronic') + .then(response => response.json()) + .then(results => { + console.log(results); + }) + .catch(err => { + console.error(err); + }); + }); }); From 16df5b0b1407fbc8f1fb66ec16d62587dafafb9b Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Tue, 30 Jan 2018 13:04:34 +0100 Subject: [PATCH 024/487] Update README.md --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2e061ec524..5da4057c82 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,14 @@ This version of Nuclear has been rewritten from scratch and is being currently p - Song queue, which can be exported as a playlist - Loading saved playlists (stored in json files) - Scrobbling to last.fm (along with updating the 'now playing' status) +- Newest releases with reviews - tracks and albums +- Browsing by genre ## Planned features - Support for local files -- Browsing by genre - Browsing by popularity - Country-specific top lists -- Newest releases - Listening suggestions (similar artists, albums, tracks) - Unlimited downloads - Realtime lyrics @@ -57,6 +57,8 @@ This will be updated as the program evolves. ![playlist view](http://i.imgur.com/YM3eP3i.png) +![genre view](https://i.imgur.com/KrzUvwp.png) + ## Dev build process To develop the project locally, you should only do: ``` From b50bd90c486f2c4e1757cd6bca1b618305ac8249 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 15:41:00 +0100 Subject: [PATCH 025/487] improve cards and popups --- app/components/Card/styles.scss | 14 +++++++++++ app/components/ContextPopup/index.js | 25 +++++++++++++++---- .../SearchResults/AllResults/index.js | 2 +- app/components/SearchResults/styles.scss | 2 +- main.js | 7 ++++-- 5 files changed, 41 insertions(+), 9 deletions(-) diff --git a/app/components/Card/styles.scss b/app/components/Card/styles.scss index 6783808399..9f70486e43 100644 --- a/app/components/Card/styles.scss +++ b/app/components/Card/styles.scss @@ -3,6 +3,18 @@ .card_container { width: 20%; padding: 1rem; + + @media screen and (max-width: 1600px) { + width: 25%; + } + + @media screen and (max-width: 1280px) { + width: 33.33%; + } + + @media screen and (max-width: 1100px) { + width: 50%; + } } .card { @@ -31,6 +43,8 @@ height: 0; padding-top: 100%; border-radius: 0.125rem 0.125rem 0 0; + background-size: cover !important; + background-position: center !important; } } diff --git a/app/components/ContextPopup/index.js b/app/components/ContextPopup/index.js index 10bb3f20da..ca5e60b2b1 100644 --- a/app/components/ContextPopup/index.js +++ b/app/components/ContextPopup/index.js @@ -6,15 +6,30 @@ import styles from './styles.scss'; class ContextPopup extends React.Component { constructor(props) { super(props); + + this.state = { + isOpen: false + }; + } + + handleOpen() { + this.setState({ isOpen: true }); + } + + handleClose() { + this.setState({ isOpen: false }); } render() { return ( + className={styles.popup_content} + trigger={this.props.trigger} + on='click' + open={this.state.isOpen} + onClose={this.handleClose.bind(this)} + onOpen={this.handleOpen.bind(this)} + >
@@ -25,7 +40,7 @@ class ContextPopup extends React.Component {
-
+
{this.props.children}
diff --git a/app/components/SearchResults/AllResults/index.js b/app/components/SearchResults/AllResults/index.js index 5d91825932..8f21a74043 100644 --- a/app/components/SearchResults/AllResults/index.js +++ b/app/components/SearchResults/AllResults/index.js @@ -20,7 +20,7 @@ class AllResults extends React.Component { onClick={() => onClick(el.id)} key={i} /> - ) + ); }) ); } diff --git a/app/components/SearchResults/styles.scss b/app/components/SearchResults/styles.scss index 7dbaf17ea3..545cc61219 100644 --- a/app/components/SearchResults/styles.scss +++ b/app/components/SearchResults/styles.scss @@ -3,5 +3,5 @@ flex-flow: row wrap; position: relative; height: 100%; - justify-content: space-around; + justify-content: flex-start; } diff --git a/main.js b/main.js index e997449f92..4445ed3387 100644 --- a/main.js +++ b/main.js @@ -96,11 +96,14 @@ function createWindow() { player.metadata = { 'mpris:trackid': player.objectPath('track/0'), - 'mpris:length': arg.streams[0].duration * 1000 * 1000, // In microseconds - 'mpris:artUrl': '',// arg.thumbnail, + 'mpris:artUrl': arg.thumbnail, 'xesam:title': arg.name, 'xesam:artist': arg.artist }; + + if (arg.streams && arg.streams.length > 0) { + player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds + } }); } } From 7eedfdabce71022a1d4acedd01f446910037ccbc Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 16:35:52 +0100 Subject: [PATCH 026/487] enable adding tracks from tag view --- app/components/ContextPopup/index.js | 1 + app/components/TagView/TagTopTracks/index.js | 43 ++++++++++++++------ app/components/TagView/index.js | 6 ++- app/containers/TagViewContainer/index.js | 11 +++-- 4 files changed, 44 insertions(+), 17 deletions(-) diff --git a/app/components/ContextPopup/index.js b/app/components/ContextPopup/index.js index ca5e60b2b1..5a34bd27a0 100644 --- a/app/components/ContextPopup/index.js +++ b/app/components/ContextPopup/index.js @@ -29,6 +29,7 @@ class ContextPopup extends React.Component { open={this.state.isOpen} onClose={this.handleClose.bind(this)} onOpen={this.handleOpen.bind(this)} + hideOnScroll >
diff --git a/app/components/TagView/TagTopTracks/index.js b/app/components/TagView/TagTopTracks/index.js index 0c913c81ed..3c41b3adfc 100644 --- a/app/components/TagView/TagTopTracks/index.js +++ b/app/components/TagView/TagTopTracks/index.js @@ -2,6 +2,7 @@ import React from 'react'; import FontAwesome from 'react-fontawesome'; import { formatDuration } from '../../../utils'; +import ContextPopup from '../../ContextPopup'; import styles from './styles.scss'; class TagTopTracks extends React.Component { @@ -11,9 +12,10 @@ class TagTopTracks extends React.Component { render() { let { - tracks + tracks, + addToQueue, + musicSources } = this.props; - console.log(tracks); return (
@@ -30,18 +32,33 @@ class TagTopTracks extends React.Component { { tracks.map((track, i) => { return ( - - - - - + artist={track.artist.name} + title={track.name} + thumb={track.image[1]['#text']} + trigger={ + + + + + + } + > + {addToQueue(musicSources, { + artist: track.artist.name, + name: track.name, + thumbnail: track.image[1]['#text'] + })}} + > Add to queue + + ); }) } diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index 4e0a13d1fb..7a28cf3b3a 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -19,8 +19,10 @@ class TagView extends React.Component { render() { let { loadTagInfo, + addToQueue, tag, - tags + tags, + musicSources } = this.props; let tagInfo, topTracks, topAlbums, topArtists; @@ -63,6 +65,8 @@ class TagView extends React.Component { diff --git a/app/containers/TagViewContainer/index.js b/app/containers/TagViewContainer/index.js index a076cd95df..7159aeda88 100644 --- a/app/containers/TagViewContainer/index.js +++ b/app/containers/TagViewContainer/index.js @@ -3,6 +3,7 @@ import { withRouter } from 'react-router-dom'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import * as TagActions from '../../actions/tag'; +import * as QueueActions from '../../actions/queue'; import TagView from '../../components/TagView'; @@ -15,13 +16,16 @@ class TagViewContainer extends React.Component { let { actions, match, - tags + tags, + musicSources } = this.props; return ( ); } @@ -29,13 +33,14 @@ class TagViewContainer extends React.Component { function mapStateToProps(state) { return { - tags: state.tags + tags: state.tags, + musicSources: state.plugin.plugins.musicSources }; } function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(Object.assign({}, TagActions), dispatch) + actions: bindActionCreators(Object.assign({}, TagActions, QueueActions), dispatch) }; } From 5802919979c01038498b710bc3b92a7705cfb807 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 23:25:21 +0100 Subject: [PATCH 027/487] Enable volume slider functionality --- app/App.js | 7 +++++-- app/actions/player.js | 18 +++++++++++++----- .../VolumeControls/VolumeSlider/index.js | 10 +++++++++- .../VolumeControls/VolumeSlider/styles.scss | 1 + app/components/VolumeControls/index.js | 12 +++++++++++- app/containers/SoundContainer/index.js | 3 ++- app/reducers/player.js | 10 ++++++++-- 7 files changed, 49 insertions(+), 12 deletions(-) diff --git a/app/App.js b/app/App.js index c162e3e0f8..638c8ab73a 100644 --- a/app/App.js +++ b/app/App.js @@ -121,7 +121,10 @@ class App extends React.Component { forward={this.nextSong.bind(this)} back={this.props.actions.previousSong} /> - + @@ -137,7 +140,7 @@ function mapStateToProps(state) { queue: state.queue, player: state.player, scrobbling: state.scrobbling - } + }; } function mapDispatchToProps(dispatch) { diff --git a/app/actions/player.js b/app/actions/player.js index 436d40b5e1..4e4baa9a19 100644 --- a/app/actions/player.js +++ b/app/actions/player.js @@ -4,6 +4,7 @@ export const START_PLAYBACK = 'START_PLAYBACK'; export const PAUSE_PLAYBACK = 'PAUSE_PLAYBACK'; export const UPDATE_PLAYBACK_PROGRESS = 'UPDATE_PLAYBACK_PROGRESS'; export const UPDATE_SEEK = 'UPDATE_SEEK'; +export const UPDATE_VOLUME = 'UPDATE_VOLUME'; export function togglePlayback(currentState) { return dispatch => { @@ -19,14 +20,14 @@ export function startPlayback() { return { type: START_PLAYBACK, payload: null - } + }; } export function pausePlayback() { return { type: PAUSE_PLAYBACK, payload: null - } + }; } export function updatePlaybackProgress(progress, seek) { @@ -36,12 +37,19 @@ export function updatePlaybackProgress(progress, seek) { progress, seek } - } + }; } export function updateSeek(seek) { return { type: UPDATE_SEEK, payload: seek - } -} \ No newline at end of file + }; +} + +export function updateVolume(volume) { + return { + type: UPDATE_VOLUME, + payload: volume + }; +} diff --git a/app/components/VolumeControls/VolumeSlider/index.js b/app/components/VolumeControls/VolumeSlider/index.js index c38d939512..13c6041810 100644 --- a/app/components/VolumeControls/VolumeSlider/index.js +++ b/app/components/VolumeControls/VolumeSlider/index.js @@ -5,9 +5,17 @@ import styles from './styles.scss'; class VolumeSlider extends React.Component { + handleClick(event) { + this.props.handleClick(this.slider.offsetWidth)(event); + } + render() { return ( -
+
{this.slider = slider;}} + >
diff --git a/app/components/VolumeControls/VolumeSlider/styles.scss b/app/components/VolumeControls/VolumeSlider/styles.scss index cb19fab678..0a0443d9d9 100644 --- a/app/components/VolumeControls/VolumeSlider/styles.scss +++ b/app/components/VolumeControls/VolumeSlider/styles.scss @@ -25,4 +25,5 @@ border-radius: 2px; background-color: rgba(248, 248, 242, 1); + transition: 0.25s; } diff --git a/app/components/VolumeControls/index.js b/app/components/VolumeControls/index.js index 7a2e79c26c..13bfb1eec6 100644 --- a/app/components/VolumeControls/index.js +++ b/app/components/VolumeControls/index.js @@ -7,11 +7,21 @@ import VolumeSlider from './VolumeSlider'; class VolumeControls extends React.Component { + handleClick(width) { + return event => { + let volume = event.nativeEvent.offsetX / width * 100; + this.props.updateVolume(volume); + }; + } + render() { return (
- +
); } diff --git a/app/containers/SoundContainer/index.js b/app/containers/SoundContainer/index.js index 2df38b57c0..5ae960ac5d 100644 --- a/app/containers/SoundContainer/index.js +++ b/app/containers/SoundContainer/index.js @@ -52,6 +52,7 @@ class SoundContainer extends React.Component { onPlaying={this.handlePlaying.bind(this)} onFinishedPlaying={this.handleFinishedPlaying.bind(this)} position={player.seek} + volume={player.volume} /> ); } @@ -62,7 +63,7 @@ function mapStateToProps(state) { queue: state.queue, player: state.player, scrobbling: state.scrobbling - } + }; } function mapDispatchToProps(dispatch) { diff --git a/app/reducers/player.js b/app/reducers/player.js index 8e277014aa..bd791a6804 100644 --- a/app/reducers/player.js +++ b/app/reducers/player.js @@ -4,7 +4,8 @@ import { START_PLAYBACK, PAUSE_PLAYBACK, UPDATE_PLAYBACK_PROGRESS, - UPDATE_SEEK + UPDATE_SEEK, + UPDATE_VOLUME } from '../actions/player'; import { @@ -16,7 +17,8 @@ import { const initialState = { playbackStatus: Sound.status.PAUSED, playbackProgress: 0, - seek: 0 + seek: 0, + volume: 100 }; export default function PlayerReducer(state=initialState, action) { @@ -38,6 +40,10 @@ export default function PlayerReducer(state=initialState, action) { return Object.assign({}, state, { seek: action.payload }); + case UPDATE_VOLUME: + return Object.assign({}, state, { + volume: action.payload + }); case NEXT_SONG: case PREVIOUS_SONG: case SELECT_SONG: From 0c8021e31f5e81ee08f7b93090c437f7d9960284 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 30 Jan 2018 23:47:20 +0100 Subject: [PATCH 028/487] Sort news items by date --- app/components/Dashboard/NewsTab/NewsItem/styles.scss | 5 +++++ app/components/Dashboard/NewsTab/index.js | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/components/Dashboard/NewsTab/NewsItem/styles.scss b/app/components/Dashboard/NewsTab/NewsItem/styles.scss index 5fc2dc4ae1..a4bad66fb5 100644 --- a/app/components/Dashboard/NewsTab/NewsItem/styles.scss +++ b/app/components/Dashboard/NewsTab/NewsItem/styles.scss @@ -4,6 +4,11 @@ border: 1px solid rgba($lightbg, 0.3); padding: 1rem; border-radius: 0.25rem; + margin-bottom: 1rem; + + &:last-child { + margin-bottom: 0; + } h1 { width: 100%; diff --git a/app/components/Dashboard/NewsTab/index.js b/app/components/Dashboard/NewsTab/index.js index 8f3cfd6e75..b58f53a010 100644 --- a/app/components/Dashboard/NewsTab/index.js +++ b/app/components/Dashboard/NewsTab/index.js @@ -1,6 +1,7 @@ import React from 'react'; import {Dimmer, Loader, Tab} from 'semantic-ui-react'; import moment from 'moment'; +import _ from 'lodash'; import NewsItem from './NewsItem'; import styles from './styles.scss'; @@ -14,11 +15,12 @@ class NewsTab extends React.Component { let { news } = this.props; + return (
{ - news.map((item, i) => { + _(news).sortBy('timestamp').reverse().value().map((item, i) => { return ; }) } From c182050db138135c1965b86f20bc61177d24a6ad Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 31 Jan 2018 14:08:59 +0100 Subject: [PATCH 029/487] Allow inputting playlist name when creating it --- app/app.global.scss | 35 +++++++++ app/components/InputDialog/index.js | 84 +++++++++++++++++++++ app/components/InputDialog/styles.scss | 0 app/components/PlayQueue/QueueMenu/index.js | 20 ++++- app/components/Seekbar/index.js | 15 ++-- app/components/TagView/TagHeader/index.js | 1 - 6 files changed, 142 insertions(+), 13 deletions(-) create mode 100644 app/components/InputDialog/index.js create mode 100644 app/components/InputDialog/styles.scss diff --git a/app/app.global.scss b/app/app.global.scss index a43c6376f0..434d7e866b 100644 --- a/app/app.global.scss +++ b/app/app.global.scss @@ -87,6 +87,41 @@ a { } } +.ui.modals.dimmer { + background: rgba($background3, 0.6); + + .content { + height: auto; + } +} + +.ui.modal.transition { + height: auto; +} + +.ui.button { + transition: 0.25s; +} + +.ui.inverted.green.button { + border-color: $green; + color: $green; + + &:hover, + &:focus { + background-color: $green; + } +} + +.ui.inverted.red.basic.button:focus { + color: $red !important; + + &:hover, + &:focus { + background-color: $red; + } +} + .ui.checkbox { .box::before, label::before { background-color: rgba($background3, 0.35) !important; diff --git a/app/components/InputDialog/index.js b/app/components/InputDialog/index.js new file mode 100644 index 0000000000..7d795d88e4 --- /dev/null +++ b/app/components/InputDialog/index.js @@ -0,0 +1,84 @@ +import React from 'react'; +import { Button, Input, Modal } from 'semantic-ui-react'; + +import styles from './styles.scss'; + +class InputDialog extends React.Component { + constructor(props) { + super(props); + + this.state = { + isOpen: false, + inputString: '' + }; + + this.handleClose = this.handleClose.bind(this); + this.handleChange = this.handleChange.bind(this); + } + + handleClose() { + this.setState({ + isOpen: false + }); + } + + handleOpen() { + this.setState({ + isOpen: true + }); + } + + handleChange(e) { + this.setState({ + inputString: e.target.value + }); + } + + render() { + let { + trigger, + header, + placeholder, + accept, + onAccept + } = this.props; + + let onClick = () => { + onAccept(this.state.inputString); + this.handleClose(); + }; + + return ( + + + {header} + { if (input) input.focus(); }} + placeholder={placeholder} + onChange={this.handleChange} + /> + + + + + + + ); + } +} + +export default InputDialog; diff --git a/app/components/InputDialog/styles.scss b/app/components/InputDialog/styles.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/components/PlayQueue/QueueMenu/index.js b/app/components/PlayQueue/QueueMenu/index.js index b295f0af10..6828e24a4b 100644 --- a/app/components/PlayQueue/QueueMenu/index.js +++ b/app/components/PlayQueue/QueueMenu/index.js @@ -1,6 +1,7 @@ import React from 'react'; import FontAwesome from 'react-fontawesome'; +import InputDialog from '../../InputDialog'; import Spacer from '../../Spacer'; import styles from './styles.scss'; @@ -11,9 +12,9 @@ class QueueMenu extends React.Component { } handleAddPlaylist(fun, items) { - return () => { - fun(items, Date.now()); - } + return name => { + fun(items, name); + }; } render() { @@ -27,7 +28,18 @@ class QueueMenu extends React.Component {
- + + Input playlist name:} + placeholder='Playlist name...' + accept='Save' + onAccept={this.handleAddPlaylist(addPlaylist, items)} + trigger={ + + } + > + +

diff --git a/app/components/Seekbar/index.js b/app/components/Seekbar/index.js index 871cba6f13..9513713d53 100644 --- a/app/components/Seekbar/index.js +++ b/app/components/Seekbar/index.js @@ -4,14 +4,13 @@ import styles from './styles.scss'; class Seekbar extends React.Component { - handleClick(seek, queue) { - return event => { - let percent = (event.pageX - event.target.offsetLeft)/document.body.clientWidth; - let duration = queue.queueItems[queue.currentSong].streams[0].duration; - seek(percent * duration * 1000); - } - - } + handleClick(seek, queue) { + return event => { + let percent = (event.pageX - event.target.offsetLeft)/document.body.clientWidth; + let duration = queue.queueItems[queue.currentSong].streams[0].duration; + seek(percent * duration * 1000); + }; + } render() { return ( diff --git a/app/components/TagView/TagHeader/index.js b/app/components/TagView/TagHeader/index.js index c4c58d770f..1acf7833f8 100644 --- a/app/components/TagView/TagHeader/index.js +++ b/app/components/TagView/TagHeader/index.js @@ -14,7 +14,6 @@ class TagHeader extends React.Component { tagInfo, topArtists } = this.props; - console.log(tagInfo); return (
Date: Wed, 31 Jan 2018 14:15:21 +0100 Subject: [PATCH 030/487] Do not render artist name if it's not present --- app/components/ContextPopup/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/app/components/ContextPopup/index.js b/app/components/ContextPopup/index.js index 5a34bd27a0..571fb66d96 100644 --- a/app/components/ContextPopup/index.js +++ b/app/components/ContextPopup/index.js @@ -19,7 +19,7 @@ class ContextPopup extends React.Component { handleClose() { this.setState({ isOpen: false }); } - + render() { return (
{this.props.title}
-
by {this.props.artist}
+ { + this.props.artist + ?
by {this.props.artist}
+ : null + }
From bf697e76fef0a975a8b7d2bc5b7f2bd50e545894 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 31 Jan 2018 16:26:37 +0100 Subject: [PATCH 031/487] Add play all functionality to albums --- app/app.global.scss | 12 ++++ app/components/AlbumView/index.js | 70 ++++++++++++++++----- app/components/AlbumView/styles.scss | 25 +++++++- app/components/PlayQueue/QueueMenu/index.js | 3 +- app/containers/AlbumViewContainer/index.js | 17 ++--- 5 files changed, 103 insertions(+), 24 deletions(-) diff --git a/app/app.global.scss b/app/app.global.scss index 434d7e866b..74a0b71359 100644 --- a/app/app.global.scss +++ b/app/app.global.scss @@ -27,6 +27,18 @@ a { } } +a.disabled { + color: rgba($grey, 0.25); + cursor: default; + + &:hover, + &:focus, + &:active { + background-color: $background2 !important; + color: rgba($grey, 0.25);; + } +} + ::-webkit-scrollbar { width: 0.5rem; } diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index 93411000b5..2a75cff2da 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -17,34 +17,74 @@ class AlbumView extends React.Component { this.props.history.push('/artist/' + artistId); } + playAll(album) { + album.tracklist.map((track, i) => { + this.props.addToQueue(this.props.musicSources, { + artist: album.artists[0].name, + name: track.title, + thumbnail: album.images[0].uri + }); + }); + + this.props.selectSong(0); + this.props.startPlayback(); + } + + renderOptions(album) { + return( + } + artist={album.artists[0].name} + title={album.title} + thumb={album.images ? album.images[0].uri : artPlaceholder} + > + + + ); + } + render() { + let { + album + } = this.props; return (
- + { - this.props.album.loading + album.loading ? null :
- +
- {this.props.album.year}
+ {album.year} +
- {this.props.album.tracklist.length}
-
+ {album.tracklist.length} +
+ +
@@ -58,7 +98,7 @@ class AlbumView extends React.Component {
{ - this.props.album.tracklist.map((el, i) => { + album.tracklist.map((el, i) => { return ( {el.duration} } - artist={this.props.album.artists[0].name} + artist={album.artists[0].name} title={el.title} - thumb={this.props.album.images[0].uri} + thumb={album.images[0].uri} > this.props.addToQueue(this.props.musicSources, { - artist: this.props.album.artists[0].name, + artist: album.artists[0].name, name: el.title, - thumbnail: this.props.album.images[0].uri + thumbnail: album.images[0].uri })} className={styles.add_button} > @@ -85,7 +125,7 @@ class AlbumView extends React.Component { Play now - ) + ); }) } diff --git a/app/components/AlbumView/styles.scss b/app/components/AlbumView/styles.scss index e0da9801b2..9bd362d1ef 100644 --- a/app/components/AlbumView/styles.scss +++ b/app/components/AlbumView/styles.scss @@ -5,6 +5,29 @@ height: 100%; margin: 1rem 0rem; + .album_buttons { + display: flex; + flex-flow: row; + padding-top: 1rem; + + a { + padding: 0.375rem 2.5rem; + } + } + + .play_button { + background: $pink; + color: $white; + border-radius: 1.5rem; + text-transform: uppercase; + margin-right: 2rem; + } + + .more_button { + border: 1px solid white; + border-radius: 1.5rem; + } + .dimmable { width: 100%; height: 100%; @@ -101,7 +124,7 @@ } tr:hover { - background: rgba($background2, 0.25); + background: rgba($background2, 0.25); } td { diff --git a/app/components/PlayQueue/QueueMenu/index.js b/app/components/PlayQueue/QueueMenu/index.js index 6828e24a4b..213df341bc 100644 --- a/app/components/PlayQueue/QueueMenu/index.js +++ b/app/components/PlayQueue/QueueMenu/index.js @@ -5,6 +5,7 @@ import InputDialog from '../../InputDialog'; import Spacer from '../../Spacer'; import styles from './styles.scss'; +import globalStyles from '../../../app.global.scss'; class QueueMenu extends React.Component { constructor(props){ @@ -40,7 +41,7 @@ class QueueMenu extends React.Component { > - +
diff --git a/app/containers/AlbumViewContainer/index.js b/app/containers/AlbumViewContainer/index.js index 539c29d6d2..0e4603bce3 100644 --- a/app/containers/AlbumViewContainer/index.js +++ b/app/containers/AlbumViewContainer/index.js @@ -4,6 +4,7 @@ import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import * as Actions from '../../actions'; import * as QueueActions from '../../actions/queue'; +import * as PlayerActions from '../../actions/player'; import AlbumView from '../../components/AlbumView'; @@ -17,11 +18,13 @@ class AlbumViewContainer extends React.Component { render() { return ( ); } @@ -31,12 +34,12 @@ function mapStateToProps(state) { return { albumDetails: state.search.albumDetails, musicSources: state.plugin.plugins.musicSources - } + }; } function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(Object.assign({}, Actions, QueueActions), dispatch) + actions: bindActionCreators(Object.assign({}, Actions, QueueActions, PlayerActions), dispatch) }; } From 5f20e3d70f8e221c91f71190e9104400dd178d44 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 31 Jan 2018 16:38:23 +0100 Subject: [PATCH 032/487] Fix card alignment --- app/components/AlbumList/styles.scss | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/components/AlbumList/styles.scss b/app/components/AlbumList/styles.scss index 7e2b961294..1aa5572090 100644 --- a/app/components/AlbumList/styles.scss +++ b/app/components/AlbumList/styles.scss @@ -1,7 +1,6 @@ .album_list_container { display: flex; width: 100%; - height: 100%; } .album_list_cards { @@ -9,5 +8,5 @@ width: 100%; height: 100%; flex-flow: row wrap; - justify-content: center; + justify-content: flex-start; } From 649ec1187a8dd9167d605969e239461939e7e588 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 7 Feb 2018 14:16:07 +0100 Subject: [PATCH 033/487] Update some build files --- main.prod.js | 34 +- package-lock.json | 683 ++++++++++++++++++++++++++++++++++------- package.json | 251 +++++++-------- webpack.config.prod.js | 31 +- 4 files changed, 754 insertions(+), 245 deletions(-) diff --git a/main.prod.js b/main.prod.js index 2864ad95ee..698764ea7e 100644 --- a/main.prod.js +++ b/main.prod.js @@ -1,4 +1,4 @@ -const { app, nativeImage, BrowserWindow } = require('electron'); +const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electron'); const platform = require('electron-platform'); const path = require('path'); const url = require('url'); @@ -12,6 +12,7 @@ if (!platform.isDarwin && !platform.isWin32) { let win; let player; +let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); function createWindow() { @@ -38,8 +39,22 @@ function createWindow() { // MacOS specific if (platform.isDarwin) { app.dock.setIcon(icon); + icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon_apple.png')); } + const trayMenu = Menu.buildFromTemplate([ + {label: 'Quit', type: 'normal', click: + (menuItem, browserWindow, event) => { + app.quit(); + } + } + ]); + + tray = new Tray(icon); + tray.setTitle('nuclear music player'); + tray.setToolTip('nuclear music player'); + tray.setContextMenu(trayMenu); + // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { player = Player({ @@ -61,6 +76,23 @@ function createWindow() { player.on('playpause', mpris.onPlayPause); player.on('stop', mpris.onStop); player.on('play', mpris.onplay); + + ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } + + player.metadata = { + 'mpris:trackid': player.objectPath('track/0'), + 'mpris:artUrl': arg.thumbnail, + 'xesam:title': arg.name, + 'xesam:artist': arg.artist + }; + + if (arg.streams && arg.streams.length > 0) { + player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds + } + }); } } diff --git a/package-lock.json b/package-lock.json index 7412cb3955..49f8e4e77e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1818,6 +1818,27 @@ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", "dev": true }, + "cacache": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.2.tgz", + "integrity": "sha512-dljb7dk1jqO5ogE+dRpoR9tpHYv5xz9vPSNunh1+0wRuNdYxmzp9WmsyokgW/DUF1FDRVA/TMsmxt027R8djbQ==", + "dev": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.1", + "mississippi": "1.3.1", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.1.0", + "unique-filename": "1.1.0", + "y18n": "3.2.1" + } + }, "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", @@ -1983,6 +2004,12 @@ "readdirp": "2.1.0" } }, + "chownr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", + "dev": true + }, "chromium-pickle-js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", @@ -2403,6 +2430,20 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", "dev": true }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", @@ -2686,6 +2727,12 @@ "array-find-index": "1.0.2" } }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", @@ -3018,6 +3065,50 @@ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", "dev": true }, + "duplexify": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz", + "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "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.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "ecc-jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", @@ -3420,6 +3511,15 @@ "iconv-lite": "0.4.19" } }, + "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==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, "enhanced-resolve": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", @@ -3461,15 +3561,6 @@ "is-arrayish": "0.2.1" } }, - "error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", - "dev": true, - "requires": { - "stackframe": "0.3.1" - } - }, "es-abstract": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", @@ -4020,6 +4111,48 @@ "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", "dev": true }, + "flush-write-stream": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", + "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + }, + "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.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "flux-standard-action": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/flux-standard-action/-/flux-standard-action-0.6.1.tgz", @@ -4097,6 +4230,48 @@ "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", "dev": true }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3" + }, + "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.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "fs-extra": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", @@ -4142,6 +4317,18 @@ } } }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "1.1.14" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4898,6 +5085,12 @@ "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", "dev": true }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -6095,6 +6288,72 @@ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", "dev": true }, + "mississippi": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.1.tgz", + "integrity": "sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg==", + "dev": true, + "requires": { + "concat-stream": "1.6.0", + "duplexify": "3.5.3", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "1.0.3", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "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.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, "mixin-deep": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.0.tgz", @@ -6189,6 +6448,20 @@ "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, "mpris-service": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/mpris-service/-/mpris-service-1.1.3.tgz", @@ -7099,6 +7372,49 @@ "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", "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=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.3" + }, + "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.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } + } + } + }, "parse-asn1": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", @@ -8035,6 +8351,12 @@ "asap": "2.0.6" } }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, "prop-types": { "version": "15.6.0", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", @@ -8089,6 +8411,39 @@ "randombytes": "2.0.6" } }, + "pump": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", + "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", + "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "dev": true, + "requires": { + "duplexify": "3.5.3", + "inherits": "2.0.3", + "pump": "2.0.1" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + } + } + }, "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", @@ -8288,24 +8643,26 @@ } }, "react-hot-loader": { - "version": "4.0.0-beta.12", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.0.0-beta.12.tgz", - "integrity": "sha512-bSmWbjuzzYUDw/e6YDzHI1VkiKRjHP7egDh2lg7b/jJhcLbu3uhy7Al9sIZ4PDalZAGJZbnX9hGlSO/bj03H3w==", + "version": "4.0.0-beta.21", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.0.0-beta.21.tgz", + "integrity": "sha1-RqA0ViHxoDyzwcbcEw8VP6ZuW64=", "dev": true, "requires": { "fast-levenshtein": "2.0.6", "global": "4.3.2", "hoist-non-react-statics": "2.3.1", - "react-stand-in": "4.0.0-beta.12", - "redbox-react": "1.5.0", - "source-map": "0.6.1" + "prop-types": "15.6.0", + "react-stand-in": "4.0.0-beta.21" }, "dependencies": { - "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 + "react-stand-in": { + "version": "4.0.0-beta.21", + "resolved": "https://registry.npmjs.org/react-stand-in/-/react-stand-in-4.0.0-beta.21.tgz", + "integrity": "sha1-+2lORlyyD6t/NtMoT4K2i716ZX4=", + "dev": true, + "requires": { + "shallowequal": "1.0.2" + } } } }, @@ -8412,15 +8769,6 @@ "soundmanager2": "2.97.20170602" } }, - "react-stand-in": { - "version": "4.0.0-beta.12", - "resolved": "https://registry.npmjs.org/react-stand-in/-/react-stand-in-4.0.0-beta.12.tgz", - "integrity": "sha512-mbd4OTHgWuQZYBDKad+IGfO0KGgqESAvK8AH5p+MJInhNOKs0Ahn74BDGtfWFoqsIR9HsHA1sadlvdZXm/iAow==", - "dev": true, - "requires": { - "shallowequal": "1.0.2" - } - }, "read-config-file": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-2.1.1.tgz", @@ -8553,18 +8901,6 @@ } } }, - "redbox-react": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.5.0.tgz", - "integrity": "sha512-mdxArOI3sF8K5Nay5NG+lv/VW516TbXjjd4h1wcV1Iy4IMDQPnCayjoQXBAycAFSME4nyXRUXCjHxsw2rYpVRw==", - "dev": true, - "requires": { - "error-stack-parser": "1.3.6", - "object-assign": "4.1.1", - "prop-types": "15.6.0", - "sourcemapped-stacktrace": "1.1.8" - } - }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -8866,6 +9202,15 @@ "inherits": "2.0.3" } }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -9009,9 +9354,9 @@ } }, "semantic-ui-react": { - "version": "0.77.2", - "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.77.2.tgz", - "integrity": "sha512-VwxY6oGLrBO2xoJiAW/vn40GL4WGZYWxtbrHIKYE1xChTOFlDxyIULMdnuAHOTbrbOYbLQ0X7LpdvEEYmieiJw==", + "version": "0.78.2", + "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.78.2.tgz", + "integrity": "sha512-GALhydmZTLfvPskNa1SrIvX4o71Yelp50z5nxcKgzNNnWjF1q6RQiVhISc0KG03LzWZWRBw8ye3YzCKLdLfclQ==", "requires": { "babel-runtime": "6.26.0", "classnames": "2.2.5", @@ -9079,6 +9424,12 @@ "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", "dev": true }, + "serialize-javascript": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz", + "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", + "dev": true + }, "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", @@ -9466,23 +9817,6 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, - "sourcemapped-stacktrace": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz", - "integrity": "sha512-OkVoI7GQOLl/laR1qsSo1c87tS8kF2VXhQq2SrQCDdXufBAcm8FgXogWso96ciMYoDtTw1Dn70CVdwYzoYs6Pg==", - "dev": true, - "requires": { - "source-map": "0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - } - } - }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", @@ -9651,11 +9985,14 @@ "tweetnacl": "0.14.5" } }, - "stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=", - "dev": true + "ssri": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.1.0.tgz", + "integrity": "sha512-TevC8fgxQKTfQ1nWtM9GNzr3q5rrHNntG9CDMH1k3QhSZI6Kb+NbjLRs8oPFZa2Hgo7zoekL+UTvoEk7tsbjQg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } }, "stat-mode": { "version": "0.2.2", @@ -9847,6 +10184,16 @@ "duplexer": "0.1.1" } }, + "stream-each": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", @@ -9898,6 +10245,12 @@ } } }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, "strict-uri-encode": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", @@ -9976,13 +10329,25 @@ "dev": true }, "style-loader": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.1.tgz", - "integrity": "sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.20.1.tgz", + "integrity": "sha512-NtlwQOHQvUgEKuPs4JoUMQUkML8UNMxLbXM2JAZerIQVVVMgO5VVRjYQA8zzkpBu/X2OnTt+5ZKe8IbGk5TjRA==", "dev": true, "requires": { "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "schema-utils": "0.4.3" + }, + "dependencies": { + "schema-utils": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", + "integrity": "sha512-sgv/iF/T4/SewJkaVpldKC4WjSkz0JsOh2eKtxCPpCO1oR05+7MOF+H476HVRbLArkgA7j5TRJJ4p2jdFkUGQQ==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "ajv-keywords": "2.1.1" + } + } } }, "sumchecker": { @@ -10361,45 +10726,27 @@ "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" + "commander": "2.13.0", + "source-map": "0.6.1" }, "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "dev": true }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.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 } } }, @@ -10411,14 +10758,37 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.8.tgz", + "integrity": "sha512-XG8/QmR1pyPeE1kj2aigo5kos8umefB31zW+PMvAAytHSB0T/vQvN6sqt8+Sh+y0b0A7zlmxNi2dzRnj0wcqGA==", "dev": true, "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.1.0" + "cacache": "10.0.2", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.3", + "serialize-javascript": "1.4.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.1.0", + "worker-farm": "1.5.2" + }, + "dependencies": { + "schema-utils": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", + "integrity": "sha512-sgv/iF/T4/SewJkaVpldKC4WjSkz0JsOh2eKtxCPpCO1oR05+7MOF+H476HVRbLArkgA7j5TRJJ4p2jdFkUGQQ==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "ajv-keywords": "2.1.1" + } + }, + "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 + } } }, "union-value": { @@ -10468,6 +10838,24 @@ "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", "dev": true }, + "unique-filename": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", + "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", + "dev": true, + "requires": { + "unique-slug": "2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz", + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", @@ -10989,6 +11377,59 @@ "has-flag": "2.0.0" } }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" + } + }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", @@ -11541,6 +11982,24 @@ "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true }, + "worker-farm": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", + "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "dev": true, + "requires": { + "errno": "0.1.6", + "xtend": "4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", @@ -11704,9 +12163,9 @@ } }, "ytdl-core": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.19.0.tgz", - "integrity": "sha512-q3jxskmqMiBZuV5Icl9yB+w9w7sJzvMuthuAcifnqB3oeQWwyUOGKsDrRMYRKZZxEpacG9EReF+e6tVLyRULIw==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.20.0.tgz", + "integrity": "sha512-2fI0bA0e+3H4h8IqKmN8X7AEkZgOvpUqjb/5cGJFqz6DV0nrPgjsY7osfytkWtdXkoGZixmqEIFHEnBuMIdUSQ==", "requires": { "html-entities": "1.2.1", "m3u8stream": "0.2.1", diff --git a/package.json b/package.json index 48d9e59f31..4cf8c12b2c 100644 --- a/package.json +++ b/package.json @@ -1,131 +1,134 @@ { - "name": "nuclear", - "version": "0.4.0", - "description": "Streaming music player that finds music sources automatically.", - "main": "main.js", - "scripts": { - "start": "npm-run-all --parallel watch electron", - "electron": "electron .", - "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack --progress --colors --env=prod", - "test": "mocha --require babel-register", - "pack": "electron-builder --dir --em.main=main.prod.js", - "dist": "electron-builder --em.main=main.prod.js", - "build:linux": "electron-builder --em.main=main.prod.js --linux", - "build:windows": "electron-builder --em.main=main.prod.js --windows", - "build:macos": "electron-builder --em.main=main.prod.js --macos", - "build:all": "electron-builder --em.main=main.prod.js -mwl" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/nukeop/nuclear.git" - }, - "keywords": [ - "electron", - "music", - "youtube" - ], - "author": "nukeop", - "license": "GPL-3.0", - "bugs": { - "url": "https://github.com/nukeop/nuclear/issues" - }, - "homepage": "https://github.com/nukeop/nuclear#readme", - "dependencies": { - "billboard-top-100": "^2.0.8", - "electron-platform": "^1.2.0", - "font-awesome": "^4.7.0", - "lowdb": "^1.0.0", - "md5": "^2.2.1", - "moment": "^2.20.1", - "numeral": "^2.0.6", - "pitchfork-bnm": "^1.0.3", - "react": "^16.2.0", - "react-dom": "^16.2.0", - "react-router-transition": "^1.2.0", - "react-sound": "^1.1.0", - "semantic-ui-react": "^0.77.2", - "ytdl-core": "^0.19.0" - }, - "devDependencies": { - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.1", - "babel-preset-es2015": "^6.24.1", - "babel-preset-react": "^6.24.1", - "babel-register": "^6.26.0", - "chai": "^4.1.2", - "classnames": "^2.2.5", - "css-loader": "^0.28.9", - "electron": "^1.7.11", - "electron-builder": "^19.54.0", - "electron-devtools-installer": "^2.2.3", - "extract-text-webpack-plugin": "^3.0.2", - "file-loader": "^1.1.6", - "google-fonts-webpack-plugin": "^0.4.4", - "happypack": "^4.0.1", - "isomorphic-fetch": "^2.2.1", - "lodash": "^4.17.4", - "mocha": "^5.0.0", - "node-sass": "^4.7.2", - "nodebrainz": "^2.1.1", - "npm-run-all": "^4.1.2", - "react-debounce-input": "^3.1.0", - "react-fontawesome": "^1.6.1", - "react-hot-loader": "next", - "react-redux": "^5.0.6", - "react-router": "^4.2.0", - "react-router-dom": "^4.2.2", - "react-router-redux": "^4.0.8", - "redux": "^3.7.2", - "redux-promise": "^0.5.3", - "redux-thunk": "^2.2.0", - "sass-loader": "^6.0.6", - "style-loader": "^0.19.1", - "webpack": "^3.10.0", - "webpack-dev-server": "^2.11.1" - }, - "optionalDependencies": { - "dbus": "^1.0.2", - "mpris-service": "^1.1.3" - }, - "build": { - "appId": "nuclear", - "productName": "nuclear", - "icon": "resources/media/icon.icns", - "directories": { - "output": "release" + "name": "nuclear", + "version": "0.4.0", + "description": "Streaming music player that finds music sources automatically.", + "main": "main.js", + "scripts": { + "start": "npm-run-all --parallel watch electron", + "electron": "electron .", + "watch": "webpack-dev-server --inline --progress --env=dev", + "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", + "test": "mocha --require babel-register", + "pack": "electron-builder --dir --em.main=main.prod.js", + "dist": "babel-node electron-builder --em.main=main.prod.js", + "build:linux": "electron-builder --em.main=main.prod.js --linux", + "build:windows": "electron-builder --em.main=main.prod.js --windows", + "build:macos": "electron-builder --em.main=main.prod.js --macos", + "build:all": "electron-builder --em.main=main.prod.js -mwl" }, - "files": [ - "dist/", - "index.prod.html", - "main.prod.js", - "mpris.js", - "package.json" - ], - "extraFiles": [ - "resources" + "repository": { + "type": "git", + "url": "git+https://github.com/nukeop/nuclear.git" + }, + "keywords": [ + "electron", + "music", + "youtube" ], - "linux": { - "target": [ - "AppImage", - "deb", - "tar.gz" - ], - "category": "Audio;AudioVideo;Network;Player;Music" + "author": "nukeop", + "email": "nuclear@gumblert.tech", + "license": "GPL-3.0", + "bugs": { + "url": "https://github.com/nukeop/nuclear/issues" + }, + "homepage": "https://github.com/nukeop/nuclear#readme", + "dependencies": { + "billboard-top-100": "^2.0.8", + "electron-platform": "^1.2.0", + "font-awesome": "^4.7.0", + "lowdb": "^1.0.0", + "md5": "^2.2.1", + "moment": "^2.20.1", + "numeral": "^2.0.6", + "pitchfork-bnm": "^1.0.3", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-router-transition": "^1.2.0", + "react-sound": "^1.1.0", + "semantic-ui-react": "^0.78.2", + "ytdl-core": "^0.20.0" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.1", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-register": "^6.26.0", + "chai": "^4.1.2", + "classnames": "^2.2.5", + "css-loader": "^0.28.9", + "electron": "^1.7.11", + "electron-builder": "^19.54.0", + "electron-devtools-installer": "^2.2.3", + "extract-text-webpack-plugin": "^3.0.2", + "file-loader": "^1.1.6", + "google-fonts-webpack-plugin": "^0.4.4", + "happypack": "^4.0.1", + "isomorphic-fetch": "^2.2.1", + "lodash": "^4.17.4", + "mocha": "^5.0.0", + "node-sass": "^4.7.2", + "nodebrainz": "^2.1.1", + "npm-run-all": "^4.1.2", + "react-debounce-input": "^3.1.0", + "react-fontawesome": "^1.6.1", + "react-hot-loader": "next", + "react-redux": "^5.0.6", + "react-router": "^4.2.0", + "react-router-dom": "^4.2.2", + "react-router-redux": "^4.0.8", + "redux": "^3.7.2", + "redux-promise": "^0.5.3", + "redux-thunk": "^2.2.0", + "sass-loader": "^6.0.6", + "style-loader": "^0.20.1", + "uglifyjs-webpack-plugin": "^1.1.8", + "webpack": "^3.10.0", + "webpack-dev-server": "^2.11.1" }, - "mac": { - "category": "public.app-category.music", - "target": [ - "dmg", - "zip" - ] + "optionalDependencies": { + "dbus": "^1.0.2", + "mpris-service": "^1.1.3" }, - "win": { - "target": [ - "nsis", - "portable" - ] + "build": { + "appId": "nuclear", + "productName": "nuclear", + "icon": "resources/media/icon.png", + "directories": { + "output": "release" + }, + "files": [ + "dist/", + "resources/", + "index.prod.html", + "main.prod.js", + "mpris.js", + "package.json" + ], + "extraFiles": [ + "resources" + ], + "linux": { + "target": [ + "AppImage", + "deb", + "tar.gz" + ], + "category": "Audio;AudioVideo;Network;Player;Music" + }, + "mac": { + "category": "public.app-category.music", + "target": [ + "dmg", + "zip" + ] + }, + "win": { + "target": [ + "nsis", + "portable" + ] + } } - } } diff --git a/webpack.config.prod.js b/webpack.config.prod.js index b67afc00cc..ce82130c9f 100644 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -1,6 +1,8 @@ const webpack = require('webpack'); const path = require('path'); const GoogleFontsPlugin = require("google-fonts-webpack-plugin"); +const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); +const HappyPack = require('happypack'); const BUILD_DIR = path.resolve(__dirname, 'dist'); const APP_DIR = path.resolve(__dirname, 'app'); @@ -19,24 +21,34 @@ const config = { module: { loaders: [ { - test: /\.jsx?/, - loader: 'babel-loader', + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', exclude: /node_modules/ + }, + { + test: /.scss$/, + use: 'happypack/loader?id=scss' }, { test: /\.css/, loader: 'style-loader!css-loader?modules=true&localIdentName=[name]__[local]___[hash:base64:5]' - }, { - test: /\.scss$/, - loader: 'style-loader!css-loader?importLoaders=1&modules&localIdentName=[local]!sass-loader' - }, { + }, { test: /\.(png|jpg|gif)$/, - loader: 'file-loader', + loader: 'file-loader?name=/resources/media/[name].[ext]', include: RESOURCES_DIR } ] }, plugins: [ new webpack.NamedModulesPlugin(), + new HappyPack({ + id: 'jsx', + loaders: [ 'babel-loader' ] + }), + new HappyPack({ + id: 'scss', + loaders: [ 'style-loader!css-loader?importLoaders=1&modules&localIdentName=[local]!sass-loader' ] + }), + new UglifyJsPlugin(), new GoogleFontsPlugin({ fonts: [ { @@ -44,9 +56,12 @@ const config = { variants: ['regular', '300', '700'] } ] + }), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify('production') }) ], - target: 'electron-main' + target: 'electron-renderer' }; module.exports = config; From 5bf698c401ffb376463e5c58026c63815608e744 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 7 Feb 2018 15:00:46 +0100 Subject: [PATCH 034/487] Update package.json --- package.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4cf8c12b2c..51a8fed848 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,10 @@ "music", "youtube" ], - "author": "nukeop", - "email": "nuclear@gumblert.tech", + "author": { + "name": "nukeop", + "email": "nuclear@gumblert.tech" + }, "license": "GPL-3.0", "bugs": { "url": "https://github.com/nukeop/nuclear/issues" @@ -94,7 +96,6 @@ "build": { "appId": "nuclear", "productName": "nuclear", - "icon": "resources/media/icon.png", "directories": { "output": "release" }, @@ -120,8 +121,9 @@ "mac": { "category": "public.app-category.music", "target": [ - "dmg", - "zip" + "zip", + "pkg", + "dmg" ] }, "win": { From 63d9b37e9df013d1ab12657621eb742299dc5c75 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 01:12:16 +0100 Subject: [PATCH 035/487] Fix typo --- main.prod.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.prod.js b/main.prod.js index 698764ea7e..4fe3e89631 100644 --- a/main.prod.js +++ b/main.prod.js @@ -75,7 +75,7 @@ function createWindow() { player.on('pause', mpris.onPause); player.on('playpause', mpris.onPlayPause); player.on('stop', mpris.onStop); - player.on('play', mpris.onplay); + player.on('play', mpris.onPlay); ipcMain.on('songChange', (event, arg) => { if (arg === null) { From 4be285f77b8bd67e718a8687305471bc7ad77e07 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 01:35:52 +0100 Subject: [PATCH 036/487] Add icons in build folder --- build/icons/256x256.png | Bin 0 -> 33310 bytes build/icons/icon.icns | Bin 0 -> 196991 bytes build/icons/icon.png | Bin 0 -> 178104 bytes package.json | 258 ++++++++++++++++++++-------------------- 4 files changed, 129 insertions(+), 129 deletions(-) create mode 100644 build/icons/256x256.png create mode 100644 build/icons/icon.icns create mode 100644 build/icons/icon.png diff --git a/build/icons/256x256.png b/build/icons/256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..90e73baa55e488649df6c19609c4c0ae58eafb5d GIT binary patch literal 33310 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

*#d_#b@=bHRArDrDwERXnjW_t_e0X#brkAh)?C@ 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 WNHmJuoF2Kc0~BAX%2r961pPm>(mgK# literal 0 HcmV?d00001 diff --git a/build/icons/icon.icns b/build/icons/icon.icns new file mode 100644 index 0000000000000000000000000000000000000000..f436bb5d73f1b930504be38770b229a90230e9d8 GIT binary patch literal 196991 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 =Zjz` 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%0AwObc2g$`+(NA9 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

9*m+Q9M{Z;7mQ+jmS=nY|XY|l6}Y7ou^ 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 U6v}-EKz~e+n;$DY;&Ai-0a$j3WB>pF literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 51a8fed848..18b28b858b 100644 --- a/package.json +++ b/package.json @@ -1,136 +1,136 @@ { - "name": "nuclear", - "version": "0.4.0", - "description": "Streaming music player that finds music sources automatically.", - "main": "main.js", - "scripts": { - "start": "npm-run-all --parallel watch electron", - "electron": "electron .", - "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", - "test": "mocha --require babel-register", - "pack": "electron-builder --dir --em.main=main.prod.js", - "dist": "babel-node electron-builder --em.main=main.prod.js", - "build:linux": "electron-builder --em.main=main.prod.js --linux", - "build:windows": "electron-builder --em.main=main.prod.js --windows", - "build:macos": "electron-builder --em.main=main.prod.js --macos", - "build:all": "electron-builder --em.main=main.prod.js -mwl" + "name": "nuclear", + "version": "0.4.0", + "description": "Streaming music player that finds music sources automatically.", + "main": "main.js", + "scripts": { + "start": "npm-run-all --parallel watch electron", + "electron": "electron .", + "watch": "webpack-dev-server --inline --progress --env=dev", + "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", + "test": "mocha --require babel-register", + "pack": "electron-builder --dir --em.main=main.prod.js", + "dist": "babel-node electron-builder --em.main=main.prod.js", + "build:linux": "electron-builder --em.main=main.prod.js --linux", + "build:windows": "electron-builder --em.main=main.prod.js --windows", + "build:macos": "electron-builder --em.main=main.prod.js --macos", + "build:all": "electron-builder --em.main=main.prod.js -mwl" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/nukeop/nuclear.git" + }, + "keywords": [ + "electron", + "music", + "youtube" + ], + "author": { + "name": "nukeop", + "email": "nuclear@gumblert.tech" + }, + "license": "GPL-3.0", + "bugs": { + "url": "https://github.com/nukeop/nuclear/issues" + }, + "homepage": "https://github.com/nukeop/nuclear#readme", + "dependencies": { + "billboard-top-100": "^2.0.8", + "electron-platform": "^1.2.0", + "font-awesome": "^4.7.0", + "lowdb": "^1.0.0", + "md5": "^2.2.1", + "moment": "^2.20.1", + "numeral": "^2.0.6", + "pitchfork-bnm": "^1.0.3", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-router-transition": "^1.2.0", + "react-sound": "^1.1.0", + "semantic-ui-react": "^0.78.2", + "ytdl-core": "^0.20.0" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.1", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-register": "^6.26.0", + "chai": "^4.1.2", + "classnames": "^2.2.5", + "css-loader": "^0.28.9", + "electron": "^1.7.11", + "electron-builder": "^19.54.0", + "electron-devtools-installer": "^2.2.3", + "extract-text-webpack-plugin": "^3.0.2", + "file-loader": "^1.1.6", + "google-fonts-webpack-plugin": "^0.4.4", + "happypack": "^4.0.1", + "isomorphic-fetch": "^2.2.1", + "lodash": "^4.17.4", + "mocha": "^5.0.0", + "node-sass": "^4.7.2", + "nodebrainz": "^2.1.1", + "npm-run-all": "^4.1.2", + "react-debounce-input": "^3.1.0", + "react-fontawesome": "^1.6.1", + "react-hot-loader": "next", + "react-redux": "^5.0.6", + "react-router": "^4.2.0", + "react-router-dom": "^4.2.2", + "react-router-redux": "^4.0.8", + "redux": "^3.7.2", + "redux-promise": "^0.5.3", + "redux-thunk": "^2.2.0", + "sass-loader": "^6.0.6", + "style-loader": "^0.20.1", + "uglifyjs-webpack-plugin": "^1.1.8", + "webpack": "^3.10.0", + "webpack-dev-server": "^2.11.1" + }, + "optionalDependencies": { + "dbus": "^1.0.2", + "mpris-service": "^1.1.3" + }, + "build": { + "appId": "nuclear", + "productName": "nuclear", + "directories": { + "output": "release" }, - "repository": { - "type": "git", - "url": "git+https://github.com/nukeop/nuclear.git" - }, - "keywords": [ - "electron", - "music", - "youtube" + "files": [ + "dist/", + "resources/", + "index.prod.html", + "main.prod.js", + "mpris.js", + "package.json" ], - "author": { - "name": "nukeop", - "email": "nuclear@gumblert.tech" - }, - "license": "GPL-3.0", - "bugs": { - "url": "https://github.com/nukeop/nuclear/issues" - }, - "homepage": "https://github.com/nukeop/nuclear#readme", - "dependencies": { - "billboard-top-100": "^2.0.8", - "electron-platform": "^1.2.0", - "font-awesome": "^4.7.0", - "lowdb": "^1.0.0", - "md5": "^2.2.1", - "moment": "^2.20.1", - "numeral": "^2.0.6", - "pitchfork-bnm": "^1.0.3", - "react": "^16.2.0", - "react-dom": "^16.2.0", - "react-router-transition": "^1.2.0", - "react-sound": "^1.1.0", - "semantic-ui-react": "^0.78.2", - "ytdl-core": "^0.20.0" - }, - "devDependencies": { - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.1", - "babel-preset-es2015": "^6.24.1", - "babel-preset-react": "^6.24.1", - "babel-register": "^6.26.0", - "chai": "^4.1.2", - "classnames": "^2.2.5", - "css-loader": "^0.28.9", - "electron": "^1.7.11", - "electron-builder": "^19.54.0", - "electron-devtools-installer": "^2.2.3", - "extract-text-webpack-plugin": "^3.0.2", - "file-loader": "^1.1.6", - "google-fonts-webpack-plugin": "^0.4.4", - "happypack": "^4.0.1", - "isomorphic-fetch": "^2.2.1", - "lodash": "^4.17.4", - "mocha": "^5.0.0", - "node-sass": "^4.7.2", - "nodebrainz": "^2.1.1", - "npm-run-all": "^4.1.2", - "react-debounce-input": "^3.1.0", - "react-fontawesome": "^1.6.1", - "react-hot-loader": "next", - "react-redux": "^5.0.6", - "react-router": "^4.2.0", - "react-router-dom": "^4.2.2", - "react-router-redux": "^4.0.8", - "redux": "^3.7.2", - "redux-promise": "^0.5.3", - "redux-thunk": "^2.2.0", - "sass-loader": "^6.0.6", - "style-loader": "^0.20.1", - "uglifyjs-webpack-plugin": "^1.1.8", - "webpack": "^3.10.0", - "webpack-dev-server": "^2.11.1" + "extraFiles": [ + "resources" + ], + "linux": { + "target": [ + "AppImage", + "deb", + "tar.gz" + ], + "category": "Audio;AudioVideo;Network;Player;Music" }, - "optionalDependencies": { - "dbus": "^1.0.2", - "mpris-service": "^1.1.3" + "mac": { + "category": "public.app-category.music", + "target": [ + "zip", + "pkg", + "dmg" + ] }, - "build": { - "appId": "nuclear", - "productName": "nuclear", - "directories": { - "output": "release" - }, - "files": [ - "dist/", - "resources/", - "index.prod.html", - "main.prod.js", - "mpris.js", - "package.json" - ], - "extraFiles": [ - "resources" - ], - "linux": { - "target": [ - "AppImage", - "deb", - "tar.gz" - ], - "category": "Audio;AudioVideo;Network;Player;Music" - }, - "mac": { - "category": "public.app-category.music", - "target": [ - "zip", - "pkg", - "dmg" - ] - }, - "win": { - "target": [ - "nsis", - "portable" - ] - } + "win": { + "target": [ + "nsis", + "portable" + ] } + } } From 3ce8fe8e1ceabe976cea7bf2804d38ad465c2f18 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 01:46:36 +0100 Subject: [PATCH 037/487] Update travis config --- .travis.yml | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index e65cde2e10..aaf3050c50 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,11 +1,29 @@ -language: node_js -node_js: - - 6 +matrix: + include: + - os: osx + osx_image: xcode9.2 + language: node_js + node_js: "9" + env: + - ELECTRON_CACHE=$HOME/.cache/electron + - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder + - os: linux + services: docker + language: generic + script: - npm test - npm run build:dist + - | + if [ "$TRAVIS_OS_NAME" == "linux" ]; then + npm run build:linux && npm run build:windows + else + npm run build:macos + fi cache: directories: - node_modules + - $HOME/.cache/electron + - $HOME/.cache/electron-builder From 63f0e7a22a7cc512de5bfc04953e2f7132f1e436 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 01:52:30 +0100 Subject: [PATCH 038/487] Update node version --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index aaf3050c50..bd8e1ed6dd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,8 +9,8 @@ matrix: - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder - os: linux - services: docker - language: generic + language: node_js + node_js: "6" script: - npm test From ea5b7992a4e8809844cfb17d26af0193a00e63cf Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 01:59:19 +0100 Subject: [PATCH 039/487] Allow unresolved dependencies (dbus on macos) --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index bd8e1ed6dd..7e4277ebb5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ matrix: env: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder + - ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true - os: linux language: node_js From 6996d924313e6908a780d32db4e46d462a3d27a3 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 02:03:31 +0100 Subject: [PATCH 040/487] tab -> spaces --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7e4277ebb5..179dd061fd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,7 @@ matrix: env: - ELECTRON_CACHE=$HOME/.cache/electron - ELECTRON_BUILDER_CACHE=$HOME/.cache/electron-builder - - ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true + - ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true - os: linux language: node_js From bb8b58d45ced6d92c6945d1d5fa8f4a55efa5b53 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 02:14:18 +0100 Subject: [PATCH 041/487] Add optional dependency --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 18b28b858b..212d1099cd 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,8 @@ }, "optionalDependencies": { "dbus": "^1.0.2", - "mpris-service": "^1.1.3" + "mpris-service": "^1.1.3", + "7zip-bin-mac": "^1.0.1" }, "build": { "appId": "nuclear", From 6e0a79242fc00683bb656fafbf6f5ba7a54c57ea Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 11:26:31 +0100 Subject: [PATCH 042/487] Build and release on Github --- .travis.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/.travis.yml b/.travis.yml index 179dd061fd..9b637e7cba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,3 +28,22 @@ cache: - node_modules - $HOME/.cache/electron - $HOME/.cache/electron-builder + +before_deploy: + - git config --local user.name "nukeop" + - git config --local user.email "alsw@protonmail.com" + - git tag "$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)" + +deploy: + provider: releases + api_key: $GITHUB_TOKEN + file_glob: true + file: + - "release/*.exe" + - "release/*.deb" + - "release/*.tar.gz" + - "release/*.zip" + - "release/*.AppImage" + skip_cleanup: true + on: + tags: true From bc75df19ae9d9d5d3b5803d480ac59687aee0156 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 11:38:08 +0100 Subject: [PATCH 043/487] Add dmg to release --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 9b637e7cba..0459955a51 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,6 +43,7 @@ deploy: - "release/*.deb" - "release/*.tar.gz" - "release/*.zip" + - "release/*.dmg" - "release/*.AppImage" skip_cleanup: true on: From 2cf10e6a8c11d5b7ec0b4399ebe572a941e31791 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 11:42:50 +0100 Subject: [PATCH 044/487] Remove on: tags --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0459955a51..95dd2e6ce8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,5 +46,3 @@ deploy: - "release/*.dmg" - "release/*.AppImage" skip_cleanup: true - on: - tags: true From ef027aa36e55487006be8780a124d89751892397 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 16:18:01 +0100 Subject: [PATCH 045/487] Install wine before building --- .travis.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.travis.yml b/.travis.yml index 95dd2e6ce8..0629e7fd40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,6 +12,11 @@ matrix: - os: linux language: node_js node_js: "6" + +addons: + apt: + packages: + - wine script: - npm test @@ -33,6 +38,7 @@ before_deploy: - git config --local user.name "nukeop" - git config --local user.email "alsw@protonmail.com" - git tag "$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)" + # - export ARTIFACTS=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then ) deploy: provider: releases From 340cedfe5a59ec1600879554907825f8ac5fad8e Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 16:56:06 +0100 Subject: [PATCH 046/487] Install wine from apt --- .travis.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0629e7fd40..5d5e46db0f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,10 +13,12 @@ matrix: language: node_js node_js: "6" -addons: - apt: - packages: - - wine +before_install: + - wget -nc https://dl.winehq.org/wine-builds/Release.key + - sudo apt-key add Release.key -y + - sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ -y + - sudo apt-get update -q + - sudo apt-get install --install-recommends winehq-stable -y script: - npm test From 82155ac1c32fce90b2b0233f0cc4b146ede50a01 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 17:56:18 +0100 Subject: [PATCH 047/487] travis config --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 5d5e46db0f..a392c0ba6c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,7 @@ matrix: before_install: - wget -nc https://dl.winehq.org/wine-builds/Release.key - - sudo apt-key add Release.key -y + - sudo apt-key add Release.key - sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ -y - sudo apt-get update -q - sudo apt-get install --install-recommends winehq-stable -y From d61b84e2746b88393dd4596e87d143c4b09ae351 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 22:06:37 +0100 Subject: [PATCH 048/487] Update electron-builder and other packages --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 212d1099cd..7ac8c8bf30 100644 --- a/package.json +++ b/package.json @@ -45,10 +45,10 @@ "pitchfork-bnm": "^1.0.3", "react": "^16.2.0", "react-dom": "^16.2.0", - "react-router-transition": "^1.2.0", + "react-router-transition": "^1.2.1", "react-sound": "^1.1.0", "semantic-ui-react": "^0.78.2", - "ytdl-core": "^0.20.0" + "ytdl-core": "^0.20.1" }, "devDependencies": { "babel-core": "^6.26.0", @@ -60,20 +60,20 @@ "chai": "^4.1.2", "classnames": "^2.2.5", "css-loader": "^0.28.9", - "electron": "^1.7.11", - "electron-builder": "^19.54.0", + "electron": "^1.8.2", + "electron-builder": "^20.0.2", "electron-devtools-installer": "^2.2.3", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "google-fonts-webpack-plugin": "^0.4.4", "happypack": "^4.0.1", "isomorphic-fetch": "^2.2.1", - "lodash": "^4.17.4", + "lodash": "^4.17.5", "mocha": "^5.0.0", "node-sass": "^4.7.2", "nodebrainz": "^2.1.1", "npm-run-all": "^4.1.2", - "react-debounce-input": "^3.1.0", + "react-debounce-input": "^3.2.0", "react-fontawesome": "^1.6.1", "react-hot-loader": "next", "react-redux": "^5.0.6", From cfe5cc26a5eec52d2dd3d282d1fc5e35edf2414f Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 22:21:20 +0100 Subject: [PATCH 049/487] Change --em to -c.extraMetadata --- package.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 7ac8c8bf30..86ae30f4c7 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,12 @@ "watch": "webpack-dev-server --inline --progress --env=dev", "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", "test": "mocha --require babel-register", - "pack": "electron-builder --dir --em.main=main.prod.js", - "dist": "babel-node electron-builder --em.main=main.prod.js", - "build:linux": "electron-builder --em.main=main.prod.js --linux", - "build:windows": "electron-builder --em.main=main.prod.js --windows", - "build:macos": "electron-builder --em.main=main.prod.js --macos", - "build:all": "electron-builder --em.main=main.prod.js -mwl" + "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", + "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", + "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", + "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", + "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", + "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl" }, "repository": { "type": "git", From b7b35d93a369497b78d8ba98ad0f0f405d9d3f76 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 23:01:18 +0100 Subject: [PATCH 050/487] Redirect to search results after searching --- app/actions/index.js | 3 ++- app/containers/SearchBoxContainer/index.js | 15 +++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/actions/index.js b/app/actions/index.js index 372fa81b86..59a8f5101c 100644 --- a/app/actions/index.js +++ b/app/actions/index.js @@ -74,7 +74,7 @@ export function artistSearch(terms) { }; } -export function unifiedSearch(terms) { +export function unifiedSearch(terms, history) { return (dispatch) => { dispatch(unifiedSearchStart()); Promise.all([ @@ -82,6 +82,7 @@ export function unifiedSearch(terms) { dispatch(artistSearch(terms)) ]).then(() => { dispatch(unifiedSearchSuccess()); + history.push('/'); }); }; } diff --git a/app/containers/SearchBoxContainer/index.js b/app/containers/SearchBoxContainer/index.js index 675386292a..3f769a652f 100644 --- a/app/containers/SearchBoxContainer/index.js +++ b/app/containers/SearchBoxContainer/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import { withRouter } from 'react-router-dom'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import * as Actions from '../../actions'; @@ -7,24 +8,26 @@ import SearchBox from '../../components/SearchBox'; class SearchBoxContainer extends React.Component { - handleSearch(event) { - this.props.actions.unifiedSearch(event.target.value); + handleSearch(history) { + return event => { + this.props.actions.unifiedSearch(event.target.value, history); + }; } render() { return( - ) + ); } } function mapStateToProps(state) { return { unifiedSearchStarted: state.search.unifiedSearchStarted - } + }; } function mapDispatchToProps(dispatch) { @@ -33,4 +36,4 @@ function mapDispatchToProps(dispatch) { }; } -export default connect(mapStateToProps, mapDispatchToProps)(SearchBoxContainer); +export default withRouter(connect(mapStateToProps, mapDispatchToProps)(SearchBoxContainer)); From 14fea55e8b805e6bfb6fcb60125e36a0470b56b5 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 23:05:45 +0100 Subject: [PATCH 051/487] Do not redirect if we're already on search results page --- app/actions/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/actions/index.js b/app/actions/index.js index 59a8f5101c..40938b998b 100644 --- a/app/actions/index.js +++ b/app/actions/index.js @@ -82,7 +82,9 @@ export function unifiedSearch(terms, history) { dispatch(artistSearch(terms)) ]).then(() => { dispatch(unifiedSearchSuccess()); - history.push('/'); + if(history.location.pathname !== '/') { + history.push('/'); + } }); }; } From 4435584992f9f9715601e3bd45e3c37842396d6f Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 23:06:54 +0100 Subject: [PATCH 052/487] Only release when tagged --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a392c0ba6c..806a99f0d2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -54,3 +54,5 @@ deploy: - "release/*.dmg" - "release/*.AppImage" skip_cleanup: true + on: + tags: true From 9cbcfcb8b0e5aa76e4a2456df38fd47a7e57b6c5 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Feb 2018 23:13:55 +0100 Subject: [PATCH 053/487] Prevent from crashing when styles are missing --- app/components/AlbumView/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index 2a75cff2da..2f627da23d 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -65,7 +65,7 @@ class AlbumView extends React.Component {

- {album.styles[0]} + {album.styles ? album.styles[0] : null}
From 33d0cd31795461ac38d45f18195e6e1250488a66 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 01:29:52 +0100 Subject: [PATCH 054/487] travis config --- .travis.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 806a99f0d2..c6edb20384 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,7 +25,7 @@ script: - npm run build:dist - | if [ "$TRAVIS_OS_NAME" == "linux" ]; then - npm run build:linux && npm run build:windows + npm run build:linux else npm run build:macos fi @@ -40,19 +40,23 @@ before_deploy: - git config --local user.name "nukeop" - git config --local user.email "alsw@protonmail.com" - git tag "$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)" - # - export ARTIFACTS=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then ) + - export ARTIFACTS_A=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo release/*.deb; fi) + - export ARTIFACTS_B=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo release/*.tar.gz; fi) + - export ARTIFACTS_C=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo release/*.AppImage; fi) + - export ARTIFACTS_D=$(if [ "$TRAVIS_OS_NAME" == "osx" ]; then echo release/*.zip; fi) + - export ARTIFACTS_E=$(if [ "$TRAVIS_OS_NAME" == "osx" ]; then echo release/*.dmg; fi) + deploy: provider: releases api_key: $GITHUB_TOKEN file_glob: true file: - - "release/*.exe" - - "release/*.deb" - - "release/*.tar.gz" - - "release/*.zip" - - "release/*.dmg" - - "release/*.AppImage" + - "${ARTIFACTS_A}" + - "${ARTIFACTS_B}" + - "${ARTIFACTS_C}" + - "${ARTIFACTS_D}" + - "${ARTIFACTS_E}" skip_cleanup: true on: tags: true From 9ebf352d9f546136d63dcd7f747e853563c43c74 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 01:36:23 +0100 Subject: [PATCH 055/487] do not use apt on osx --- .travis.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index c6edb20384..ad3a51bc48 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,10 +15,10 @@ matrix: before_install: - wget -nc https://dl.winehq.org/wine-builds/Release.key - - sudo apt-key add Release.key - - sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ -y - - sudo apt-get update -q - - sudo apt-get install --install-recommends winehq-stable -y + - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-key add Release.key; fi + - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ -y; fi + - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -q; fi + - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install --install-recommends winehq-stable -y; fi script: - npm test From 5e860845fe0c870630e404bad52f3b1eb0a19b43 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 01:45:57 +0100 Subject: [PATCH 056/487] Add 1024x1024 icon --- build/icons/1024x1024.png | Bin 0 -> 178104 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 build/icons/1024x1024.png diff --git a/build/icons/1024x1024.png b/build/icons/1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..d3193755a1944bcbf26f2c3bba3faa9736081e7b GIT binary patch literal 178104 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%0AwObc2g$`+(NA9 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

9*m+Q9M{Z;7mQ+jmS=nY|XY|l6}Y7ou^ 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 U6v}-EKz~e+n;$DY;&Ai-0a$j3WB>pF literal 0 HcmV?d00001 From 6a54950e090155e379975d3bf9e9592a818d9faa Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 02:06:37 +0100 Subject: [PATCH 057/487] Rebuild mpris before running tests --- .travis.yml | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/.travis.yml b/.travis.yml index ad3a51bc48..67ed5821ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,10 @@ before_install: - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ -y; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -q; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install --install-recommends winehq-stable -y; fi + +before_script: + - if [ $TRAVIS_OS_NAME = linux ]; then npm install electron-rebuild; fi + - if [ $TRAVIS_OS_NAME = linux ]; then .node_modules/.bin/electron-rebuild; fi script: - npm test @@ -34,29 +38,4 @@ cache: directories: - node_modules - $HOME/.cache/electron - - $HOME/.cache/electron-builder - -before_deploy: - - git config --local user.name "nukeop" - - git config --local user.email "alsw@protonmail.com" - - git tag "$(date +'%Y%m%d%H%M%S')-$(git log --format=%h -1)" - - export ARTIFACTS_A=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo release/*.deb; fi) - - export ARTIFACTS_B=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo release/*.tar.gz; fi) - - export ARTIFACTS_C=$(if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo release/*.AppImage; fi) - - export ARTIFACTS_D=$(if [ "$TRAVIS_OS_NAME" == "osx" ]; then echo release/*.zip; fi) - - export ARTIFACTS_E=$(if [ "$TRAVIS_OS_NAME" == "osx" ]; then echo release/*.dmg; fi) - - -deploy: - provider: releases - api_key: $GITHUB_TOKEN - file_glob: true - file: - - "${ARTIFACTS_A}" - - "${ARTIFACTS_B}" - - "${ARTIFACTS_C}" - - "${ARTIFACTS_D}" - - "${ARTIFACTS_E}" - skip_cleanup: true - on: - tags: true + - $HOME/.cache/electron-builder \ No newline at end of file From e1f842677ce20e2329a14a1125a1d75c29c24f26 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 02:14:36 +0100 Subject: [PATCH 058/487] remove period --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 67ed5821ef..e4f305e4b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,7 @@ before_install: before_script: - if [ $TRAVIS_OS_NAME = linux ]; then npm install electron-rebuild; fi - - if [ $TRAVIS_OS_NAME = linux ]; then .node_modules/.bin/electron-rebuild; fi + - if [ $TRAVIS_OS_NAME = linux ]; then node_modules/.bin/electron-rebuild; fi script: - npm test From 10836fd23e30d029d9855b5e04095b8c69ffc960 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 02:50:43 +0100 Subject: [PATCH 059/487] Add mpris and dbus to dependencies on linux --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index e4f305e4b8..8c14c49989 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ before_install: - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install --install-recommends winehq-stable -y; fi before_script: + - if [ $TRAVIS_OS_NAME = linux ]; then npm install --save mpris-service dbus; fi - if [ $TRAVIS_OS_NAME = linux ]; then npm install electron-rebuild; fi - if [ $TRAVIS_OS_NAME = linux ]; then node_modules/.bin/electron-rebuild; fi From d9d8fe6188d82778b0e1812aff6a69b251c72e22 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 03:04:21 +0100 Subject: [PATCH 060/487] update node; add dbus-1 --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8c14c49989..1e7d3ff620 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ matrix: - os: linux language: node_js - node_js: "6" + node_js: "9" before_install: - wget -nc https://dl.winehq.org/wine-builds/Release.key @@ -19,9 +19,9 @@ before_install: - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ -y; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -q; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install --install-recommends winehq-stable -y; fi + - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install libdbus-1-dev -y; fi before_script: - - if [ $TRAVIS_OS_NAME = linux ]; then npm install --save mpris-service dbus; fi - if [ $TRAVIS_OS_NAME = linux ]; then npm install electron-rebuild; fi - if [ $TRAVIS_OS_NAME = linux ]; then node_modules/.bin/electron-rebuild; fi From 67957b1d8ed403dd5771fbf91293e7a76efef60b Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 03:14:07 +0100 Subject: [PATCH 061/487] travis config --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1e7d3ff620..8461a9483a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,7 +22,7 @@ before_install: - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install libdbus-1-dev -y; fi before_script: - - if [ $TRAVIS_OS_NAME = linux ]; then npm install electron-rebuild; fi + - if [ $TRAVIS_OS_NAME = linux ]; then npm install --save-dev electron-rebuild; fi - if [ $TRAVIS_OS_NAME = linux ]; then node_modules/.bin/electron-rebuild; fi script: From 87bca64c40523ead8421e6d51a072b56e70c2926 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Sun, 11 Feb 2018 14:38:42 +0100 Subject: [PATCH 062/487] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5da4057c82..47bd35dc57 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ It's also focusing more on audio. Imagine Spotify which you don't have to pay fo ## Rewritten from scratch -This version of Nuclear has been rewritten from scratch and is being currently prepared for the 0.4.0 release. The code is completely new, much more maintainable and extensible. +This version of Nuclear has been rewritten from scratch and released in version 0.4.0. The code is completely new, much more maintainable and extensible. ## Features From ba56ef1bfdb26ab39ff668f72953b665da3b60f8 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Sun, 11 Feb 2018 14:59:29 +0100 Subject: [PATCH 063/487] Update README.md Add logo graphic --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 47bd35dc57..9ca7245c8e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# nuclear [![Maintainability](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/maintainability)](https://codeclimate.com/github/nukeop/nuclear/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/test_coverage)](https://codeclimate.com/github/nukeop/nuclear/test_coverage) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/30750586202742279fa8958a12e519ed)](https://www.codacy.com/app/nukeop/nuclear?utm_source=github.com&utm_medium=referral&utm_content=nukeop/nuclear&utm_campaign=Badge_Grade) ![Travis](https://api.travis-ci.org/nukeop/nuclear.svg?branch=master) +# ![nuclear](https://i.imgur.com/oT1006i.png) +[![Maintainability](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/maintainability)](https://codeclimate.com/github/nukeop/nuclear/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/test_coverage)](https://codeclimate.com/github/nukeop/nuclear/test_coverage) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/30750586202742279fa8958a12e519ed)](https://www.codacy.com/app/nukeop/nuclear?utm_source=github.com&utm_medium=referral&utm_content=nukeop/nuclear&utm_campaign=Badge_Grade) ![Travis](https://api.travis-ci.org/nukeop/nuclear.svg?branch=master) An Electron-based, multiplatform music player app that streams from multiple sources From dbde379bc21a9618c20b1ba0612e94b094358648 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 15:16:20 +0100 Subject: [PATCH 064/487] replace file-loader with url-loader --- package.json | 17 +++++++++-------- webpack.config.prod.js | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 86ae30f4c7..f136e883d2 100644 --- a/package.json +++ b/package.json @@ -86,6 +86,7 @@ "sass-loader": "^6.0.6", "style-loader": "^0.20.1", "uglifyjs-webpack-plugin": "^1.1.8", + "url-loader": "^0.6.2", "webpack": "^3.10.0", "webpack-dev-server": "^2.11.1" }, @@ -113,24 +114,24 @@ ], "linux": { "target": [ - "AppImage", - "deb", - "tar.gz" + "AppImage", + "deb", + "tar.gz" ], "category": "Audio;AudioVideo;Network;Player;Music" }, "mac": { "category": "public.app-category.music", "target": [ - "zip", - "pkg", - "dmg" + "zip", + "pkg", + "dmg" ] }, "win": { "target": [ - "nsis", - "portable" + "nsis", + "portable" ] } } diff --git a/webpack.config.prod.js b/webpack.config.prod.js index ce82130c9f..a36b264c24 100644 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -33,7 +33,7 @@ const config = { loader: 'style-loader!css-loader?modules=true&localIdentName=[name]__[local]___[hash:base64:5]' }, { test: /\.(png|jpg|gif)$/, - loader: 'file-loader?name=/resources/media/[name].[ext]', + loader: 'url-loader', include: RESOURCES_DIR } ] From 287658476ff93661fcb48f35f3b7f57115f9e8c2 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 11 Feb 2018 15:19:08 +0100 Subject: [PATCH 065/487] Bump to 0.4.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f136e883d2..dccfaa32cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nuclear", - "version": "0.4.0", + "version": "0.4.1", "description": "Streaming music player that finds music sources automatically.", "main": "main.js", "scripts": { From 96d350c1f056b23e4a0f85922ea1f2e3720253ae Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Sun, 11 Feb 2018 19:29:30 +0100 Subject: [PATCH 066/487] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 9ca7245c8e..1178e537f3 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,9 @@ nuclear is a free music streaming program that pulls content from free sources a If you know [mps-youtube](https://github.com/mps-youtube/mps-youtube), this is a similar music player but with a GUI. It's also focusing more on audio. Imagine Spotify which you don't have to pay for and with a bigger library. +## Pre-alpha release +The current version is a pre-alpha early access. Some of it is usable, some of it isn't. If there are things that don't work as expected or are counterintuitive, please open an issue so I can prioritize working on them. + ## Rewritten from scratch This version of Nuclear has been rewritten from scratch and released in version 0.4.0. The code is completely new, much more maintainable and extensible. From d3a763d96a12887f697747f8956005272b236af5 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 12 Feb 2018 22:45:58 +0100 Subject: [PATCH 067/487] Add rollbar error monitoring --- app/App.js | 2 +- app/index.html | 10 ++++++++++ index.html | 10 ++++++++++ index.prod.html | 10 ++++++++++ package.json | 2 +- 5 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/App.js b/app/App.js index 638c8ab73a..61ab9988d6 100644 --- a/app/App.js +++ b/app/App.js @@ -84,7 +84,7 @@ class App extends React.Component { width="150px" src={logoImg} /> -

+
Version 0.4.2
Dashboard diff --git a/app/index.html b/app/index.html index 5d59781b6f..42bd39e449 100644 --- a/app/index.html +++ b/app/index.html @@ -3,6 +3,16 @@ nuclear music player + diff --git a/index.html b/index.html index 5d59781b6f..42bd39e449 100644 --- a/index.html +++ b/index.html @@ -3,6 +3,16 @@ nuclear music player + diff --git a/index.prod.html b/index.prod.html index 480c713b71..3a6ab1ce3e 100644 --- a/index.prod.html +++ b/index.prod.html @@ -3,6 +3,16 @@ nuclear music player + diff --git a/package.json b/package.json index dccfaa32cb..840d0459ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nuclear", - "version": "0.4.1", + "version": "0.4.2", "description": "Streaming music player that finds music sources automatically.", "main": "main.js", "scripts": { From 5bd6c657a2792b611b2babc33aeb4a2a1dd586df Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 12 Feb 2018 23:32:12 +0100 Subject: [PATCH 068/487] Update mpris playback status --- app/actions/player.js | 3 +++ app/containers/IpcContainer/index.js | 2 +- app/mpris.js | 29 ++++++++++++--------------- build/icons/256x256.png | Bin 33310 -> 0 bytes main.js | 8 ++++++++ 5 files changed, 25 insertions(+), 17 deletions(-) delete mode 100644 build/icons/256x256.png diff --git a/app/actions/player.js b/app/actions/player.js index 4e4baa9a19..19215e1aa9 100644 --- a/app/actions/player.js +++ b/app/actions/player.js @@ -1,4 +1,5 @@ import Sound from 'react-sound'; +import { sendPaused, sendPlay } from '../mpris'; export const START_PLAYBACK = 'START_PLAYBACK'; export const PAUSE_PLAYBACK = 'PAUSE_PLAYBACK'; @@ -17,6 +18,7 @@ export function togglePlayback(currentState) { } export function startPlayback() { + sendPlay(); return { type: START_PLAYBACK, payload: null @@ -24,6 +26,7 @@ export function startPlayback() { } export function pausePlayback() { + sendPaused(); return { type: PAUSE_PLAYBACK, payload: null diff --git a/app/containers/IpcContainer/index.js b/app/containers/IpcContainer/index.js index 1b29acc14a..f7b73572fb 100644 --- a/app/containers/IpcContainer/index.js +++ b/app/containers/IpcContainer/index.js @@ -40,7 +40,7 @@ function mapStateToProps(state) { return { player: state.player, queue: state.queue - } + }; } function mapDispatchToProps(dispatch) { diff --git a/app/mpris.js b/app/mpris.js index 2aaa838281..0fa0a2b29e 100644 --- a/app/mpris.js +++ b/app/mpris.js @@ -1,40 +1,37 @@ import { ipcRenderer } from 'electron'; -function onNext(event, actions) { +export function onNext(event, actions) { actions.nextSong(); } -function onPrevious(event, actions) { +export function onPrevious(event, actions) { actions.previousSong(); } -function onPause(event, actions) { +export function onPause(event, actions) { actions.pausePlayback(); } -function onPlayPause(event, actions, state) { +export function onPlayPause(event, actions, state) { actions.togglePlayback(state.playbackStatus); } -function onStop(event, actions) { +export function onStop(event, actions) { actions.pausePlayback(); } -function onPlay(event, actions) { +export function onPlay(event, actions) { actions.startPlayback(); } -function onSongChange(song) { +export function onSongChange(song) { ipcRenderer.send('songChange', song); } +export function sendPlay() { + ipcRenderer.send('play'); +} -module.exports = { - onNext, - onPrevious, - onPause, - onPlayPause, - onStop, - onPlay, - onSongChange -}; +export function sendPaused() { + ipcRenderer.send('paused'); +} diff --git a/build/icons/256x256.png b/build/icons/256x256.png deleted file mode 100644 index 90e73baa55e488649df6c19609c4c0ae58eafb5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33310 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

*#d_#b@=bHRArDrDwERXnjW_t_e0X#brkAh)?C@ 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 WNHmJuoF2Kc0~BAX%2r961pPm>(mgK# diff --git a/main.js b/main.js index 4445ed3387..f27a0ce0ca 100644 --- a/main.js +++ b/main.js @@ -105,6 +105,14 @@ function createWindow() { player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds } }); + + ipcMain.on('play', (event, arg) => { + player.playbackStatus = 'Playing'; + }); + + ipcMain.on('paused', (event, arg) => { + player.playbackStatus = 'Paused'; + }); } } From 522a239df23b797e99b87a8691240365e12e7a98 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 12 Feb 2018 23:51:36 +0100 Subject: [PATCH 069/487] Implement title bar buttons functionality --- app/components/WindowControls/index.js | 8 ++++++++ app/mpris.js | 12 ++++++++++++ main.js | 12 ++++++++++++ main.prod.js | 20 ++++++++++++++++++++ 4 files changed, 52 insertions(+) diff --git a/app/components/WindowControls/index.js b/app/components/WindowControls/index.js index 2310053d30..8f28299a2e 100644 --- a/app/components/WindowControls/index.js +++ b/app/components/WindowControls/index.js @@ -2,6 +2,11 @@ import React from 'react'; import styles from './styles.css'; +import { + sendClose, + sendMinimize, + sendMaximize +} from '../../mpris'; import WindowButton from './WindowButton'; class WindowControls extends React.Component { @@ -11,12 +16,15 @@ class WindowControls extends React.Component {

); diff --git a/app/mpris.js b/app/mpris.js index 0fa0a2b29e..647598a28c 100644 --- a/app/mpris.js +++ b/app/mpris.js @@ -35,3 +35,15 @@ export function sendPlay() { export function sendPaused() { ipcRenderer.send('paused'); } + +export function sendClose() { + ipcRenderer.send('close'); +} + +export function sendMinimize() { + ipcRenderer.send('minimize'); +} + +export function sendMaximize() { + ipcRenderer.send('maximize'); +} diff --git a/main.js b/main.js index f27a0ce0ca..40a9e22a87 100644 --- a/main.js +++ b/main.js @@ -66,6 +66,18 @@ function createWindow() { tray.setTitle('nuclear music player'); tray.setToolTip('nuclear music player'); tray.setContextMenu(trayMenu); + + ipcMain.on('close', () => { + app.quit(); + }); + + ipcMain.on('minimize', () => { + win.minimize(); + }); + + ipcMain.on('maximize', () => { + win.isMaximized() ? win.unmaximize() : win.maximize(); + }); // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { diff --git a/main.prod.js b/main.prod.js index 4fe3e89631..0d04f43edd 100644 --- a/main.prod.js +++ b/main.prod.js @@ -55,6 +55,18 @@ function createWindow() { tray.setToolTip('nuclear music player'); tray.setContextMenu(trayMenu); + ipcMain.on('close', () => { + app.quit(); + }); + + ipcMain.on('minimize', () => { + win.minimize(); + }); + + ipcMain.on('maximize', () => { + win.isMaximized() ? win.unmaximize() : win.maximize(); + }); + // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { player = Player({ @@ -93,6 +105,14 @@ function createWindow() { player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds } }); + + ipcMain.on('play', (event, arg) => { + player.playbackStatus = 'Playing'; + }); + + ipcMain.on('paused', (event, arg) => { + player.playbackStatus = 'Paused'; + }); } } From fe65bdc0d527496111e6c4de2f711d1b0c555974 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 13 Feb 2018 01:36:00 +0100 Subject: [PATCH 070/487] Prototype popup for queue items --- app/components/PlayQueue/index.js | 21 ++++++---- app/components/QueuePopup/index.js | 55 +++++++++++++++++++++++++++ app/components/QueuePopup/styles.scss | 18 +++++++++ 3 files changed, 86 insertions(+), 8 deletions(-) create mode 100644 app/components/QueuePopup/index.js create mode 100644 app/components/QueuePopup/styles.scss diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 065237d65c..1e4c82f273 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -3,6 +3,7 @@ import classnames from 'classnames'; import styles from './styles.scss'; +import QueuePopup from '../QueuePopup'; import QueueItem from './QueueItem'; import QueueMenu from './QueueMenu'; @@ -18,14 +19,18 @@ class PlayQueue extends React.Component { return this.props.items.map((el, i) => { return ( - + + } + /> ); }); } diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js new file mode 100644 index 0000000000..9c2370b19f --- /dev/null +++ b/app/components/QueuePopup/index.js @@ -0,0 +1,55 @@ +import React from 'react'; +import { Popup } from 'semantic-ui-react'; + +import styles from './styles.scss'; + +class QueuePopup extends React.Component { + constructor(props) { + super(props); + + this.state = { + isOpen: false + }; + } + + toggleOpen() { + this.setState({ + isOpen: !this.state.isOpen + }); + } + + handleOpen() { + this.setState({ isOpen: true }); + } + + handleClose() { + this.setState({ isOpen: false }); + } + + render() { + let { + trigger + } = this.props; + return ( +
+ +
+ test +
+
+
+ ); + } +} + +export default QueuePopup; diff --git a/app/components/QueuePopup/styles.scss b/app/components/QueuePopup/styles.scss new file mode 100644 index 0000000000..271c4135c2 --- /dev/null +++ b/app/components/QueuePopup/styles.scss @@ -0,0 +1,18 @@ +@import '../../vars'; + +.queue_popup { + display: flex !important; + flex-flow: row; + background-color: $background !important; + color: $white !important; + border-color: $background2 !important; + box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.18), 0px 0px 20px 0px rgba(0, 0, 0, 0.09) !important; + height: auto !important; + + &:before { + background-color: $background !important; + box-shadow: 1px 1px 0 0 $background2 !important; + } + + transition: 0.2s; +} From 4b63e7f3cedd90505c4911322f8769003390ef8a Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 13 Feb 2018 21:59:11 +0100 Subject: [PATCH 071/487] Update some packages and build config --- package.json | 264 ++++++++++++++++++++++++++------------------------- 1 file changed, 133 insertions(+), 131 deletions(-) diff --git a/package.json b/package.json index 840d0459ec..0f175a9518 100644 --- a/package.json +++ b/package.json @@ -1,138 +1,140 @@ { - "name": "nuclear", - "version": "0.4.2", - "description": "Streaming music player that finds music sources automatically.", - "main": "main.js", - "scripts": { - "start": "npm-run-all --parallel watch electron", - "electron": "electron .", - "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", - "test": "mocha --require babel-register", - "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", - "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", - "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", - "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", - "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", - "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/nukeop/nuclear.git" - }, - "keywords": [ - "electron", - "music", - "youtube" - ], - "author": { - "name": "nukeop", - "email": "nuclear@gumblert.tech" - }, - "license": "GPL-3.0", - "bugs": { - "url": "https://github.com/nukeop/nuclear/issues" - }, - "homepage": "https://github.com/nukeop/nuclear#readme", - "dependencies": { - "billboard-top-100": "^2.0.8", - "electron-platform": "^1.2.0", - "font-awesome": "^4.7.0", - "lowdb": "^1.0.0", - "md5": "^2.2.1", - "moment": "^2.20.1", - "numeral": "^2.0.6", - "pitchfork-bnm": "^1.0.3", - "react": "^16.2.0", - "react-dom": "^16.2.0", - "react-router-transition": "^1.2.1", - "react-sound": "^1.1.0", - "semantic-ui-react": "^0.78.2", - "ytdl-core": "^0.20.1" - }, - "devDependencies": { - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.1", - "babel-preset-es2015": "^6.24.1", - "babel-preset-react": "^6.24.1", - "babel-register": "^6.26.0", - "chai": "^4.1.2", - "classnames": "^2.2.5", - "css-loader": "^0.28.9", - "electron": "^1.8.2", - "electron-builder": "^20.0.2", - "electron-devtools-installer": "^2.2.3", - "extract-text-webpack-plugin": "^3.0.2", - "file-loader": "^1.1.6", - "google-fonts-webpack-plugin": "^0.4.4", - "happypack": "^4.0.1", - "isomorphic-fetch": "^2.2.1", - "lodash": "^4.17.5", - "mocha": "^5.0.0", - "node-sass": "^4.7.2", - "nodebrainz": "^2.1.1", - "npm-run-all": "^4.1.2", - "react-debounce-input": "^3.2.0", - "react-fontawesome": "^1.6.1", - "react-hot-loader": "next", - "react-redux": "^5.0.6", - "react-router": "^4.2.0", - "react-router-dom": "^4.2.2", - "react-router-redux": "^4.0.8", - "redux": "^3.7.2", - "redux-promise": "^0.5.3", - "redux-thunk": "^2.2.0", - "sass-loader": "^6.0.6", - "style-loader": "^0.20.1", - "uglifyjs-webpack-plugin": "^1.1.8", - "url-loader": "^0.6.2", - "webpack": "^3.10.0", - "webpack-dev-server": "^2.11.1" - }, - "optionalDependencies": { - "dbus": "^1.0.2", - "mpris-service": "^1.1.3", - "7zip-bin-mac": "^1.0.1" - }, - "build": { - "appId": "nuclear", - "productName": "nuclear", - "directories": { - "output": "release" + "name": "nuclear", + "version": "0.4.2", + "description": "Streaming music player that finds music sources automatically.", + "main": "main.js", + "scripts": { + "start": "npm-run-all --parallel watch electron", + "electron": "electron .", + "watch": "webpack-dev-server --inline --progress --env=dev", + "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", + "test": "mocha --require babel-register", + "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", + "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", + "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", + "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", + "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", + "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl" }, - "files": [ - "dist/", - "resources/", - "index.prod.html", - "main.prod.js", - "mpris.js", - "package.json" - ], - "extraFiles": [ - "resources" + "repository": { + "type": "git", + "url": "git+https://github.com/nukeop/nuclear.git" + }, + "keywords": [ + "electron", + "music", + "youtube" ], - "linux": { - "target": [ - "AppImage", - "deb", - "tar.gz" - ], - "category": "Audio;AudioVideo;Network;Player;Music" + "author": { + "name": "nukeop", + "email": "nuclear@gumblert.tech" + }, + "license": "GPL-3.0", + "bugs": { + "url": "https://github.com/nukeop/nuclear/issues" + }, + "homepage": "https://github.com/nukeop/nuclear#readme", + "dependencies": { + "billboard-top-100": "^2.0.8", + "electron-platform": "^1.2.0", + "font-awesome": "^4.7.0", + "lowdb": "^1.0.0", + "md5": "^2.2.1", + "moment": "^2.20.1", + "numeral": "^2.0.6", + "pitchfork-bnm": "^1.0.3", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-router-transition": "^1.2.1", + "react-sound": "^1.1.0", + "semantic-ui-react": "^0.78.2", + "ytdl-core": "^0.20.1" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.1", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-register": "^6.26.0", + "chai": "^4.1.2", + "classnames": "^2.2.5", + "css-loader": "^0.28.9", + "electron": "^1.8.2", + "electron-builder": "^20.0.4", + "electron-devtools-installer": "^2.2.3", + "extract-text-webpack-plugin": "^3.0.2", + "file-loader": "^1.1.6", + "google-fonts-webpack-plugin": "^0.4.4", + "happypack": "^4.0.1", + "isomorphic-fetch": "^2.2.1", + "lodash": "^4.17.5", + "mocha": "^5.0.0", + "node-sass": "^4.7.2", + "nodebrainz": "^2.1.1", + "npm-run-all": "^4.1.2", + "react-debounce-input": "^3.2.0", + "react-fontawesome": "^1.6.1", + "react-hot-loader": "next", + "react-redux": "^5.0.6", + "react-router": "^4.2.0", + "react-router-dom": "^4.2.2", + "react-router-redux": "^4.0.8", + "redux": "^3.7.2", + "redux-promise": "^0.5.3", + "redux-thunk": "^2.2.0", + "sass-loader": "^6.0.6", + "style-loader": "^0.20.1", + "uglifyjs-webpack-plugin": "^1.1.8", + "url-loader": "^0.6.2", + "webpack": "^3.11.0", + "webpack-dev-server": "^2.11.1" }, - "mac": { - "category": "public.app-category.music", - "target": [ - "zip", - "pkg", - "dmg" - ] + "optionalDependencies": { + "dbus": "^1.0.3", + "mpris-service": "^1.1.3", + "7zip-bin-mac": "^1.0.1" }, - "win": { - "target": [ - "nsis", - "portable" - ] + "build": { + "appId": "nuclear", + "productName": "nuclear", + "directories": { + "output": "release", + "buildResources": "resources/media" + }, + "files": [ + "dist/", + "resources/", + "index.prod.html", + "main.prod.js", + "mpris.js", + "package.json" + ], + "extraFiles": [ + "resources" + ], + "linux": { + "icon": "build/1024x1024.png", + "target": [ + "AppImage", + "deb", + "tar.gz" + ], + "category": "Audio;AudioVideo;Network;Player;Music" + }, + "mac": { + "category": "public.app-category.music", + "target": [ + "zip", + "pkg", + "dmg" + ] + }, + "win": { + "target": [ + "nsis", + "portable" + ] + } } - } } From 3ada837e5524933650dc2d58d857dccc19453b2e Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 13 Feb 2018 22:00:03 +0100 Subject: [PATCH 072/487] Linux icon --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0f175a9518..483009861f 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "resources" ], "linux": { - "icon": "build/1024x1024.png", + "icon": "1024x1024.png", "target": [ "AppImage", "deb", From 57616084a1da3a11ba3d53f9680d6a4d5ac7fb99 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 13 Feb 2018 22:07:35 +0100 Subject: [PATCH 073/487] Add debug env var --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8461a9483a..2190419daa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ script: - npm run build:dist - | if [ "$TRAVIS_OS_NAME" == "linux" ]; then - npm run build:linux + DEBUG=electron-builder npm run build:linux && npm run build:windows else npm run build:macos fi From e15ad2945e8003bf5fc679374c2ff0fa8f57edb2 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 13 Feb 2018 22:15:01 +0100 Subject: [PATCH 074/487] Add 1024x1024 icon --- build/1024x1024.png | Bin 0 -> 178104 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 build/1024x1024.png diff --git a/build/1024x1024.png b/build/1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..d3193755a1944bcbf26f2c3bba3faa9736081e7b GIT binary patch literal 178104 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%0AwObc2g$`+(NA9 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
test diff --git a/app/components/QueuePopup/styles.scss b/app/components/QueuePopup/styles.scss index 271c4135c2..249a58ab84 100644 --- a/app/components/QueuePopup/styles.scss +++ b/app/components/QueuePopup/styles.scss @@ -11,7 +11,7 @@ &:before { background-color: $background !important; - box-shadow: 1px 1px 0 0 $background2 !important; + box-shadow: 1px -1px 0 0 $background2 !important; } transition: 0.2s; From 7708edf8118f86430bf2625494d5e6e804c2473b Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Wed, 14 Feb 2018 11:29:58 +0100 Subject: [PATCH 077/487] Add links to readme --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 1178e537f3..bc5dad74a4 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,15 @@ # ![nuclear](https://i.imgur.com/oT1006i.png) + [![Maintainability](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/maintainability)](https://codeclimate.com/github/nukeop/nuclear/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/test_coverage)](https://codeclimate.com/github/nukeop/nuclear/test_coverage) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/30750586202742279fa8958a12e519ed)](https://www.codacy.com/app/nukeop/nuclear?utm_source=github.com&utm_medium=referral&utm_content=nukeop/nuclear&utm_campaign=Badge_Grade) ![Travis](https://api.travis-ci.org/nukeop/nuclear.svg?branch=master) An Electron-based, multiplatform music player app that streams from multiple sources +[Official website](http://nuclear.gumblert.tech) + +[Mastodon](https://mstdn.io/@nuclear) + +[Twitter](https://twitter.com/nuclear_player) + ## What is this? nuclear is a free music streaming program that pulls content from free sources all over the internet. From ef86cccd817553c43289c26fc6e565927bbc76c8 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 14 Feb 2018 16:50:32 +0100 Subject: [PATCH 078/487] Add more info to stream objects --- app/components/PlayQueue/index.js | 3 +- app/components/QueuePopup/index.js | 45 ++++++++++++----------- app/plugins/MusicSources/YoutubePlugin.js | 11 +++++- 3 files changed, 34 insertions(+), 25 deletions(-) diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 1e4c82f273..8074d073f9 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -30,7 +30,8 @@ class PlayQueue extends React.Component { selectSong={this.props.selectSong} /> } - /> + track={el} + /> ); }); } diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 2b87549c08..9f0bafa366 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -29,33 +29,34 @@ class QueuePopup extends React.Component { render() { let { - trigger + trigger, + track } = this.props; return (
+ onContextMenu={this.toggleOpen.bind(this)} + > { this.container = element; }} - > - {trigger} -
- } - open={this.state.isOpen} - onClose={this.handleClose.bind(this)} - onOpen={this.handleOpen.bind(this)} - hideOnScroll - position='left center' - on='' - > -
- test -
- + className={styles.queue_popup} + trigger={ +
{ this.container = element; }} + > + {trigger} +
+ } + open={this.state.isOpen} + onClose={this.handleClose.bind(this)} + onOpen={this.handleOpen.bind(this)} + hideOnScroll + position='left center' + on='' + > +
+ test
+ +
); } } diff --git a/app/plugins/MusicSources/YoutubePlugin.js b/app/plugins/MusicSources/YoutubePlugin.js index 499f2bd007..1fe4b8b7e5 100644 --- a/app/plugins/MusicSources/YoutubePlugin.js +++ b/app/plugins/MusicSources/YoutubePlugin.js @@ -17,11 +17,18 @@ class YoutubePlugin extends MusicSourcePlugin { .then(results => { let song = _.head(results.items); let id = song.id.videoId; - return ytdl.getInfo(`http://www.youtube.com/watch?v=${id}`, ) + return ytdl.getInfo(`http://www.youtube.com/watch?v=${id}`); }) .then(videoInfo => { let formatInfo = _.head(videoInfo.formats.filter(e => e.itag=='140')); - return {stream: formatInfo.url, duration: videoInfo.length_seconds}; + return { + source: 'Youtube', + id: videoInfo.video_id, + stream: formatInfo.url, + duration: videoInfo.length_seconds, + title: videoInfo.title, + thumbnail: videoInfo.thumbnail_url + }; }); } } From a8c4ebe9e09af1bd7991a27d18c16f0892cd8d15 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 14 Feb 2018 17:01:43 +0100 Subject: [PATCH 079/487] Display some extra info about the stream --- app/components/QueuePopup/index.js | 24 +++++++++++++++++++++--- app/components/QueuePopup/styles.scss | 26 ++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 9f0bafa366..ffc503ff84 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -32,6 +32,7 @@ class QueuePopup extends React.Component { trigger, track } = this.props; + console.log(track); return (
-
- test -
+ { + track.streams && Object.keys(track.streams).length > 0 + ? ( +
+
+ Source: {track.streams[0].source} +
+
+ Title: {track.streams[0].title} +
+
+ Stream ID: {track.streams[0].id} +
+ + +
+ ) + : null + } +
); diff --git a/app/components/QueuePopup/styles.scss b/app/components/QueuePopup/styles.scss index 249a58ab84..28e19b0244 100644 --- a/app/components/QueuePopup/styles.scss +++ b/app/components/QueuePopup/styles.scss @@ -15,4 +15,30 @@ } transition: 0.2s; + + .stream_info { + display: flex; + flex-flow: column; + } + + .stream_source { + + } + + .stream_source_string { + color: rgba($white, 0.35); + } + + .stream_title { + + } + + .stream_id { + + } + + img { + width: 33%; + height: auto; + } } From 18d3450f45e4a4058a6c99304ca3a52ad51890b2 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 15 Feb 2018 00:36:06 +0100 Subject: [PATCH 080/487] Queue popups development, remove rollbar from dev version --- app/components/PlayQueue/index.js | 1 + app/components/QueuePopup/index.js | 97 ++++++++++++++--------- app/components/QueuePopup/styles.scss | 35 +++++++- app/plugins/MusicSources/YoutubePlugin.js | 1 + index.html | 35 +++----- 5 files changed, 105 insertions(+), 64 deletions(-) diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 8074d073f9..3187dc2444 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -31,6 +31,7 @@ class PlayQueue extends React.Component { /> } track={el} + musicSources={this.props.musicSources} /> ); }); diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index ffc503ff84..fc8acfb89c 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -1,5 +1,9 @@ import React from 'react'; -import { Popup } from 'semantic-ui-react'; +import _ from 'lodash'; +import { + Dropdown, + Popup +} from 'semantic-ui-react'; import styles from './styles.scss'; @@ -30,51 +34,68 @@ class QueuePopup extends React.Component { render() { let { trigger, - track + track, + musicSources } = this.props; - console.log(track); + + let dropdownOptions = _.map(musicSources, s => { + return { + key: s.sourceName, + text: s.sourceName, + value: s.sourceName, + content: s.sourceName + }; + }); return (
{ this.container = element; }} - > - {trigger} -
- } - open={this.state.isOpen} - onClose={this.handleClose.bind(this)} - onOpen={this.handleOpen.bind(this)} - hideOnScroll - position='left center' - on='' - > - { - track.streams && Object.keys(track.streams).length > 0 - ? ( -
-
- Source: {track.streams[0].source} -
-
- Title: {track.streams[0].title} -
-
- Stream ID: {track.streams[0].id} -
- - + className={styles.queue_popup} + trigger={ +
{ this.container = element; }} + > + {trigger}
- ) - : null - } + } + open={this.state.isOpen} + onClose={this.handleClose.bind(this)} + onOpen={this.handleOpen.bind(this)} + hideOnScroll + position='left center' + on='' + > + { + track.streams && Object.keys(track.streams).length > 0 + ? ( +
+
+ +
+
+
+ Source: o.value === track.streams[0].source).value} + /> +
+
+ Title: {track.streams[0].title} +
+
+ Stream ID: {track.streams[0].id} +
+
+ +
+ ) + : null + } - -
+ + ); } } diff --git a/app/components/QueuePopup/styles.scss b/app/components/QueuePopup/styles.scss index 28e19b0244..e07e24410b 100644 --- a/app/components/QueuePopup/styles.scss +++ b/app/components/QueuePopup/styles.scss @@ -17,16 +17,33 @@ transition: 0.2s; .stream_info { + position: relative; + display: block; + } + + .stream_text_info { + position: absolute; + top: 0; + bottom: 0; display: flex; flex-flow: column; + padding: 0.5rem; + background: rgba($black, 0.85); + border-radius: 0.25rem; } - .stream_source { + .menu.transition.visible { + height: max-content; + background-color: $background2; + padding: 0; + } + .text { + color: $white; } - .stream_source_string { - color: rgba($white, 0.35); + .stream_source { + } .stream_title { @@ -37,8 +54,18 @@ } + .stream_thumbnail { + display: flex; + flex-flow: row; + justify-content: center; + align-items: center; + width: 100%; + border-radius: 0.25rem; + overflow: hidden; + } + img { - width: 33%; + width: 100%; height: auto; } } diff --git a/app/plugins/MusicSources/YoutubePlugin.js b/app/plugins/MusicSources/YoutubePlugin.js index 1fe4b8b7e5..b5a9269903 100644 --- a/app/plugins/MusicSources/YoutubePlugin.js +++ b/app/plugins/MusicSources/YoutubePlugin.js @@ -8,6 +8,7 @@ class YoutubePlugin extends MusicSourcePlugin { constructor() { super(); this.name = 'Youtube Plugin'; + this.sourceName = 'Youtube'; this.description = 'A plugin allowing nuclear to search for music and play it from youtube'; } diff --git a/index.html b/index.html index 42bd39e449..ae5077639b 100644 --- a/index.html +++ b/index.html @@ -1,27 +1,18 @@ - - - nuclear music player - - - - - - + + + nuclear music player + + + + + + -
+
- - - + + + From bc93b8a9470c5014b1a86b93f86f5b52ce614e29 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 15 Feb 2018 15:59:00 +0100 Subject: [PATCH 081/487] Show stream loading on the play button --- app/App.js | 1 + app/actions/player.js | 8 +++++ .../PlayerControls/PlayPauseButton/index.js | 9 +++--- .../PlayPauseButton/styles.scss | 8 +++++ app/components/PlayerControls/index.js | 5 +++- app/components/QueuePopup/index.js | 9 +++--- app/components/QueuePopup/styles.scss | 13 +++++++-- app/containers/SoundContainer/index.js | 29 +++++++++++++------ app/reducers/player.js | 8 ++++- 9 files changed, 69 insertions(+), 21 deletions(-) diff --git a/app/App.js b/app/App.js index 61ab9988d6..7c7d4d8b0d 100644 --- a/app/App.js +++ b/app/App.js @@ -118,6 +118,7 @@ class App extends React.Component { diff --git a/app/actions/player.js b/app/actions/player.js index 19215e1aa9..d1b2cf754c 100644 --- a/app/actions/player.js +++ b/app/actions/player.js @@ -6,6 +6,7 @@ export const PAUSE_PLAYBACK = 'PAUSE_PLAYBACK'; export const UPDATE_PLAYBACK_PROGRESS = 'UPDATE_PLAYBACK_PROGRESS'; export const UPDATE_SEEK = 'UPDATE_SEEK'; export const UPDATE_VOLUME = 'UPDATE_VOLUME'; +export const UPDATE_PLAYBACK_STREAM_LOADING = 'UPDATE_PLAYBACK_STREAM_LOADING'; export function togglePlayback(currentState) { return dispatch => { @@ -56,3 +57,10 @@ export function updateVolume(volume) { payload: volume }; } + +export function updateStreamLoading(state) { + return { + type: UPDATE_PLAYBACK_STREAM_LOADING, + payload: state + }; +} diff --git a/app/components/PlayerControls/PlayPauseButton/index.js b/app/components/PlayerControls/PlayPauseButton/index.js index 051fde9388..edb1ca17a7 100644 --- a/app/components/PlayerControls/PlayPauseButton/index.js +++ b/app/components/PlayerControls/PlayPauseButton/index.js @@ -1,14 +1,15 @@ import React from 'react'; +import classnames from 'classnames'; import FontAwesome from 'react-fontawesome'; import styles from './styles.scss'; class PlayPauseButton extends React.Component { getIcon() { - if (this.props.playing) { - return ; - } else if (this.props.loading) { + if (this.props.loading) { return ; + } else if (this.props.playing) { + return ; } else { return ; } @@ -16,7 +17,7 @@ class PlayPauseButton extends React.Component { render() { return ( -
+
{ this.getIcon() } diff --git a/app/components/PlayerControls/PlayPauseButton/styles.scss b/app/components/PlayerControls/PlayPauseButton/styles.scss index a4e36a1517..06b1744228 100644 --- a/app/components/PlayerControls/PlayPauseButton/styles.scss +++ b/app/components/PlayerControls/PlayPauseButton/styles.scss @@ -16,6 +16,12 @@ flex-flow: row; align-items: center; + &.loading { + a { + padding: 0; + } + } + a { flex: 1 1 auto; padding-left: 0.3rem; @@ -24,4 +30,6 @@ margin-left: -0.3rem; } } + + } diff --git a/app/components/PlayerControls/index.js b/app/components/PlayerControls/index.js index 400c9a5974..998ffa1632 100644 --- a/app/components/PlayerControls/index.js +++ b/app/components/PlayerControls/index.js @@ -12,7 +12,10 @@ class PlayerControls extends React.Component {
- +
diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index fc8acfb89c..f93f14aefa 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -56,8 +56,8 @@ class QueuePopup extends React.Component {
{ this.container = element; }} > - {trigger} -
+ {trigger} +
} open={this.state.isOpen} onClose={this.handleClose.bind(this)} @@ -75,14 +75,15 @@ class QueuePopup extends React.Component {
- Source: Source: o.value === track.streams[0].source).value} />
- Title: {track.streams[0].title} + Title: + {track.streams[0].title}
Stream ID: {track.streams[0].id} diff --git a/app/components/QueuePopup/styles.scss b/app/components/QueuePopup/styles.scss index e07e24410b..128ba304eb 100644 --- a/app/components/QueuePopup/styles.scss +++ b/app/components/QueuePopup/styles.scss @@ -25,6 +25,7 @@ position: absolute; top: 0; bottom: 0; + width: 100%; display: flex; flex-flow: column; padding: 0.5rem; @@ -43,11 +44,19 @@ } .stream_source { - + display: flex; + flex-flow: row; + justify-content: space-between; + + span { + color: rgba($white, 0.25); + } } .stream_title { - + display: flex; + flex-flow: row; + justify-content: space-between; } .stream_id { diff --git a/app/containers/SoundContainer/index.js b/app/containers/SoundContainer/index.js index 5ae960ac5d..0c74928669 100644 --- a/app/containers/SoundContainer/index.js +++ b/app/containers/SoundContainer/index.js @@ -14,6 +14,15 @@ class SoundContainer extends React.Component { let seek = update.position; let progress = (update.position/update.duration) * 100; this.props.actions.updatePlaybackProgress(progress, seek); + this.props.actions.updateStreamLoading(false); + } + + handleLoading() { + this.props.actions.updateStreamLoading(true); + } + + handleLoaded() { + this.props.actions.updateStreamLoading(false); } handleFinishedPlaying() { @@ -21,7 +30,7 @@ class SoundContainer extends React.Component { let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; this.props.actions.scrobbleAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); } - this.props.actions.nextSong(); + this.props.actions.nextSong(); } shouldComponentUpdate(nextProps) { @@ -44,16 +53,18 @@ class SoundContainer extends React.Component { streamUrl = currentSong.streams[0].stream; } } - + return ( + url={streamUrl} + playStatus={player.playbackStatus} + onPlaying={this.handlePlaying.bind(this)} + onFinishedPlaying={this.handleFinishedPlaying.bind(this)} + onLoading={this.handleLoading.bind(this)} + onLoad={this.handleLoaded.bind(this)} + position={player.seek} + volume={player.volume} + /> ); } } diff --git a/app/reducers/player.js b/app/reducers/player.js index bd791a6804..1698851248 100644 --- a/app/reducers/player.js +++ b/app/reducers/player.js @@ -5,7 +5,8 @@ import { PAUSE_PLAYBACK, UPDATE_PLAYBACK_PROGRESS, UPDATE_SEEK, - UPDATE_VOLUME + UPDATE_VOLUME, + UPDATE_PLAYBACK_STREAM_LOADING } from '../actions/player'; import { @@ -16,6 +17,7 @@ import { const initialState = { playbackStatus: Sound.status.PAUSED, + playbackStreamLoading: false, playbackProgress: 0, seek: 0, volume: 100 @@ -51,6 +53,10 @@ export default function PlayerReducer(state=initialState, action) { playbackProgress: 0, seek: 0 }); + case UPDATE_PLAYBACK_STREAM_LOADING: + return Object.assign({}, state, { + playbackStreamLoading: action.payload + }); default: return state; } From 3716275960a991b2f2280e515e12439fbb2cadf5 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 15 Feb 2018 16:42:23 +0100 Subject: [PATCH 082/487] Queue popup buttons --- app/components/QueuePopup/index.js | 18 +++++++++++--- app/components/QueuePopup/styles.scss | 35 ++++++++++++++++++++------- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index f93f14aefa..a40dcbb3dd 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import FontAwesome from 'react-fontawesome'; import _ from 'lodash'; import { Dropdown, @@ -30,6 +31,10 @@ class QueuePopup extends React.Component { handleClose() { this.setState({ isOpen: false }); } + + handleDoubleClick() { + this.container.dblclick(); + } render() { let { @@ -49,6 +54,7 @@ class QueuePopup extends React.Component { return (
- Source: Source: o.value === track.streams[0].source).value} />
- Title: + {track.streams[0].title}
- Stream ID: {track.streams[0].id} + + {track.streams[0].id}
+
+ +
) - : null + :
Stream still loading.
} diff --git a/app/components/QueuePopup/styles.scss b/app/components/QueuePopup/styles.scss index 128ba304eb..1e9b7a66d0 100644 --- a/app/components/QueuePopup/styles.scss +++ b/app/components/QueuePopup/styles.scss @@ -43,24 +43,24 @@ color: $white; } + label { + color: rgba($white, 0.25); + font-size: 12px; + } + .stream_source { display: flex; - flex-flow: row; - justify-content: space-between; - - span { - color: rgba($white, 0.25); - } + flex-flow: column; } .stream_title { display: flex; - flex-flow: row; - justify-content: space-between; + flex-flow: column; } .stream_id { - + display: flex; + flex-flow: column; } .stream_thumbnail { @@ -77,4 +77,21 @@ width: 100%; height: auto; } + + .stream_buttons { + position: absolute; + top: 0; + bottom: 0; + width: 100%; + display: flex; + flex-flow: column; + justify-content: flex-end; + align-items: flex-end; + padding: 0.5rem; + + a { + background: rgba($black, 0.5); + padding: 0.5rem 0.75rem; + } + } } From 787716f3c14f6e87075433000711faad11588772 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 16 Feb 2018 03:52:45 +0100 Subject: [PATCH 083/487] Add a way to find alternate streams for tracks --- app/actions/queue.js | 15 +++++++++++++- app/components/PlayQueue/index.js | 1 + app/components/QueuePopup/index.js | 9 +++++++-- app/containers/PlayQueueContainer/index.js | 1 + app/plugins/MusicSources/YoutubePlugin.js | 23 ++++++++++++++++++++++ app/plugins/musicSources.js | 4 ++++ app/reducers/queue.js | 13 ++++++++++-- 7 files changed, 61 insertions(+), 5 deletions(-) diff --git a/app/actions/queue.js b/app/actions/queue.js index cae62e0b37..7e333c086a 100644 --- a/app/actions/queue.js +++ b/app/actions/queue.js @@ -2,6 +2,7 @@ var _ = require('lodash'); export const ADD_TO_QUEUE = 'ADD_TO_QUEUE'; export const CLEAR_QUEUE = 'CLEAR_QUEUE'; export const ADD_STREAMS_TO_QUEUE_ITEM = 'ADD_STREAMS_TO_QUEUE_ITEM'; +export const REPLACE_STREAMS_IN_QUEUE_ITEM = 'REPLACE_STREAMS_IN_QUEUE_ITEM'; export const NEXT_SONG = 'NEXT_SONG'; export const PREVIOUS_SONG = 'PREVIOUS_SONG'; export const SELECT_SONG = 'SELECT_SONG'; @@ -48,6 +49,18 @@ export function addPlaylistTracksToQueue(musicSources, tracks) { }; } +export function rerollTrack(musicSource, track) { + return dispatch => { + musicSource.getAlternateStream(track.artist + ' ' + track.name, track.streams[0]) + .then(newStream => { + dispatch({ + type: REPLACE_STREAMS_IN_QUEUE_ITEM, + payload: Object.assign({}, track, {streams: [newStream]}) + }); + }); + }; +} + export function clearQueue() { return { type: CLEAR_QUEUE, @@ -73,5 +86,5 @@ export function selectSong(index) { return { type: SELECT_SONG, payload: index - } + }; } diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 3187dc2444..914d14ffc7 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -32,6 +32,7 @@ class PlayQueue extends React.Component { } track={el} musicSources={this.props.musicSources} + rerollTrack={this.props.rerollTrack} /> ); }); diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index a40dcbb3dd..695d5e6889 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -35,6 +35,11 @@ class QueuePopup extends React.Component { handleDoubleClick() { this.container.dblclick(); } + + rerollTrack(track) { + let musicSource = _.find(this.props.musicSources, s => s.sourceName == track.streams[0].source); + this.props.rerollTrack(musicSource, track); + } render() { let { @@ -54,7 +59,7 @@ class QueuePopup extends React.Component { return (
diff --git a/app/containers/PlayQueueContainer/index.js b/app/containers/PlayQueueContainer/index.js index 5217242546..5f7dd37dca 100644 --- a/app/containers/PlayQueueContainer/index.js +++ b/app/containers/PlayQueueContainer/index.js @@ -22,6 +22,7 @@ class PlayQueueContainer extends React.Component { currentSong={this.props.queue.currentSong} musicSources={this.props.plugins.musicSources} pluginListSearch={this.props.actions.pluginListSearch} + rerollTrack={this.props.actions.rerollTrack} selectSong={this.props.actions.selectSong} clearQueue={this.props.actions.clearQueue} addPlaylist={this.props.actions.addPlaylist} diff --git a/app/plugins/MusicSources/YoutubePlugin.js b/app/plugins/MusicSources/YoutubePlugin.js index b5a9269903..55a3f29b06 100644 --- a/app/plugins/MusicSources/YoutubePlugin.js +++ b/app/plugins/MusicSources/YoutubePlugin.js @@ -32,6 +32,29 @@ class YoutubePlugin extends MusicSourcePlugin { }; }); } + + getAlternateStream(terms, currentStream) { + return Youtube.trackSearch(terms) + .then(results => results.json()) + .then(results => { + let song = _(results.items).find(item => { + return item && item.id.videoId != currentStream.id; + }); + let id = song.id.videoId; + return ytdl.getInfo(`http://www.youtube.com/watch?v=${id}`); + }) + .then(videoInfo => { + let formatInfo = _.head(videoInfo.formats.filter(e => e.itag=='140')); + return { + source: 'Youtube', + id: videoInfo.video_id, + stream: formatInfo.url, + duration: videoInfo.length_seconds, + title: videoInfo.title, + thumbnail: videoInfo.thumbnail_url + }; + }); + } } export default YoutubePlugin; diff --git a/app/plugins/musicSources.js b/app/plugins/musicSources.js index b9f7cbbca9..2c61cf8b24 100644 --- a/app/plugins/musicSources.js +++ b/app/plugins/musicSources.js @@ -11,6 +11,10 @@ class MusicSourcePlugin extends Plugin { console.error('search not implemented in plugin ' + this.name); } + getAlternateStream(terms, currentStream) { + console.error('getAlternateStream not implemented in plugin ' + this.name); + } + } export default MusicSourcePlugin; diff --git a/app/reducers/queue.js b/app/reducers/queue.js index 923eaaed2b..c0ba5c7b55 100644 --- a/app/reducers/queue.js +++ b/app/reducers/queue.js @@ -2,6 +2,7 @@ import { ADD_TO_QUEUE, CLEAR_QUEUE, ADD_STREAMS_TO_QUEUE_ITEM, + REPLACE_STREAMS_IN_QUEUE_ITEM, NEXT_SONG, PREVIOUS_SONG, SELECT_SONG @@ -15,6 +16,7 @@ const initialState = { }; export default function QueueReducer(state=initialState, action) { + let replaceIx, newQueue; switch (action.type) { case ADD_TO_QUEUE: return Object.assign({}, state, { @@ -25,10 +27,17 @@ export default function QueueReducer(state=initialState, action) { queueItems: [] }); case ADD_STREAMS_TO_QUEUE_ITEM: - let replaceIx = _.findIndex(state.queueItems, item => action.payload.artist===item.artist && action.payload.name ===item.name); - let newQueue = _.cloneDeep(state.queueItems); + replaceIx = _.findIndex(state.queueItems, item => action.payload.artist===item.artist && action.payload.name ===item.name); + newQueue = _.cloneDeep(state.queueItems); newQueue[replaceIx] = Object.assign({}, newQueue[replaceIx], action.payload); + return Object.assign({}, state, { + queueItems: newQueue + }); + case REPLACE_STREAMS_IN_QUEUE_ITEM: + replaceIx = _.findIndex(state.queueItems, item => action.payload.artist===item.artist && action.payload.name===item.name); + newQueue = _.cloneDeep(state.queueItems); + newQueue[replaceIx] = action.payload; return Object.assign({}, state, { queueItems: newQueue }); From 03b46619f14745ebe353bec2cd96ef90bc5db297 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 16 Feb 2018 13:30:59 +0100 Subject: [PATCH 084/487] Removing queue items --- app/actions/queue.js | 15 +- app/components/PlayQueue/QueueItem/index.js | 31 +- .../PlayQueue/QueueItem/styles.scss | 41 +- app/components/PlayQueue/index.js | 3 +- app/containers/PlayQueueContainer/index.js | 3 +- app/reducers/queue.js | 17 +- package-lock.json | 1168 ++++++++++------- package.json | 278 ++-- 8 files changed, 936 insertions(+), 620 deletions(-) diff --git a/app/actions/queue.js b/app/actions/queue.js index 7e333c086a..6ec343c51e 100644 --- a/app/actions/queue.js +++ b/app/actions/queue.js @@ -1,5 +1,8 @@ -var _ = require('lodash'); +const _ = require('lodash'); +const uuidv4 = require('uuid/v4'); + export const ADD_TO_QUEUE = 'ADD_TO_QUEUE'; +export const REMOVE_FROM_QUEUE = 'REMOVE_FROM_QUEUE'; export const CLEAR_QUEUE = 'CLEAR_QUEUE'; export const ADD_STREAMS_TO_QUEUE_ITEM = 'ADD_STREAMS_TO_QUEUE_ITEM'; export const REPLACE_STREAMS_IN_QUEUE_ITEM = 'REPLACE_STREAMS_IN_QUEUE_ITEM'; @@ -8,8 +11,9 @@ export const PREVIOUS_SONG = 'PREVIOUS_SONG'; export const SELECT_SONG = 'SELECT_SONG'; export function addToQueue(musicSources, item) { - return (dispatch) => { + return dispatch => { item.loading = true; + item.uuid = uuidv4(); dispatch({ type: ADD_TO_QUEUE, payload: item @@ -26,6 +30,13 @@ export function addToQueue(musicSources, item) { }; } +export function removeFromQueue(item) { + return { + type: REMOVE_FROM_QUEUE, + payload: item + }; +} + export function addPlaylistTracksToQueue(musicSources, tracks) { return (dispatch) => { tracks.map((track, i) => { diff --git a/app/components/PlayQueue/QueueItem/index.js b/app/components/PlayQueue/QueueItem/index.js index 0008632bc9..d73f635611 100644 --- a/app/components/PlayQueue/QueueItem/index.js +++ b/app/components/PlayQueue/QueueItem/index.js @@ -19,38 +19,51 @@ class QueueItem extends React.Component { this.setState( { style: {'opacity': 1} - })}, 1); + }); + }, 1); } render() { + let { + current, + loading, + track, + index, + selectSong, + removeFromQueue + } = this.props; return (
this.props.selectSong(this.props.index)} + onDoubleClick={() => selectSong(index)} >
{ - this.props.loading + loading ? : - } + } + +
removeFromQueue(track)}> + +
- {this.props.track.name} + {track.name}
- {this.props.track.artist} + {track.artist}
@@ -58,8 +71,8 @@ class QueueItem extends React.Component {
{ - this.props.track.streams - ? formatDuration(this.props.track.streams[0].duration) + track.streams + ? formatDuration(track.streams[0].duration) : null }
diff --git a/app/components/PlayQueue/QueueItem/styles.scss b/app/components/PlayQueue/QueueItem/styles.scss index 5628736bae..52661e8372 100644 --- a/app/components/PlayQueue/QueueItem/styles.scss +++ b/app/components/PlayQueue/QueueItem/styles.scss @@ -13,20 +13,27 @@ flex-flow: row; height: 60px; -} -.queue_item_container>span { - display: flex; - align-items: center; - width: 100%; -} + span { + display: flex; + align-items: center; + width: 100%; -.queue_item_container>span:before { - text-align: center; - flex: 1 1 auto; + &:before { + text-align: center; + flex: 1 1 auto; + } + } + + &:hover { + .thumbnail_overlay { + opacity: 1; + } + } } .thumbnail_container { + position: relative; display: flex; width: 48px; height: 48px; @@ -44,6 +51,22 @@ border-radius: 48px; } +.thumbnail_overlay { + position: absolute; + display: flex; + flex-flow: row; + justify-content: center; + align-items: center; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: rgba($black, 0.85); + opacity: 0; + border-radius: 50%; + cursor: pointer; +} + .item_info_container { display: flex; overflow: hidden; diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 914d14ffc7..eb79a2277c 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -28,6 +28,7 @@ class PlayQueue extends React.Component { loading={el.loading} current={this.props.currentSong==i} selectSong={this.props.selectSong} + removeFromQueue={this.props.removeFromQueue} /> } track={el} @@ -42,7 +43,7 @@ class PlayQueue extends React.Component { return (
diff --git a/app/containers/PlayQueueContainer/index.js b/app/containers/PlayQueueContainer/index.js index 5f7dd37dca..2e7edb4de9 100644 --- a/app/containers/PlayQueueContainer/index.js +++ b/app/containers/PlayQueueContainer/index.js @@ -25,6 +25,7 @@ class PlayQueueContainer extends React.Component { rerollTrack={this.props.actions.rerollTrack} selectSong={this.props.actions.selectSong} clearQueue={this.props.actions.clearQueue} + removeFromQueue={this.props.actions.removeFromQueue} addPlaylist={this.props.actions.addPlaylist} /> ); @@ -36,7 +37,7 @@ function mapStateToProps(state) { queue: state.queue, plugins: state.plugin.plugins, playlists: state.playlists.playlists - } + }; } function mapDispatchToProps(dispatch) { diff --git a/app/reducers/queue.js b/app/reducers/queue.js index c0ba5c7b55..9bbb1eebcb 100644 --- a/app/reducers/queue.js +++ b/app/reducers/queue.js @@ -1,5 +1,6 @@ import { ADD_TO_QUEUE, + REMOVE_FROM_QUEUE, CLEAR_QUEUE, ADD_STREAMS_TO_QUEUE_ITEM, REPLACE_STREAMS_IN_QUEUE_ITEM, @@ -15,19 +16,29 @@ const initialState = { currentSong: 0 }; +function findQueueItemIndex(queueItems, item) { + return _.findIndex(queueItems, i => i.uuid===item.uuid); +} + export default function QueueReducer(state=initialState, action) { - let replaceIx, newQueue; + let replaceIx, removeIx, newQueue; switch (action.type) { case ADD_TO_QUEUE: return Object.assign({}, state, { queueItems: _.union(state.queueItems, [action.payload]) }); + case REMOVE_FROM_QUEUE: + newQueue = _.cloneDeep(state.queueItems); + newQueue = _.filter(newQueue, item => action.payload.uuid!==item.uuid); + return Object.assign({}, state, { + queueItems: newQueue + }); case CLEAR_QUEUE: return Object.assign({}, state, { queueItems: [] }); case ADD_STREAMS_TO_QUEUE_ITEM: - replaceIx = _.findIndex(state.queueItems, item => action.payload.artist===item.artist && action.payload.name ===item.name); + replaceIx = findQueueItemIndex(state.queueItems, action.payload); newQueue = _.cloneDeep(state.queueItems); newQueue[replaceIx] = Object.assign({}, newQueue[replaceIx], action.payload); @@ -35,7 +46,7 @@ export default function QueueReducer(state=initialState, action) { queueItems: newQueue }); case REPLACE_STREAMS_IN_QUEUE_ITEM: - replaceIx = _.findIndex(state.queueItems, item => action.payload.artist===item.artist && action.payload.name===item.name); + replaceIx = findQueueItemIndex(state.queueItems, action.payload); newQueue = _.cloneDeep(state.queueItems); newQueue[replaceIx] = action.payload; return Object.assign({}, state, { diff --git a/package-lock.json b/package-lock.json index 49f8e4e77e..388b80f7bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nuclear", - "version": "0.4.0", + "version": "0.4.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11,9 +11,9 @@ "dev": true }, "7zip-bin": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-2.4.1.tgz", - "integrity": "sha512-QU3oR1dLLVrYGRkb7LU17jMCpIkWtXXW7q71ECXWXkR9vOv37VjykqpvFgs29HgSCNLZHnNKJzdG6RwAW0LwIA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-3.1.0.tgz", + "integrity": "sha512-juYJNi8JEpTUWXwz8ssa8Oop4n/kwJ/pIQP22vJAVAe6RTRD+0m+e9LRNnfK2EDaX8uwmUzLNGviFQRD6SxeOw==", "dev": true, "requires": { "7zip-bin-linux": "1.3.1" @@ -40,8 +40,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.4", @@ -54,9 +53,9 @@ } }, "acorn": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.3.0.tgz", - "integrity": "sha512-Yej+zOJ1Dm/IMZzzj78OntP/r3zHEaKcyNoU2lAaxPtrseM6rF0xwqoz5Q5ysAiED9hTjI2hgtvLXitlCN1/Ug==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", + "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", "dev": true }, "acorn-dynamic-import": { @@ -184,8 +183,7 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", @@ -203,17 +201,31 @@ "normalize-path": "2.1.1" } }, + "app-builder-bin": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.3.1.tgz", + "integrity": "sha512-F08sJ8N/ttb3mM0lQXPC3IgJU7ZqrQmaQJ4BXCDs8iz79nLN7RRoe0zupAxaSq0Siptd6T3cfdUnO73FjtOhNg==", + "dev": true, + "requires": { + "app-builder-bin-linux": "1.3.1" + } + }, + "app-builder-bin-linux": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.3.1.tgz", + "integrity": "sha512-+drdENi7FBmQ4kMOyu1wx4QSVAdiHhAucArHZpHC8R99aWDkBA+4fnQRnQV//X1DQlii/AAOqipN/3nKa/RMWw==", + "dev": true, + "optional": true + }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "dev": true, "requires": { "delegates": "1.0.0", "readable-stream": "2.3.3" @@ -222,14 +234,12 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -244,7 +254,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -347,25 +356,15 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, - "asar-integrity": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asar-integrity/-/asar-integrity-0.2.4.tgz", - "integrity": "sha512-6UDOmyl4RUo8i/0Sem/UKFJ70XZrXLCDQcILTbjTjAKZrSA3JbXVnWRFi2ZFEbeZxQ2LVCc3CWHnDlqj2AyVXg==", - "dev": true, - "requires": { - "bluebird-lst": "1.0.5", - "fs-extra-p": "4.5.0" - } - }, "asn1": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" }, "asn1.js": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", - "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { "bn.js": "4.11.8", @@ -405,7 +404,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "async-each": { @@ -503,7 +502,7 @@ "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.5.1", - "lodash": "4.17.4", + "lodash": "4.17.5", "minimatch": "3.0.4", "path-is-absolute": "1.0.1", "private": "0.1.8", @@ -533,7 +532,7 @@ "babel-types": "6.26.0", "detect-indent": "4.0.0", "jsesc": "1.3.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "source-map": "0.5.7", "trim-right": "1.0.1" } @@ -581,7 +580,7 @@ "babel-helper-function-name": "6.24.1", "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-helper-explode-assignable-expression": { @@ -646,7 +645,7 @@ "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-helper-remap-async-to-generator": { @@ -784,7 +783,7 @@ "babel-template": "6.26.0", "babel-traverse": "6.26.0", "babel-types": "6.26.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-plugin-transform-es2015-classes": { @@ -1173,7 +1172,7 @@ "babel-runtime": "6.26.0", "core-js": "2.5.3", "home-or-tmp": "2.0.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "mkdirp": "0.5.1", "source-map-support": "0.4.18" }, @@ -1212,7 +1211,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "babel-traverse": { @@ -1229,7 +1228,7 @@ "debug": "2.6.9", "globals": "9.18.0", "invariant": "2.2.2", - "lodash": "4.17.4" + "lodash": "4.17.5" }, "dependencies": { "debug": { @@ -1251,7 +1250,7 @@ "requires": { "babel-runtime": "6.26.0", "esutils": "2.0.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "to-fast-properties": "1.0.3" } }, @@ -1264,8 +1263,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", @@ -1328,7 +1326,7 @@ "entities": "1.1.1", "htmlparser2": "3.8.3", "jsdom": "7.2.2", - "lodash": "4.17.4" + "lodash": "4.17.5" } }, "domhandler": { @@ -1370,7 +1368,6 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, "requires": { "inherits": "2.0.3" } @@ -1460,7 +1457,7 @@ "requires": { "ansi-align": "2.0.0", "camelcase": "4.1.0", - "chalk": "2.3.0", + "chalk": "2.3.1", "cli-boxes": "1.0.0", "string-width": "2.1.1", "term-size": "1.2.0", @@ -1489,20 +1486,20 @@ "dev": true }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "is-fullwidth-code-point": { @@ -1531,12 +1528,12 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -1545,7 +1542,6 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -1692,26 +1688,25 @@ "dev": true }, "builder-util": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-4.1.7.tgz", - "integrity": "sha512-jObkpxMLUAG6iaTfXTWhx1iRY5e/4wFCJ2s1g9kIpWkBQZA41BTpRuzL1JGzl64wBNZIFJZG5rP2TQkAFl1AAA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.2.0.tgz", + "integrity": "sha512-MtBUSnHVS6rA9bu3hcKmpvw3C/I8d9C2G5/hi/3Wjjon/ov6ChrUo1+w7X2rNp3cr5zVZB/QqnaY8s3gyBjNZQ==", "dev": true, "requires": { - "7zip-bin": "2.4.1", + "7zip-bin": "3.1.0", + "app-builder-bin": "1.3.1", "bluebird-lst": "1.0.5", - "builder-util-runtime": "4.0.2", - "chalk": "2.3.0", + "builder-util-runtime": "4.0.5", + "chalk": "2.3.1", "debug": "3.1.0", "fs-extra-p": "4.5.0", - "ini": "1.3.5", "is-ci": "1.1.0", "js-yaml": "3.10.0", "lazy-val": "1.0.3", "semver": "5.5.0", - "source-map-support": "0.5.1", + "source-map-support": "0.5.3", "stat-mode": "0.2.2", - "temp-file": "3.1.1", - "tunnel-agent": "0.6.0" + "temp-file": "3.1.1" }, "dependencies": { "ansi-styles": { @@ -1724,14 +1719,14 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, "esprima": { @@ -1741,9 +1736,9 @@ "dev": true }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "js-yaml": { @@ -1769,29 +1764,29 @@ "dev": true }, "source-map-support": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.1.tgz", - "integrity": "sha512-EZNecLNrsdRk9fcdOcjjy+Z/id7cr68sdmsYtR1gA45oQ81Ccea0UvM7DdSRblO0Ie5zWX31bvJTC7Y3QZVujg==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz", + "integrity": "sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w==", "dev": true, "requires": { "source-map": "0.6.1" } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } }, "builder-util-runtime": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.0.2.tgz", - "integrity": "sha512-ccVDjvLIxXQHRczxX6ea68rCjkI1PQLjR7E3o48kW0t/OQl+Uwu89BXpJIhc0ea6FihkyM72litniJBoZ3UfKQ==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.0.5.tgz", + "integrity": "sha512-NT8AxWH6miZQHnZzaTVjVp1uc6C/mWlxi6GQXKpd4CwyTQd3rT7+poOGrcOhtIiHYCL9VEbRsVfxUAPPsgqJdg==", "dev": true, "requires": { "bluebird-lst": "1.0.5", @@ -1803,8 +1798,7 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" }, "builtin-status-codes": { "version": "3.0.0", @@ -1984,7 +1978,7 @@ "dom-serializer": "0.1.0", "entities": "1.1.1", "htmlparser2": "3.9.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "parse5": "3.0.3" } }, @@ -2132,11 +2126,23 @@ "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", "dev": true }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-spinners": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz", + "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=" + }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1", @@ -2178,8 +2184,7 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "collection-visit": { "version": "1.0.0", @@ -2206,7 +2211,6 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -2214,8 +2218,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { "version": "0.3.0", @@ -2240,8 +2243,7 @@ "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" }, "combined-stream": { "version": "1.0.5", @@ -2313,8 +2315,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.0", @@ -2391,8 +2392,7 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "constants-browserify": { "version": "1.0.0", @@ -2488,7 +2488,7 @@ "cipher-base": "1.0.4", "inherits": "2.0.3", "ripemd160": "2.0.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "create-hmac": { @@ -2502,17 +2502,7 @@ "inherits": "2.0.3", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" - } - }, - "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "sha.js": "2.4.10" } }, "cross-spawn": { @@ -2739,7 +2729,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.37" + "es5-ext": "0.10.38" } }, "dashdash": { @@ -2757,9 +2747,9 @@ "dev": true }, "dbus": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dbus/-/dbus-1.0.2.tgz", - "integrity": "sha1-pgYea5uI9w6z/j9qNiSeQtVXnZo=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dbus/-/dbus-1.0.3.tgz", + "integrity": "sha1-vO2hSGc7wvzKIEK6BqlZZXYmibw=", "optional": true, "requires": { "nan": "2.8.0" @@ -2777,8 +2767,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { "version": "0.2.0", @@ -2868,8 +2857,7 @@ "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "depd": { "version": "1.1.2", @@ -2902,6 +2890,11 @@ "repeating": "2.0.1" } }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + }, "detect-node": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", @@ -2926,17 +2919,19 @@ } }, "dmg-builder": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-3.1.1.tgz", - "integrity": "sha512-NdZS3ErgoGwnxzF74nemZlQaYqZZTrErLxspB+nQNU8iwwQLl6Xclkb0y5w0BLcmCwcd9bToxX3ghvolrqx3OQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-4.0.2.tgz", + "integrity": "sha512-s8AtZ6lj+qc1gxDFx0i2k1v+M+kLWooN08tvSzGaGxGMb0DBlO945MuB2Qe2w4SGv7zBMCvt6+3e5ZdeuY6Fqg==", "dev": true, "requires": { "bluebird-lst": "1.0.5", - "builder-util": "4.1.7", + "builder-util": "5.2.0", + "electron-builder-lib": "20.0.4", "fs-extra-p": "4.5.0", "iconv-lite": "0.4.19", "js-yaml": "3.10.0", - "parse-color": "1.0.0" + "parse-color": "1.0.0", + "sanitize-filename": "1.6.1" }, "dependencies": { "esprima": { @@ -3005,9 +3000,9 @@ "dev": true }, "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", "dev": true }, "domelementtype": { @@ -3042,15 +3037,15 @@ } }, "dotenv": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz", - "integrity": "sha1-hk7xN5rO1Vzm+V3r7NzhefegzR0=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.0.tgz", + "integrity": "sha512-p4A7snaxI9Hnj3GDWhTpckHYcd9WwZDmGPcvJJV3CoRFq0Dvsp96eYgXBl9WbmbJfuxqiZ2WenNaeWSs675ghQ==", "dev": true }, "dotenv-expand": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.0.1.tgz", - "integrity": "sha1-aP3cFWGBTgoQlkERBX/xOM7X16g=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", + "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", "dev": true }, "duplexer": { @@ -3131,35 +3126,44 @@ "dev": true }, "electron": { - "version": "1.7.11", - "resolved": "https://registry.npmjs.org/electron/-/electron-1.7.11.tgz", - "integrity": "sha1-mTtqp54OeafPzDafTIE/vZoLCNk=", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/electron/-/electron-1.8.2.tgz", + "integrity": "sha512-0TV5Hy92g8ACnPn+PVol6a/2uk+khzmRtWxhah/FcKs6StCytm5hD14QqOdZxEdJN8HljXIVCayN/wJX+0wDiQ==", "dev": true, "requires": { - "@types/node": "7.0.52", + "@types/node": "8.9.4", "electron-download": "3.3.0", "extract-zip": "1.6.6" + }, + "dependencies": { + "@types/node": { + "version": "8.9.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.4.tgz", + "integrity": "sha512-dSvD36qnQs78G1BPsrZFdPpvLgMW/dnvr5+nTW2csMs5TiP9MOXrjUbnMZOEwnIuBklXtn7b6TPA2Cuq07bDHA==", + "dev": true + } } }, "electron-builder": { - "version": "19.54.0", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-19.54.0.tgz", - "integrity": "sha512-tsSz9s8lFysasNK2wwKEP7ILthz++RVDAQ+D7LxtzOfQbekf91AXfYmjLIhxcgj9wavTAuHJ7QU24G4KmISn3Q==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.0.4.tgz", + "integrity": "sha512-YRq7B9H1CnGeZG1mz4o3Xn3lMNQnfHHzmFAhh5ovsFcpiq9zXmLzPwzqwD55IN5BULWRe0afA67tEidWcJXkFQ==", "dev": true, "requires": { "bluebird-lst": "1.0.5", - "builder-util": "4.1.7", - "builder-util-runtime": "4.0.2", - "chalk": "2.3.0", - "electron-builder-lib": "19.54.0", + "builder-util": "5.2.0", + "builder-util-runtime": "4.0.5", + "chalk": "2.3.1", + "dmg-builder": "4.0.2", + "electron-builder-lib": "20.0.4", "electron-download-tf": "4.3.4", "fs-extra-p": "4.5.0", "is-ci": "1.1.0", "lazy-val": "1.0.3", - "read-config-file": "2.1.1", + "read-config-file": "3.0.0", "sanitize-filename": "1.6.1", "update-notifier": "2.3.0", - "yargs": "10.1.1" + "yargs": "11.0.0" }, "dependencies": { "ansi-styles": { @@ -3172,14 +3176,14 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, "electron-download-tf": { @@ -3194,7 +3198,7 @@ "minimist": "1.2.0", "nugget": "2.0.1", "path-exists": "3.0.0", - "rc": "1.2.2", + "rc": "1.2.5", "semver": "5.4.1", "sumchecker": "2.0.2" } @@ -3211,9 +3215,9 @@ } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "jsonfile": { @@ -3252,34 +3256,33 @@ } }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } }, "electron-builder-lib": { - "version": "19.54.0", - "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-19.54.0.tgz", - "integrity": "sha512-lu5uPJEcpqmFbXUSDpdT4WP6Njl3Ohxw2xfGaKr/TJ+sasB44Xo3yNanpfg6Up0oN5SXq4fQYXUL/Y6cn8d9ww==", + "version": "20.0.4", + "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.0.4.tgz", + "integrity": "sha512-fLH1Rv0sIAFHdRCkY0I1D+5qsaFVu1haIBBZtuFwswHvLmLbDZL5QqaFefe0WF+qW+cGuUO5pgiZTUju2Qrfrg==", "dev": true, "requires": { - "7zip-bin": "2.4.1", - "asar-integrity": "0.2.4", + "7zip-bin": "3.1.0", + "app-builder-bin": "1.3.1", "async-exit-hook": "2.0.1", "bluebird-lst": "1.0.5", - "builder-util": "4.1.7", - "builder-util-runtime": "4.0.2", + "builder-util": "5.2.0", + "builder-util-runtime": "4.0.5", "chromium-pickle-js": "0.2.0", "debug": "3.1.0", - "dmg-builder": "3.1.1", "ejs": "2.5.7", "electron-osx-sign": "0.4.8", - "electron-publish": "19.54.0", + "electron-publish": "20.0.2", "fs-extra-p": "4.5.0", "hosted-git-info": "2.5.0", "is-ci": "1.1.0", @@ -3289,7 +3292,7 @@ "minimatch": "3.0.4", "normalize-package-data": "2.4.0", "plist": "2.1.0", - "read-config-file": "2.1.1", + "read-config-file": "3.0.0", "sanitize-filename": "1.6.1", "semver": "5.5.0", "temp-file": "3.1.1" @@ -3343,7 +3346,7 @@ "minimist": "1.2.0", "nugget": "2.0.1", "path-exists": "2.1.0", - "rc": "1.2.2", + "rc": "1.2.5", "semver": "5.4.1", "sumchecker": "1.3.1" }, @@ -3411,15 +3414,15 @@ "integrity": "sha1-L8cLzlP7cy7IF2m9bEjhDEClUao=" }, "electron-publish": { - "version": "19.54.0", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-19.54.0.tgz", - "integrity": "sha512-xCckDDlbcyfGVPxqenARVo+2ms+BogUsMb923IQyOJgMAk5/tdcGyYBJfbIWqsQETnfKGnk0uCdJ/mLI33wmNA==", + "version": "20.0.2", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.0.2.tgz", + "integrity": "sha512-IvKJhyJSbcPx8I9/ukESN1HxSpFSU6siwMugHpyrxvu+++Yco00hkO53NSyvV+MS536P/5fVFAFD4BBYUcqDAg==", "dev": true, "requires": { "bluebird-lst": "1.0.5", - "builder-util": "4.1.7", - "builder-util-runtime": "4.0.2", - "chalk": "2.3.0", + "builder-util": "5.2.0", + "builder-util-runtime": "4.0.5", + "chalk": "2.3.1", "fs-extra-p": "4.5.0", "mime": "2.2.0" }, @@ -3434,29 +3437,120 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" + } + } + } + }, + "electron-rebuild": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.7.3.tgz", + "integrity": "sha1-JK4GrZ3WHLfk1oiWH0kRjEChEOs=", + "requires": { + "colors": "1.1.2", + "debug": "2.6.9", + "detect-libc": "1.0.3", + "fs-extra": "3.0.1", + "node-abi": "2.2.0", + "node-gyp": "3.6.2", + "ora": "1.4.0", + "rimraf": "2.6.2", + "spawn-rx": "2.0.12", + "yargs": "7.1.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "3.0.1", + "universalify": "0.1.1" + } + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "1.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "requires": { + "camelcase": "3.0.0" } } } @@ -3556,7 +3650,6 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, "requires": { "is-arrayish": "0.2.1" } @@ -3586,9 +3679,9 @@ } }, "es5-ext": { - "version": "0.10.37", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", - "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", + "version": "0.10.38", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz", + "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==", "dev": true, "requires": { "es6-iterator": "2.0.3", @@ -3602,7 +3695,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-symbol": "3.1.1" } }, @@ -3613,7 +3706,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", @@ -3621,9 +3714,9 @@ } }, "es6-promise": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.2.tgz", - "integrity": "sha512-LSas5vsuA6Q4nEdf9wokY5/AJYXry98i0IzXsv49rYsgDGDNDPbqAYR1Pe23iFxygfbGZNR/5VrHXBCh2BhvUQ==", + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", "dev": true }, "es6-set": { @@ -3633,7 +3726,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -3646,7 +3739,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37" + "es5-ext": "0.10.38" } }, "es6-weak-map": { @@ -3656,7 +3749,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37", + "es5-ext": "0.10.38", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } @@ -3670,8 +3763,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.9.0", @@ -3745,7 +3837,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.37" + "es5-ext": "0.10.38" } }, "event-stream": { @@ -4332,14 +4424,12 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -4357,7 +4447,6 @@ "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, "requires": { "aproba": "1.2.0", "console-control-strings": "1.1.0", @@ -4396,8 +4485,7 @@ "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" }, "get-func-name": { "version": "2.0.0", @@ -4435,7 +4523,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -4517,7 +4604,7 @@ "dev": true, "requires": { "glob": "7.1.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "minimatch": "3.0.4" } }, @@ -4527,7 +4614,7 @@ "integrity": "sha512-+e2D9/DVBG9EDydRovzoqMZ658SsTBGbC0c65GyZqkwNvdj8vRSYQKXqbz7/yt7QaXsCPT1MpH45r3ivWOitcw==", "dev": true, "requires": { - "lodash": "4.17.4", + "lodash": "4.17.5", "node-fetch": "1.7.3", "webpack-sources": "0.2.3", "yauzl": "2.9.1" @@ -4658,8 +4745,7 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "has-value": { "version": "1.0.0", @@ -4801,8 +4887,7 @@ "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", - "dev": true + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" }, "hpack.js": { "version": "2.1.6", @@ -4957,7 +5042,7 @@ "requires": { "http-proxy": "1.16.2", "is-glob": "3.1.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "micromatch": "2.3.11" }, "dependencies": { @@ -5144,7 +5229,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -5187,8 +5271,7 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "ip": { "version": "1.1.5", @@ -5228,8 +5311,7 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { "version": "1.0.1", @@ -5249,7 +5331,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, "requires": { "builtin-modules": "1.1.1" } @@ -5351,7 +5432,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -5547,8 +5627,7 @@ "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" }, "is-wsl": { "version": "1.1.0", @@ -5570,8 +5649,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -5783,7 +5861,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, "requires": { "invert-kv": "1.0.0" } @@ -5802,7 +5879,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -5814,8 +5890,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -5847,9 +5922,9 @@ } }, "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" }, "lodash-es": { "version": "4.17.4", @@ -5866,8 +5941,7 @@ "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" }, "lodash.camelcase": { "version": "4.3.0", @@ -5944,6 +6018,47 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", "dev": true }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "requires": { + "chalk": "2.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "requires": { + "has-flag": "3.0.0" + } + } + } + }, "loglevel": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", @@ -5981,7 +6096,7 @@ "requires": { "graceful-fs": "4.1.11", "is-promise": "2.1.0", - "lodash": "4.17.4", + "lodash": "4.17.5", "pify": "3.0.0", "steno": "0.4.4" } @@ -6102,7 +6217,7 @@ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "dev": true, "requires": { - "mimic-fn": "1.1.0" + "mimic-fn": "1.2.0" } }, "memory-fs": { @@ -6242,10 +6357,9 @@ } }, "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "min-document": { "version": "2.19.0", @@ -6277,7 +6391,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "1.1.8" } @@ -6285,8 +6398,7 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "mississippi": { "version": "1.3.1", @@ -6397,7 +6509,6 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -6485,8 +6596,7 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.2", @@ -6554,6 +6664,14 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, + "node-abi": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.2.0.tgz", + "integrity": "sha512-FqVC0WNNL8fQWQK3GYTESfwZXZKDbSIiEEIvufq7HV6Lj0IDDZRVa4CU/KTA0JVlqY9eTDSuPiC8FS9UfGVuzA==", + "requires": { + "semver": "5.4.1" + } + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -6573,7 +6691,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", - "dev": true, "requires": { "fstream": "1.0.11", "glob": "7.1.2", @@ -6593,8 +6710,7 @@ "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" } } }, @@ -6610,7 +6726,7 @@ "console-browserify": "1.1.0", "constants-browserify": "1.0.0", "crypto-browserify": "3.12.0", - "domain-browser": "1.1.7", + "domain-browser": "1.2.0", "events": "1.1.1", "https-browserify": "1.0.0", "os-browserify": "0.3.0", @@ -6618,11 +6734,11 @@ "process": "0.11.10", "punycode": "1.4.1", "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "stream-browserify": "2.0.1", - "stream-http": "2.7.2", + "stream-http": "2.8.0", "string_decoder": "1.0.3", - "timers-browserify": "2.0.4", + "timers-browserify": "2.0.6", "tty-browserify": "0.0.0", "url": "0.11.0", "util": "0.10.3", @@ -6641,16 +6757,22 @@ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "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==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", + "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -6823,7 +6945,7 @@ "stringstream": "0.0.5", "tough-cookie": "2.3.3", "tunnel-agent": "0.4.3", - "uuid": "3.1.0" + "uuid": "3.2.1" } }, "sntp": { @@ -6853,7 +6975,6 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, "requires": { "abbrev": "1.1.1" } @@ -6862,7 +6983,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "dev": true, "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", @@ -7012,7 +7132,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, "requires": { "are-we-there-yet": "1.1.4", "console-control-strings": "1.1.0", @@ -7069,8 +7188,7 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "numeral": { "version": "2.0.6", @@ -7222,11 +7340,18 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1.0.2" } }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "1.2.0" + } + }, "opn": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", @@ -7258,6 +7383,50 @@ } } }, + "ora": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "requires": { + "chalk": "2.3.1", + "cli-cursor": "2.1.0", + "cli-spinners": "1.1.0", + "log-symbols": "2.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "requires": { + "color-convert": "1.9.1" + } + }, + "chalk": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "requires": { + "ansi-styles": "3.2.0", + "escape-string-regexp": "1.0.5", + "supports-color": "5.2.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "requires": { + "has-flag": "3.0.0" + } + } + } + }, "original": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", @@ -7288,8 +7457,7 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "2.1.0", @@ -7305,14 +7473,12 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", - "dev": true, "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -7361,7 +7527,7 @@ "dev": true, "requires": { "got": "6.7.1", - "registry-auth-token": "3.3.1", + "registry-auth-token": "3.3.2", "registry-url": "3.1.0", "semver": "5.4.1" } @@ -7421,7 +7587,7 @@ "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", "dev": true, "requires": { - "asn1.js": "4.9.2", + "asn1.js": "4.10.1", "browserify-aes": "1.1.1", "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", @@ -7461,7 +7627,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, "requires": { "error-ex": "1.3.1" } @@ -7507,8 +7672,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -7534,7 +7698,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, "requires": { "graceful-fs": "4.1.11", "pify": "2.3.0", @@ -7544,8 +7707,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" } } }, @@ -7574,7 +7736,7 @@ "create-hmac": "1.1.6", "ripemd160": "2.0.1", "safe-buffer": "5.1.1", - "sha.js": "2.4.9" + "sha.js": "2.4.10" } }, "pend": { @@ -7596,14 +7758,12 @@ "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, "requires": { "pinkie": "2.0.4" } @@ -8582,9 +8742,9 @@ } }, "rc": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", - "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", + "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", "dev": true, "requires": { "deep-extend": "0.4.2", @@ -8613,9 +8773,9 @@ } }, "react-debounce-input": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/react-debounce-input/-/react-debounce-input-3.1.0.tgz", - "integrity": "sha512-7XG+VpWHfcZfKjrXQ11fPB30YdVvAjnPvi45RJQtLRb79otQEnXON2cCInydEAw+y+zxvH5g48kRMKU069vd0w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-debounce-input/-/react-debounce-input-3.2.0.tgz", + "integrity": "sha1-aXjGBh2Jj1SfQEF/sNLrvs9Qqqo=", "dev": true, "requires": { "lodash.debounce": "4.0.8", @@ -8684,7 +8844,7 @@ "requires": { "hoist-non-react-statics": "2.3.1", "invariant": "2.2.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "lodash-es": "4.17.4", "loose-envify": "1.3.1", "prop-types": "15.6.0" @@ -8724,40 +8884,13 @@ "dev": true }, "react-router-transition": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/react-router-transition/-/react-router-transition-1.2.0.tgz", - "integrity": "sha512-eikpVutMen9ns++rZFMBuqC6Rq4DFx8IEykzGaE+jxhJNYzuvh2WzoTF3nNsDsCL5fGw3sc6374UIe/bZVAyUQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-router-transition/-/react-router-transition-1.2.1.tgz", + "integrity": "sha512-cwXhw/qLskkj0yBcdY3AcBc3g2z4SxFCZpq12h7lqFH56W5RurVevuiumwyirHEPAUHvtR0EmMkF/eRNJmaWcA==", "requires": { "prop-types": "15.6.0", - "react": "15.6.2", - "react-dom": "15.6.2", "react-motion": "0.5.2", "react-router-dom": "4.2.2" - }, - "dependencies": { - "react": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.2.tgz", - "integrity": "sha1-26BDSrQ5z+gvEI8PURZjkIF5qnI=", - "requires": { - "create-react-class": "15.6.2", - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - }, - "react-dom": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.2.tgz", - "integrity": "sha1-Qc+t9pO3V/rycIRDodH9WgK+9zA=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" - } - } } }, "react-sound": { @@ -8770,22 +8903,39 @@ } }, "read-config-file": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-2.1.1.tgz", - "integrity": "sha512-tzV5MRYA1OIbjy0ZC3cKlQZMLyRYMJ7k37Inff0CH0fQGXFP9p0s0eJ3bQxnnvQDhPSspnW9fw9v2K0b+6TODg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.0.0.tgz", + "integrity": "sha512-BVm//hhy9uxRbmeZrKAsUu6MUUNvtwkMrc3t15E79M1lLvg6ivHiwQYIEQK65ZtHCSautbgRY4rD8Z4skRk+4Q==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", + "ajv": "6.1.1", + "ajv-keywords": "3.1.0", "bluebird-lst": "1.0.5", - "dotenv": "4.0.0", - "dotenv-expand": "4.0.1", + "dotenv": "5.0.0", + "dotenv-expand": "4.2.0", "fs-extra-p": "4.5.0", "js-yaml": "3.10.0", "json5": "0.5.1", "lazy-val": "1.0.3" }, "dependencies": { + "ajv": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", + "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "dev": true, + "requires": { + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", + "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", + "dev": true + }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", @@ -8808,7 +8958,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, "requires": { "load-json-file": "1.1.0", "normalize-package-data": "2.4.0", @@ -8819,7 +8968,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" @@ -8829,7 +8977,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, "requires": { "path-exists": "2.1.0", "pinkie-promise": "2.0.1" @@ -8839,7 +8986,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, "requires": { "pinkie-promise": "2.0.1" } @@ -8953,7 +9099,7 @@ "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", "dev": true, "requires": { - "lodash": "4.17.4", + "lodash": "4.17.5", "lodash-es": "4.17.4", "loose-envify": "1.3.1", "symbol-observable": "1.1.0" @@ -9026,12 +9172,12 @@ } }, "registry-auth-token": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", - "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.2", + "rc": "1.2.5", "safe-buffer": "5.1.1" } }, @@ -9041,7 +9187,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.2" + "rc": "1.2.5" } }, "regjsgen": { @@ -9120,7 +9266,7 @@ "stringstream": "0.0.5", "tough-cookie": "2.3.3", "tunnel-agent": "0.6.0", - "uuid": "3.1.0" + "uuid": "3.2.1" }, "dependencies": { "performance-now": { @@ -9133,14 +9279,12 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "requires-port": { "version": "1.0.0", @@ -9174,6 +9318,15 @@ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", "dev": true }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -9187,7 +9340,6 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, "requires": { "glob": "7.1.2" } @@ -9211,6 +9363,21 @@ "aproba": "1.2.0" } }, + "rxjs": { + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", + "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", + "requires": { + "symbol-observable": "1.0.1" + }, + "dependencies": { + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" + } + } + }, "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", @@ -9232,7 +9399,7 @@ "dev": true, "requires": { "glob": "7.1.2", - "lodash": "4.17.4", + "lodash": "4.17.5", "scss-tokenizer": "0.2.3", "yargs": "7.1.0" }, @@ -9361,15 +9528,14 @@ "babel-runtime": "6.26.0", "classnames": "2.2.5", "fbjs": "0.8.16", - "lodash": "4.17.4", + "lodash": "4.17.5", "prop-types": "15.6.0" } }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" }, "semver-diff": { "version": "2.1.0", @@ -9471,8 +9637,7 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-getter": { "version": "0.1.0", @@ -9513,9 +9678,9 @@ "dev": true }, "sha.js": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", + "version": "2.4.10", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", + "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", "dev": true, "requires": { "inherits": "2.0.3", @@ -9581,8 +9746,7 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "single-line-log": { "version": "1.1.2", @@ -9727,7 +9891,7 @@ "dev": true, "requires": { "faye-websocket": "0.10.0", - "uuid": "3.1.0" + "uuid": "3.2.1" } }, "sockjs-client": { @@ -9817,11 +9981,30 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, + "spawn-rx": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-2.0.12.tgz", + "integrity": "sha512-gOPXiQQFQ9lTOLuys0iMn3jfxxv9c7zzwhbYLOEbQGvEShHVJ5sSR1oD3Daj88os7jKArDYT7rbOKdvNhe7iEg==", + "requires": { + "debug": "2.6.9", + "lodash.assign": "4.2.0", + "rxjs": "5.5.6" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "dev": true, "requires": { "spdx-license-ids": "1.2.2" } @@ -9829,14 +10012,12 @@ "spdx-expression-parse": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" }, "spdx-license-ids": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", - "dev": true + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" }, "spdy": { "version": "3.4.7", @@ -10140,7 +10321,7 @@ "dev": true, "requires": { "inherits": "2.0.3", - "readable-stream": "2.3.3" + "readable-stream": "2.3.4" }, "dependencies": { "isarray": { @@ -10149,16 +10330,22 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "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==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", + "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -10195,14 +10382,14 @@ } }, "stream-http": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", + "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", "dev": true, "requires": { "builtin-status-codes": "3.0.0", "inherits": "2.0.3", - "readable-stream": "2.3.3", + "readable-stream": "2.3.4", "to-arraybuffer": "1.0.1", "xtend": "4.0.1" }, @@ -10213,16 +10400,22 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "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==", + "dev": true + }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", + "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", "isarray": "1.0.0", - "process-nextick-args": "1.0.7", + "process-nextick-args": "2.0.0", "safe-buffer": "5.1.1", "string_decoder": "1.0.3", "util-deprecate": "1.0.2" @@ -10261,7 +10454,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -10293,7 +10485,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -10302,7 +10493,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, "requires": { "is-utf8": "0.2.1" } @@ -10357,7 +10547,7 @@ "dev": true, "requires": { "debug": "2.6.9", - "es6-promise": "4.2.2" + "es6-promise": "4.2.4" }, "dependencies": { "debug": { @@ -10414,7 +10604,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -10483,9 +10672,9 @@ "dev": true }, "timers-browserify": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", - "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", + "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", "dev": true, "requires": { "setimmediate": "1.0.5" @@ -10868,8 +11057,7 @@ "universalify": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", - "dev": true + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" }, "unpipe": { "version": "1.0.0", @@ -10936,7 +11124,7 @@ "dev": true, "requires": { "boxen": "1.3.0", - "chalk": "2.3.0", + "chalk": "2.3.1", "configstore": "3.1.1", "import-lazy": "2.1.0", "is-installed-globally": "0.1.0", @@ -10956,29 +11144,29 @@ } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", + "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "supports-color": "5.2.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", + "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "3.0.0" } } } @@ -11007,6 +11195,25 @@ } } }, + "url-loader": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", + "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "1.6.0", + "schema-utils": "0.3.0" + }, + "dependencies": { + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + } + } + }, "url-parse": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", @@ -11157,15 +11364,14 @@ "dev": true }, "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, "validate-npm-package-license": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "dev": true, "requires": { "spdx-correct": "1.0.2", "spdx-expression-parse": "1.0.4" @@ -11242,15 +11448,15 @@ "optional": true }, "webpack": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", - "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz", + "integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==", "dev": true, "requires": { - "acorn": "5.3.0", + "acorn": "5.4.1", "acorn-dynamic-import": "2.0.2", - "ajv": "5.5.2", - "ajv-keywords": "2.1.1", + "ajv": "6.1.1", + "ajv-keywords": "3.1.0", "async": "2.6.0", "enhanced-resolve": "3.4.1", "escope": "3.6.0", @@ -11271,6 +11477,23 @@ "yargs": "8.0.2" }, "dependencies": { + "ajv": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", + "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "dev": true, + "requires": { + "fast-deep-equal": "1.0.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", + "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", + "dev": true + }, "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", @@ -11278,23 +11501,28 @@ "dev": true }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", "dev": true }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + } + }, "has-flag": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", "dev": true }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", @@ -11351,15 +11579,23 @@ "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } } }, "strip-bom": { @@ -11388,23 +11624,6 @@ "yargs": "3.10.0" }, "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, "yargs": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", @@ -11449,6 +11668,38 @@ "which-module": "2.0.0", "y18n": "3.2.1", "yargs-parser": "7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } } }, "yargs-parser": { @@ -11458,6 +11709,14 @@ "dev": true, "requires": { "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } } } } @@ -11908,7 +12167,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, "requires": { "isexe": "2.0.0" } @@ -11923,7 +12181,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "dev": true, "requires": { "string-width": "1.0.2" } @@ -12004,7 +12261,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1" @@ -12013,8 +12269,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { "version": "2.3.0", @@ -12063,8 +12318,7 @@ "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, "yallist": { "version": "2.1.2", @@ -12073,9 +12327,9 @@ "dev": true }, "yargs": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.1.1.tgz", - "integrity": "sha512-7uRL1HZdCbc1QTP+X8mehOPuCYKC/XTaqAPj7gABLfTt6pgLyVRn3QVte4qhtilZouWCvqd1kipgMKl5tKsFiw==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.0.0.tgz", + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { "cliui": "4.0.0", @@ -12089,7 +12343,7 @@ "string-width": "2.1.1", "which-module": "2.0.0", "y18n": "3.2.1", - "yargs-parser": "8.1.0" + "yargs-parser": "9.0.2" }, "dependencies": { "ansi-regex": { @@ -12137,9 +12391,9 @@ } }, "yargs-parser": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.1.0.tgz", - "integrity": "sha512-yP+6QqN8BmrgW2ggLtTbdrOyBNSI7zBa4IykmiV5R1wl1JWNxQvWhMfMdmzIYtKU7oP3OOInY/tl2ov3BDjnJQ==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "dev": true, "requires": { "camelcase": "4.1.0" @@ -12163,9 +12417,9 @@ } }, "ytdl-core": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.20.0.tgz", - "integrity": "sha512-2fI0bA0e+3H4h8IqKmN8X7AEkZgOvpUqjb/5cGJFqz6DV0nrPgjsY7osfytkWtdXkoGZixmqEIFHEnBuMIdUSQ==", + "version": "0.20.1", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.20.1.tgz", + "integrity": "sha512-qW++yksRLiR6r6k84nV3p7d118R73k5ZapjyqNOF+veNaZyue4TQlN3Xta91prCruukJVTT0Q48kIfc2nzAS1A==", "requires": { "html-entities": "1.2.1", "m3u8stream": "0.2.1", diff --git a/package.json b/package.json index 483009861f..a504b5f0cd 100644 --- a/package.json +++ b/package.json @@ -1,140 +1,142 @@ { - "name": "nuclear", - "version": "0.4.2", - "description": "Streaming music player that finds music sources automatically.", - "main": "main.js", - "scripts": { - "start": "npm-run-all --parallel watch electron", - "electron": "electron .", - "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", - "test": "mocha --require babel-register", - "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", - "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", - "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", - "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", - "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", - "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/nukeop/nuclear.git" - }, - "keywords": [ - "electron", - "music", - "youtube" - ], - "author": { - "name": "nukeop", - "email": "nuclear@gumblert.tech" - }, - "license": "GPL-3.0", - "bugs": { - "url": "https://github.com/nukeop/nuclear/issues" - }, - "homepage": "https://github.com/nukeop/nuclear#readme", - "dependencies": { - "billboard-top-100": "^2.0.8", - "electron-platform": "^1.2.0", - "font-awesome": "^4.7.0", - "lowdb": "^1.0.0", - "md5": "^2.2.1", - "moment": "^2.20.1", - "numeral": "^2.0.6", - "pitchfork-bnm": "^1.0.3", - "react": "^16.2.0", - "react-dom": "^16.2.0", - "react-router-transition": "^1.2.1", - "react-sound": "^1.1.0", - "semantic-ui-react": "^0.78.2", - "ytdl-core": "^0.20.1" - }, - "devDependencies": { - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.1", - "babel-preset-es2015": "^6.24.1", - "babel-preset-react": "^6.24.1", - "babel-register": "^6.26.0", - "chai": "^4.1.2", - "classnames": "^2.2.5", - "css-loader": "^0.28.9", - "electron": "^1.8.2", - "electron-builder": "^20.0.4", - "electron-devtools-installer": "^2.2.3", - "extract-text-webpack-plugin": "^3.0.2", - "file-loader": "^1.1.6", - "google-fonts-webpack-plugin": "^0.4.4", - "happypack": "^4.0.1", - "isomorphic-fetch": "^2.2.1", - "lodash": "^4.17.5", - "mocha": "^5.0.0", - "node-sass": "^4.7.2", - "nodebrainz": "^2.1.1", - "npm-run-all": "^4.1.2", - "react-debounce-input": "^3.2.0", - "react-fontawesome": "^1.6.1", - "react-hot-loader": "next", - "react-redux": "^5.0.6", - "react-router": "^4.2.0", - "react-router-dom": "^4.2.2", - "react-router-redux": "^4.0.8", - "redux": "^3.7.2", - "redux-promise": "^0.5.3", - "redux-thunk": "^2.2.0", - "sass-loader": "^6.0.6", - "style-loader": "^0.20.1", - "uglifyjs-webpack-plugin": "^1.1.8", - "url-loader": "^0.6.2", - "webpack": "^3.11.0", - "webpack-dev-server": "^2.11.1" - }, - "optionalDependencies": { - "dbus": "^1.0.3", - "mpris-service": "^1.1.3", - "7zip-bin-mac": "^1.0.1" - }, - "build": { - "appId": "nuclear", - "productName": "nuclear", - "directories": { - "output": "release", - "buildResources": "resources/media" - }, - "files": [ - "dist/", - "resources/", - "index.prod.html", - "main.prod.js", - "mpris.js", - "package.json" - ], - "extraFiles": [ - "resources" - ], - "linux": { - "icon": "1024x1024.png", - "target": [ - "AppImage", - "deb", - "tar.gz" - ], - "category": "Audio;AudioVideo;Network;Player;Music" - }, - "mac": { - "category": "public.app-category.music", - "target": [ - "zip", - "pkg", - "dmg" - ] - }, - "win": { - "target": [ - "nsis", - "portable" - ] - } - } + "name": "nuclear", + "version": "0.4.2", + "description": "Streaming music player that finds music sources automatically.", + "main": "main.js", + "scripts": { + "start": "npm-run-all --parallel watch electron", + "electron": "electron .", + "watch": "webpack-dev-server --inline --progress --env=dev", + "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", + "test": "mocha --require babel-register", + "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", + "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", + "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", + "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", + "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", + "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/nukeop/nuclear.git" + }, + "keywords": [ + "electron", + "music", + "youtube" + ], + "author": { + "name": "nukeop", + "email": "nuclear@gumblert.tech" + }, + "license": "GPL-3.0", + "bugs": { + "url": "https://github.com/nukeop/nuclear/issues" + }, + "homepage": "https://github.com/nukeop/nuclear#readme", + "dependencies": { + "billboard-top-100": "^2.0.8", + "electron-platform": "^1.2.0", + "electron-rebuild": "^1.7.3", + "font-awesome": "^4.7.0", + "lowdb": "^1.0.0", + "md5": "^2.2.1", + "moment": "^2.20.1", + "numeral": "^2.0.6", + "pitchfork-bnm": "^1.0.3", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-router-transition": "^1.2.1", + "react-sound": "^1.1.0", + "semantic-ui-react": "^0.78.2", + "uuid": "^3.2.1", + "ytdl-core": "^0.20.1" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.1", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-register": "^6.26.0", + "chai": "^4.1.2", + "classnames": "^2.2.5", + "css-loader": "^0.28.9", + "electron": "^1.8.2", + "electron-builder": "^20.0.4", + "electron-devtools-installer": "^2.2.3", + "extract-text-webpack-plugin": "^3.0.2", + "file-loader": "^1.1.6", + "google-fonts-webpack-plugin": "^0.4.4", + "happypack": "^4.0.1", + "isomorphic-fetch": "^2.2.1", + "lodash": "^4.17.5", + "mocha": "^5.0.0", + "node-sass": "^4.7.2", + "nodebrainz": "^2.1.1", + "npm-run-all": "^4.1.2", + "react-debounce-input": "^3.2.0", + "react-fontawesome": "^1.6.1", + "react-hot-loader": "next", + "react-redux": "^5.0.6", + "react-router": "^4.2.0", + "react-router-dom": "^4.2.2", + "react-router-redux": "^4.0.8", + "redux": "^3.7.2", + "redux-promise": "^0.5.3", + "redux-thunk": "^2.2.0", + "sass-loader": "^6.0.6", + "style-loader": "^0.20.1", + "uglifyjs-webpack-plugin": "^1.1.8", + "url-loader": "^0.6.2", + "webpack": "^3.11.0", + "webpack-dev-server": "^2.11.1" + }, + "optionalDependencies": { + "dbus": "^1.0.3", + "mpris-service": "^1.1.3", + "7zip-bin-mac": "^1.0.1" + }, + "build": { + "appId": "nuclear", + "productName": "nuclear", + "directories": { + "output": "release", + "buildResources": "resources/media" + }, + "files": [ + "dist/", + "resources/", + "index.prod.html", + "main.prod.js", + "mpris.js", + "package.json" + ], + "extraFiles": [ + "resources" + ], + "linux": { + "icon": "1024x1024.png", + "target": [ + "AppImage", + "deb", + "tar.gz" + ], + "category": "Audio;AudioVideo;Network;Player;Music" + }, + "mac": { + "category": "public.app-category.music", + "target": [ + "zip", + "pkg", + "dmg" + ] + }, + "win": { + "target": [ + "nsis", + "portable" + ] + } + } } From 5aaccf1c6dd1f8bebdba83b275e6a14bea7fdc35 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 16 Feb 2018 13:41:12 +0100 Subject: [PATCH 085/487] Prevent current song from changing when removing from queue --- app/components/AlbumView/index.js | 13 ++++++++----- app/reducers/queue.js | 8 +++++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index 2f627da23d..8a5ae14cfe 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -114,11 +114,14 @@ class AlbumView extends React.Component { thumb={album.images[0].uri} > this.props.addToQueue(this.props.musicSources, { - artist: album.artists[0].name, - name: el.title, - thumbnail: album.images[0].uri - })} + onClick={() => this.props.addToQueue( + this.props.musicSources, + { + artist: album.artists[0].name, + name: el.title, + thumbnail: album.images[0].uri + } + )} className={styles.add_button} > Add to queue diff --git a/app/reducers/queue.js b/app/reducers/queue.js index 9bbb1eebcb..76e4d0ec88 100644 --- a/app/reducers/queue.js +++ b/app/reducers/queue.js @@ -28,10 +28,16 @@ export default function QueueReducer(state=initialState, action) { queueItems: _.union(state.queueItems, [action.payload]) }); case REMOVE_FROM_QUEUE: + let newCurrent = state.currentSong; + removeIx = findQueueItemIndex(state.queueItems, action.payload); newQueue = _.cloneDeep(state.queueItems); newQueue = _.filter(newQueue, item => action.payload.uuid!==item.uuid); + if (removeIx < state.currentSong) { + newCurrent--; + } return Object.assign({}, state, { - queueItems: newQueue + queueItems: newQueue, + currentSong: newCurrent }); case CLEAR_QUEUE: return Object.assign({}, state, { From ed233ce2b775a741211c9623a910ea5a499bf385 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 16 Feb 2018 13:58:51 +0100 Subject: [PATCH 086/487] Find tracks with many artists correctly. Closes #57 --- app/components/AlbumView/index.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index 8a5ae14cfe..d3f675da92 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -12,6 +12,21 @@ class AlbumView extends React.Component { super(props); } + getArtistName(track, album) { + if (!track.artists) { + return album.artists[0].name; + } else { + let firstArtist = _.find(track.artists, artist => artist.join == '').name; + let artistName = firstArtist; + _(track.artists).filter(artist => artist.name != firstArtist).forEach( + artist => { + artistName += ' ' + artist.join + ' ' + artist.name; + }); + + return artistName; + } + } + artistInfoSearch(artistId) { this.props.artistInfoSearch(artistId); this.props.history.push('/artist/' + artistId); @@ -117,7 +132,7 @@ class AlbumView extends React.Component { onClick={() => this.props.addToQueue( this.props.musicSources, { - artist: album.artists[0].name, + artist: this.getArtistName(el, album), name: el.title, thumbnail: album.images[0].uri } From 3e5597653d8bec64be5e880e60d5b04b66b777ae Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 16 Feb 2018 15:42:48 +0100 Subject: [PATCH 087/487] Add electron rebuild as a postinstall action --- .travis.yml | 6 +- package-lock.json | 216 ++++++++++++++++++++++++++--------- package.json | 281 +++++++++++++++++++++++----------------------- 3 files changed, 307 insertions(+), 196 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8461a9483a..f4c47c2d33 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,10 +20,6 @@ before_install: - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -q; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install --install-recommends winehq-stable -y; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install libdbus-1-dev -y; fi - -before_script: - - if [ $TRAVIS_OS_NAME = linux ]; then npm install --save-dev electron-rebuild; fi - - if [ $TRAVIS_OS_NAME = linux ]; then node_modules/.bin/electron-rebuild; fi script: - npm test @@ -39,4 +35,4 @@ cache: directories: - node_modules - $HOME/.cache/electron - - $HOME/.cache/electron-builder \ No newline at end of file + - $HOME/.cache/electron-builder diff --git a/package-lock.json b/package-lock.json index 388b80f7bd..5d9bcbe931 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,7 +40,8 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true }, "accepts": { "version": "1.3.4", @@ -183,7 +184,8 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true }, "ansi-styles": { "version": "2.2.1", @@ -220,12 +222,14 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true }, "are-we-there-yet": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", + "dev": true, "requires": { "delegates": "1.0.0", "readable-stream": "2.3.3" @@ -234,12 +238,14 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true }, "readable-stream": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "dev": true, "requires": { "core-util-is": "1.0.2", "inherits": "2.0.3", @@ -254,6 +260,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "dev": true, "requires": { "safe-buffer": "5.1.1" } @@ -1263,7 +1270,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base": { "version": "0.11.2", @@ -1368,6 +1376,7 @@ "version": "0.0.9", "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, "requires": { "inherits": "2.0.3" } @@ -1542,6 +1551,7 @@ "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "dev": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -1798,7 +1808,8 @@ "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true }, "builtin-status-codes": { "version": "3.0.0", @@ -2130,6 +2141,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, "requires": { "restore-cursor": "2.0.0" } @@ -2137,12 +2149,14 @@ "cli-spinners": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz", - "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=" + "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=", + "dev": true }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1", @@ -2184,7 +2198,8 @@ "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true }, "collection-visit": { "version": "1.0.0", @@ -2211,6 +2226,7 @@ "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -2218,7 +2234,8 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "color-string": { "version": "0.3.0", @@ -2243,7 +2260,8 @@ "colors": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true }, "combined-stream": { "version": "1.0.5", @@ -2315,7 +2333,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "concat-stream": { "version": "1.6.0", @@ -2392,7 +2411,8 @@ "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true }, "constants-browserify": { "version": "1.0.0", @@ -2767,7 +2787,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "decode-uri-component": { "version": "0.2.0", @@ -2857,7 +2878,8 @@ "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true }, "depd": { "version": "1.1.2", @@ -2893,7 +2915,8 @@ "detect-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "dev": true }, "detect-node": { "version": "2.0.3", @@ -3468,6 +3491,7 @@ "version": "1.7.3", "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.7.3.tgz", "integrity": "sha1-JK4GrZ3WHLfk1oiWH0kRjEChEOs=", + "dev": true, "requires": { "colors": "1.1.2", "debug": "2.6.9", @@ -3484,12 +3508,14 @@ "camelcase": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -3498,6 +3524,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "jsonfile": "3.0.1", @@ -3508,6 +3535,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "dev": true, "requires": { "graceful-fs": "4.1.11" } @@ -3516,6 +3544,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, "requires": { "lcid": "1.0.0" } @@ -3523,12 +3552,14 @@ "which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true }, "yargs": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, "requires": { "camelcase": "3.0.0", "cliui": "3.2.0", @@ -3549,6 +3580,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, "requires": { "camelcase": "3.0.0" } @@ -3650,6 +3682,7 @@ "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", + "dev": true, "requires": { "is-arrayish": "0.2.1" } @@ -3763,7 +3796,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "escodegen": { "version": "1.9.0", @@ -4424,12 +4458,14 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "inherits": "2.0.3", @@ -4447,6 +4483,7 @@ "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, "requires": { "aproba": "1.2.0", "console-control-strings": "1.1.0", @@ -4485,7 +4522,8 @@ "get-caller-file": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true }, "get-func-name": { "version": "2.0.0", @@ -4523,6 +4561,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -4745,7 +4784,8 @@ "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true }, "has-value": { "version": "1.0.0", @@ -4887,7 +4927,8 @@ "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" + "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "dev": true }, "hpack.js": { "version": "2.1.6", @@ -5229,6 +5270,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "1.4.0", "wrappy": "1.0.2" @@ -5271,7 +5313,8 @@ "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true }, "ip": { "version": "1.1.5", @@ -5311,7 +5354,8 @@ "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true }, "is-binary-path": { "version": "1.0.1", @@ -5331,6 +5375,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, "requires": { "builtin-modules": "1.1.1" } @@ -5432,6 +5477,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, "requires": { "number-is-nan": "1.0.1" } @@ -5627,7 +5673,8 @@ "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true }, "is-wsl": { "version": "1.1.0", @@ -5649,7 +5696,8 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "isobject": { "version": "3.0.1", @@ -5861,6 +5909,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, "requires": { "invert-kv": "1.0.0" } @@ -5879,6 +5928,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "parse-json": "2.2.0", @@ -5890,7 +5940,8 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true } } }, @@ -5941,7 +5992,8 @@ "lodash.assign": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true }, "lodash.camelcase": { "version": "4.3.0", @@ -6022,6 +6074,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, "requires": { "chalk": "2.3.1" }, @@ -6030,6 +6083,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, "requires": { "color-convert": "1.9.1" } @@ -6038,6 +6092,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -6047,12 +6102,14 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "supports-color": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "dev": true, "requires": { "has-flag": "3.0.0" } @@ -6359,7 +6416,8 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true }, "min-document": { "version": "2.19.0", @@ -6391,6 +6449,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "1.1.8" } @@ -6398,7 +6457,8 @@ "minimist": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true }, "mississippi": { "version": "1.3.1", @@ -6509,6 +6569,7 @@ "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, "requires": { "minimist": "0.0.8" } @@ -6596,7 +6657,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multicast-dns": { "version": "6.2.2", @@ -6668,6 +6730,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.2.0.tgz", "integrity": "sha512-FqVC0WNNL8fQWQK3GYTESfwZXZKDbSIiEEIvufq7HV6Lj0IDDZRVa4CU/KTA0JVlqY9eTDSuPiC8FS9UfGVuzA==", + "dev": true, "requires": { "semver": "5.4.1" } @@ -6691,6 +6754,7 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz", "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", + "dev": true, "requires": { "fstream": "1.0.11", "glob": "7.1.2", @@ -6710,7 +6774,8 @@ "semver": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true } } }, @@ -6975,6 +7040,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, "requires": { "abbrev": "1.1.1" } @@ -6983,6 +7049,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, "requires": { "hosted-git-info": "2.5.0", "is-builtin-module": "1.0.0", @@ -7132,6 +7199,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "dev": true, "requires": { "are-we-there-yet": "1.1.4", "console-control-strings": "1.1.0", @@ -7188,7 +7256,8 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true }, "numeral": { "version": "2.0.6", @@ -7340,6 +7409,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1.0.2" } @@ -7348,6 +7418,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, "requires": { "mimic-fn": "1.2.0" } @@ -7387,6 +7458,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, "requires": { "chalk": "2.3.1", "cli-cursor": "2.1.0", @@ -7398,6 +7470,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true, "requires": { "color-convert": "1.9.1" } @@ -7406,6 +7479,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "dev": true, "requires": { "ansi-styles": "3.2.0", "escape-string-regexp": "1.0.5", @@ -7415,12 +7489,14 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true }, "supports-color": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "dev": true, "requires": { "has-flag": "3.0.0" } @@ -7457,7 +7533,8 @@ "os-homedir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true }, "os-locale": { "version": "2.1.0", @@ -7473,12 +7550,14 @@ "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true }, "osenv": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "dev": true, "requires": { "os-homedir": "1.0.2", "os-tmpdir": "1.0.2" @@ -7627,6 +7706,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, "requires": { "error-ex": "1.3.1" } @@ -7672,7 +7752,8 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-is-inside": { "version": "1.0.2", @@ -7698,6 +7779,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, "requires": { "graceful-fs": "4.1.11", "pify": "2.3.0", @@ -7707,7 +7789,8 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true } } }, @@ -7758,12 +7841,14 @@ "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "2.0.4" } @@ -8958,6 +9043,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, "requires": { "load-json-file": "1.1.0", "normalize-package-data": "2.4.0", @@ -8968,6 +9054,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, "requires": { "find-up": "1.1.2", "read-pkg": "1.1.0" @@ -8977,6 +9064,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, "requires": { "path-exists": "2.1.0", "pinkie-promise": "2.0.1" @@ -8986,6 +9074,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, "requires": { "pinkie-promise": "2.0.1" } @@ -9279,12 +9368,14 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true }, "requires-port": { "version": "1.0.0", @@ -9322,6 +9413,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, "requires": { "onetime": "2.0.1", "signal-exit": "3.0.2" @@ -9340,6 +9432,7 @@ "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, "requires": { "glob": "7.1.2" } @@ -9367,6 +9460,7 @@ "version": "5.5.6", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", + "dev": true, "requires": { "symbol-observable": "1.0.1" }, @@ -9374,7 +9468,8 @@ "symbol-observable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", + "dev": true } } }, @@ -9535,7 +9630,8 @@ "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" + "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", + "dev": true }, "semver-diff": { "version": "2.1.0", @@ -9637,7 +9733,8 @@ "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "set-getter": { "version": "0.1.0", @@ -9746,7 +9843,8 @@ "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true }, "single-line-log": { "version": "1.1.2", @@ -9985,6 +10083,7 @@ "version": "2.0.12", "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-2.0.12.tgz", "integrity": "sha512-gOPXiQQFQ9lTOLuys0iMn3jfxxv9c7zzwhbYLOEbQGvEShHVJ5sSR1oD3Daj88os7jKArDYT7rbOKdvNhe7iEg==", + "dev": true, "requires": { "debug": "2.6.9", "lodash.assign": "4.2.0", @@ -9995,6 +10094,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "requires": { "ms": "2.0.0" } @@ -10005,6 +10105,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "dev": true, "requires": { "spdx-license-ids": "1.2.2" } @@ -10012,12 +10113,14 @@ "spdx-expression-parse": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" + "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", + "dev": true }, "spdx-license-ids": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" + "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "dev": true }, "spdy": { "version": "3.4.7", @@ -10454,6 +10557,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -10485,6 +10589,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -10493,6 +10598,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, "requires": { "is-utf8": "0.2.1" } @@ -10604,6 +10710,7 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, "requires": { "block-stream": "0.0.9", "fstream": "1.0.11", @@ -11057,7 +11164,8 @@ "universalify": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.1.tgz", - "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=" + "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc=", + "dev": true }, "unpipe": { "version": "1.0.0", @@ -11372,6 +11480,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "dev": true, "requires": { "spdx-correct": "1.0.2", "spdx-expression-parse": "1.0.4" @@ -12167,6 +12276,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", + "dev": true, "requires": { "isexe": "2.0.0" } @@ -12181,6 +12291,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", + "dev": true, "requires": { "string-width": "1.0.2" } @@ -12261,6 +12372,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, "requires": { "string-width": "1.0.2", "strip-ansi": "3.0.1" @@ -12269,7 +12381,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write-file-atomic": { "version": "2.3.0", @@ -12318,7 +12431,8 @@ "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true }, "yallist": { "version": "2.1.2", diff --git a/package.json b/package.json index a504b5f0cd..c24594f476 100644 --- a/package.json +++ b/package.json @@ -1,142 +1,143 @@ { - "name": "nuclear", - "version": "0.4.2", - "description": "Streaming music player that finds music sources automatically.", - "main": "main.js", - "scripts": { - "start": "npm-run-all --parallel watch electron", - "electron": "electron .", - "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", - "test": "mocha --require babel-register", - "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", - "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", - "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", - "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", - "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", - "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/nukeop/nuclear.git" - }, - "keywords": [ - "electron", - "music", - "youtube" - ], - "author": { - "name": "nukeop", - "email": "nuclear@gumblert.tech" - }, - "license": "GPL-3.0", - "bugs": { - "url": "https://github.com/nukeop/nuclear/issues" - }, - "homepage": "https://github.com/nukeop/nuclear#readme", - "dependencies": { - "billboard-top-100": "^2.0.8", - "electron-platform": "^1.2.0", - "electron-rebuild": "^1.7.3", - "font-awesome": "^4.7.0", - "lowdb": "^1.0.0", - "md5": "^2.2.1", - "moment": "^2.20.1", - "numeral": "^2.0.6", - "pitchfork-bnm": "^1.0.3", - "react": "^16.2.0", - "react-dom": "^16.2.0", - "react-router-transition": "^1.2.1", - "react-sound": "^1.1.0", - "semantic-ui-react": "^0.78.2", - "uuid": "^3.2.1", - "ytdl-core": "^0.20.1" - }, - "devDependencies": { - "babel-core": "^6.26.0", - "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.1", - "babel-preset-es2015": "^6.24.1", - "babel-preset-react": "^6.24.1", - "babel-register": "^6.26.0", - "chai": "^4.1.2", - "classnames": "^2.2.5", - "css-loader": "^0.28.9", - "electron": "^1.8.2", - "electron-builder": "^20.0.4", - "electron-devtools-installer": "^2.2.3", - "extract-text-webpack-plugin": "^3.0.2", - "file-loader": "^1.1.6", - "google-fonts-webpack-plugin": "^0.4.4", - "happypack": "^4.0.1", - "isomorphic-fetch": "^2.2.1", - "lodash": "^4.17.5", - "mocha": "^5.0.0", - "node-sass": "^4.7.2", - "nodebrainz": "^2.1.1", - "npm-run-all": "^4.1.2", - "react-debounce-input": "^3.2.0", - "react-fontawesome": "^1.6.1", - "react-hot-loader": "next", - "react-redux": "^5.0.6", - "react-router": "^4.2.0", - "react-router-dom": "^4.2.2", - "react-router-redux": "^4.0.8", - "redux": "^3.7.2", - "redux-promise": "^0.5.3", - "redux-thunk": "^2.2.0", - "sass-loader": "^6.0.6", - "style-loader": "^0.20.1", - "uglifyjs-webpack-plugin": "^1.1.8", - "url-loader": "^0.6.2", - "webpack": "^3.11.0", - "webpack-dev-server": "^2.11.1" - }, - "optionalDependencies": { - "dbus": "^1.0.3", - "mpris-service": "^1.1.3", - "7zip-bin-mac": "^1.0.1" - }, - "build": { - "appId": "nuclear", - "productName": "nuclear", - "directories": { - "output": "release", - "buildResources": "resources/media" - }, - "files": [ - "dist/", - "resources/", - "index.prod.html", - "main.prod.js", - "mpris.js", - "package.json" - ], - "extraFiles": [ - "resources" - ], - "linux": { - "icon": "1024x1024.png", - "target": [ - "AppImage", - "deb", - "tar.gz" - ], - "category": "Audio;AudioVideo;Network;Player;Music" - }, - "mac": { - "category": "public.app-category.music", - "target": [ - "zip", - "pkg", - "dmg" - ] - }, - "win": { - "target": [ - "nsis", - "portable" - ] - } - } + "name": "nuclear", + "version": "0.4.2", + "description": "Streaming music player that finds music sources automatically.", + "main": "main.js", + "scripts": { + "start": "npm-run-all --parallel watch electron", + "electron": "electron .", + "watch": "webpack-dev-server --inline --progress --env=dev", + "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", + "test": "mocha --require babel-register", + "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", + "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", + "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", + "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", + "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", + "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl", + "postinstall": "electron-rebuild" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/nukeop/nuclear.git" + }, + "keywords": [ + "electron", + "music", + "youtube" + ], + "author": { + "name": "nukeop", + "email": "nuclear@gumblert.tech" + }, + "license": "GPL-3.0", + "bugs": { + "url": "https://github.com/nukeop/nuclear/issues" + }, + "homepage": "https://github.com/nukeop/nuclear#readme", + "dependencies": { + "billboard-top-100": "^2.0.8", + "electron-platform": "^1.2.0", + "font-awesome": "^4.7.0", + "lowdb": "^1.0.0", + "md5": "^2.2.1", + "moment": "^2.20.1", + "numeral": "^2.0.6", + "pitchfork-bnm": "^1.0.3", + "react": "^16.2.0", + "react-dom": "^16.2.0", + "react-router-transition": "^1.2.1", + "react-sound": "^1.1.0", + "semantic-ui-react": "^0.78.2", + "uuid": "^3.2.1", + "ytdl-core": "^0.20.1" + }, + "devDependencies": { + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.1", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-register": "^6.26.0", + "chai": "^4.1.2", + "classnames": "^2.2.5", + "css-loader": "^0.28.9", + "electron": "^1.8.2", + "electron-builder": "^20.0.4", + "electron-devtools-installer": "^2.2.3", + "electron-rebuild": "^1.7.3", + "extract-text-webpack-plugin": "^3.0.2", + "file-loader": "^1.1.6", + "google-fonts-webpack-plugin": "^0.4.4", + "happypack": "^4.0.1", + "isomorphic-fetch": "^2.2.1", + "lodash": "^4.17.5", + "mocha": "^5.0.0", + "node-sass": "^4.7.2", + "nodebrainz": "^2.1.1", + "npm-run-all": "^4.1.2", + "react-debounce-input": "^3.2.0", + "react-fontawesome": "^1.6.1", + "react-hot-loader": "next", + "react-redux": "^5.0.6", + "react-router": "^4.2.0", + "react-router-dom": "^4.2.2", + "react-router-redux": "^4.0.8", + "redux": "^3.7.2", + "redux-promise": "^0.5.3", + "redux-thunk": "^2.2.0", + "sass-loader": "^6.0.6", + "style-loader": "^0.20.1", + "uglifyjs-webpack-plugin": "^1.1.8", + "url-loader": "^0.6.2", + "webpack": "^3.11.0", + "webpack-dev-server": "^2.11.1" + }, + "optionalDependencies": { + "dbus": "^1.0.3", + "mpris-service": "^1.1.3", + "7zip-bin-mac": "^1.0.1" + }, + "build": { + "appId": "nuclear", + "productName": "nuclear", + "directories": { + "output": "release", + "buildResources": "resources/media" + }, + "files": [ + "dist/", + "resources/", + "index.prod.html", + "main.prod.js", + "mpris.js", + "package.json" + ], + "extraFiles": [ + "resources" + ], + "linux": { + "icon": "1024x1024.png", + "target": [ + "AppImage", + "deb", + "tar.gz" + ], + "category": "Audio;AudioVideo;Network;Player;Music" + }, + "mac": { + "category": "public.app-category.music", + "target": [ + "zip", + "pkg", + "dmg" + ] + }, + "win": { + "target": [ + "nsis", + "portable" + ] + } + } } From 28d6c2a4663a8fce464a905c05cf24d9e14a3a67 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 16 Feb 2018 15:47:52 +0100 Subject: [PATCH 088/487] electron-rebuild --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c24594f476..af5f93d1d1 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl", - "postinstall": "electron-rebuild" + "postinstall": "electron-rebuild install-app-deps" }, "repository": { "type": "git", From 7e32ff8f3a8f52143d07ec814602dcdcb17dc5c8 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 17 Feb 2018 23:53:41 +0100 Subject: [PATCH 089/487] Change window title on song change --- app/components/PlayQueue/QueueItem/styles.scss | 1 + main.js | 10 ++++++++++ main.prod.js | 10 ++++++++++ 3 files changed, 21 insertions(+) diff --git a/app/components/PlayQueue/QueueItem/styles.scss b/app/components/PlayQueue/QueueItem/styles.scss index 52661e8372..46e2493ff2 100644 --- a/app/components/PlayQueue/QueueItem/styles.scss +++ b/app/components/PlayQueue/QueueItem/styles.scss @@ -65,6 +65,7 @@ opacity: 0; border-radius: 50%; cursor: pointer; + transition: 0.25s; } .item_info_container { diff --git a/main.js b/main.js index 40a9e22a87..4f7c585afd 100644 --- a/main.js +++ b/main.js @@ -16,6 +16,10 @@ let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); +function changeWindowTitle(artist, title) { + win.setTitle(`${artist} - ${title} - nuclear music player`); +} + function createWindow() { win = new BrowserWindow({ width: 1366, @@ -106,6 +110,8 @@ function createWindow() { return; } + changeWindowTitle(arg.artist, arg.name); + player.metadata = { 'mpris:trackid': player.objectPath('track/0'), 'mpris:artUrl': arg.thumbnail, @@ -125,6 +131,10 @@ function createWindow() { ipcMain.on('paused', (event, arg) => { player.playbackStatus = 'Paused'; }); + } else { + ipcMain.on('songChange', (event, arg) => { + changeWindowTitle(arg.artist, arg.name); + }); } } diff --git a/main.prod.js b/main.prod.js index 0d04f43edd..928171d13a 100644 --- a/main.prod.js +++ b/main.prod.js @@ -15,6 +15,10 @@ let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); +function changeWindowTitle(artist, title) { + win.setTitle(`${artist} - ${title} - nuclear music player`); +} + function createWindow() { win = new BrowserWindow({ width: 1366, @@ -94,6 +98,8 @@ function createWindow() { return; } + changeWindowTitle(arg.artist, arg.name); + player.metadata = { 'mpris:trackid': player.objectPath('track/0'), 'mpris:artUrl': arg.thumbnail, @@ -113,6 +119,10 @@ function createWindow() { ipcMain.on('paused', (event, arg) => { player.playbackStatus = 'Paused'; }); + } else { + ipcMain.on('songChange', (event, arg) => { + changeWindowTitle(arg.artist, arg.name); + }); } } From f9c7511d216bfbba393a352a4fa275fdec581615 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 18 Feb 2018 01:44:23 +0100 Subject: [PATCH 090/487] Sidebar adjustments and active item highlighting --- app/App.js | 42 +++++++++--------- app/actions/index.js | 4 +- .../SidebarMenu/SidebarMenuItem/index.js | 2 +- .../SidebarMenu/SidebarMenuItem/styles.css | 5 --- .../SidebarMenu/SidebarMenuItem/styles.scss | 23 ++++++++++ app/components/SidebarMenu/index.js | 2 +- .../SidebarMenu/{styles.css => styles.scss} | 6 +++ app/containers/MainContentContainer/index.js | 2 +- app/styles.scss | 44 +++++++++---------- 9 files changed, 77 insertions(+), 53 deletions(-) delete mode 100644 app/components/SidebarMenu/SidebarMenuItem/styles.css create mode 100644 app/components/SidebarMenu/SidebarMenuItem/styles.scss rename app/components/SidebarMenu/{styles.css => styles.scss} (56%) diff --git a/app/App.js b/app/App.js index 7c7d4d8b0d..510a118dac 100644 --- a/app/App.js +++ b/app/App.js @@ -3,7 +3,7 @@ import FontAwesome from 'react-fontawesome'; import Sound from 'react-sound'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; -import { Link, withRouter } from 'react-router-dom'; +import { NavLink, Link, withRouter } from 'react-router-dom'; import * as Actions from './actions'; import * as PlayerActions from './actions/player'; import * as PluginsActions from './actions/plugins'; @@ -45,22 +45,22 @@ import VolumeControls from './components/VolumeControls'; class App extends React.Component { togglePlayback() { if(this.props.player.playbackStatus==Sound.status.PAUSED && - this.props.scrobbling.lastFmScrobblingEnabled && - this.props.scrobbling.lastFmSessionKey) { - let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; - this.props.actions.updateNowPlayingAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); + this.props.scrobbling.lastFmScrobblingEnabled && + this.props.scrobbling.lastFmSessionKey) { + let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; + this.props.actions.updateNowPlayingAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); + } + this.props.actions.togglePlayback(this.props.player.playbackStatus); } - this.props.actions.togglePlayback(this.props.player.playbackStatus); - } nextSong() { this.props.actions.nextSong(); if( this.props.scrobbling.lastFmScrobblingEnabled && - this.props.scrobbling.lastFmSessionKey) { - let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; - this.props.actions.updateNowPlayingAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); + this.props.scrobbling.lastFmSessionKey) { + let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; + this.props.actions.updateNowPlayingAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); + } } - } componentWillMount() { this.props.actions.lastFmReadSettings(); @@ -87,11 +87,11 @@ class App extends React.Component {
Version 0.4.2
- Dashboard + Dashboard Downloads - Playlists - Settings - Search results + Playlists + Settings + Search results @@ -102,8 +102,8 @@ class App extends React.Component {
- @@ -118,14 +118,14 @@ class App extends React.Component { + fill={this.props.player.volume + '%'} + updateVolume={this.props.actions.updateVolume} + />
diff --git a/app/actions/index.js b/app/actions/index.js index 40938b998b..7f7d165d2a 100644 --- a/app/actions/index.js +++ b/app/actions/index.js @@ -82,8 +82,8 @@ export function unifiedSearch(terms, history) { dispatch(artistSearch(terms)) ]).then(() => { dispatch(unifiedSearchSuccess()); - if(history.location.pathname !== '/') { - history.push('/'); + if(history.location.pathname !== '/search') { + history.push('/search'); } }); }; diff --git a/app/components/SidebarMenu/SidebarMenuItem/index.js b/app/components/SidebarMenu/SidebarMenuItem/index.js index 302d0ef04e..7aa71beccc 100644 --- a/app/components/SidebarMenu/SidebarMenuItem/index.js +++ b/app/components/SidebarMenu/SidebarMenuItem/index.js @@ -1,6 +1,6 @@ import React from 'react'; -import styles from './styles.css'; +import styles from './styles.scss'; class SidebarMenuItem extends React.Component { constructor(props){ diff --git a/app/components/SidebarMenu/SidebarMenuItem/styles.css b/app/components/SidebarMenu/SidebarMenuItem/styles.css deleted file mode 100644 index 2ddef0b773..0000000000 --- a/app/components/SidebarMenu/SidebarMenuItem/styles.css +++ /dev/null @@ -1,5 +0,0 @@ -.sidebar_menu_item_container { - margin: 12px; - - flex: 0 0 auto; -} diff --git a/app/components/SidebarMenu/SidebarMenuItem/styles.scss b/app/components/SidebarMenu/SidebarMenuItem/styles.scss new file mode 100644 index 0000000000..f244685144 --- /dev/null +++ b/app/components/SidebarMenu/SidebarMenuItem/styles.scss @@ -0,0 +1,23 @@ +@import '../../../vars.scss'; + +.sidebar_menu_item_container { + display: flex; + flex: 0 0 auto; + flex-flow: row; + justify-content: flex-start; + + padding: 0.75rem; + + letter-spacing: 0.5px; + + font-size: 1.25rem; + font-variant: small-caps; + + &:first-child { + justify-content: center; + } + + &:hover:not(:first-child) { + background: $background3; + } +} diff --git a/app/components/SidebarMenu/index.js b/app/components/SidebarMenu/index.js index 3c72688530..a138bdc62d 100644 --- a/app/components/SidebarMenu/index.js +++ b/app/components/SidebarMenu/index.js @@ -1,6 +1,6 @@ import React from 'react'; -import styles from './styles.css'; +import styles from './styles.scss'; import SidebarMenuItem from './SidebarMenuItem'; diff --git a/app/components/SidebarMenu/styles.css b/app/components/SidebarMenu/styles.scss similarity index 56% rename from app/components/SidebarMenu/styles.css rename to app/components/SidebarMenu/styles.scss index 11b1c567fe..c760ad074f 100644 --- a/app/components/SidebarMenu/styles.css +++ b/app/components/SidebarMenu/styles.scss @@ -1,5 +1,11 @@ +@import '../../vars'; + .sidebar_menu_container { flex: 1 1 auto; display: flex; flex-flow: column; + + a { + color: rgba($white, 0.5); + } } diff --git a/app/containers/MainContentContainer/index.js b/app/containers/MainContentContainer/index.js index 2fc85677bb..ab97313a24 100644 --- a/app/containers/MainContentContainer/index.js +++ b/app/containers/MainContentContainer/index.js @@ -42,7 +42,7 @@ class MainContentContainer extends React.Component { - + diff --git a/app/styles.scss b/app/styles.scss index 3b0a65014c..0384536ed8 100644 --- a/app/styles.scss +++ b/app/styles.scss @@ -4,20 +4,19 @@ position: absolute; display: flex; + flex-flow: column; width: 100%; height: 100%; color: $grey; - - flex-flow: column; } .panel_container { display: flex; - flex: 1 1 auto; flex-flow: row; + height: 100%; } @@ -25,6 +24,7 @@ z-index: 20; display: flex; + flex-flow: row; height: 50px; @@ -32,42 +32,39 @@ box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.18), 0px 5px 20px 0px rgba(0, 0, 0, 0.09); -webkit-app-region: drag; - flex-flow: row; } .left_panel { z-index: 10; display: flex; + flex: 0 0 auto; + flex-flow: column; width: 300px; background-color: $background; box-shadow: 5px 0px 5px 0px rgba(0, 0, 0, 0.18), 5px 0px 20px 0px rgba(0, 0, 0, 0.09); - - flex-flow: column; - flex: 0 0 auto; } .center_panel { - background-color: $background; - flex: 1 1 auto; + background-color: $background; + } .right_panel { z-index: 10; display: flex; + flex: 0 0 auto; + flex-flow: column; width: 300px; background-color: $background; box-shadow: -5px 0px 5px 0px rgba(0, 0, 0, 0.18), -5px 0px 20px 0px rgba(0, 0, 0, 0.09); - - flex-flow: column; - flex: 0 0 auto; } .footer { @@ -75,34 +72,37 @@ display: flex; overflow-y: hidden; + flex: 0 0 auto; + flex-flow: column; height: 80px; background-color: $background3; box-shadow: 0px -5px 5px 0px rgba(0, 0, 0, 0.18), 0px -10px 20px 0px rgba(0, 0, 0, 0.09); - - flex: 0 0 auto; - flex-flow: column; } .footer_horizontal { display: flex; - - flex-flow: row; - flex: 1 1 auto; align-items: center; + flex: 1 1 auto; + flex-flow: row; justify-content: space-between; } .track_info_wrapper { display: flex; - - flex-flow: row; flex: 0 0 33%; + flex-flow: row; } .version_string { - color: $lightbg; - text-align: center; margin: 0.5rem 0; + + text-align: center; + + color: $lightbg; +} + +.active_nav_link { + color: $white !important; } From cc408392f02da1233b5eeca5088f0e40fa5bfb98 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 18 Feb 2018 23:07:18 +0100 Subject: [PATCH 091/487] Return early if there are no args --- main.js | 3 +++ main.prod.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/main.js b/main.js index 4f7c585afd..16af16fc70 100644 --- a/main.js +++ b/main.js @@ -133,6 +133,9 @@ function createWindow() { }); } else { ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } changeWindowTitle(arg.artist, arg.name); }); } diff --git a/main.prod.js b/main.prod.js index 928171d13a..40af893828 100644 --- a/main.prod.js +++ b/main.prod.js @@ -121,6 +121,9 @@ function createWindow() { }); } else { ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } changeWindowTitle(arg.artist, arg.name); }); } From 96a900caf1ce6c147a8fef1688802bc2ec91cd24 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 19 Feb 2018 22:28:16 +0100 Subject: [PATCH 092/487] Code style --- app/components/AlbumView/index.js | 177 +++++++++---------- app/containers/AlbumViewContainer/index.js | 14 +- app/containers/MainContentContainer/index.js | 32 ++-- 3 files changed, 111 insertions(+), 112 deletions(-) diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index d3f675da92..f4c9568951 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -19,13 +19,13 @@ class AlbumView extends React.Component { let firstArtist = _.find(track.artists, artist => artist.join == '').name; let artistName = firstArtist; _(track.artists).filter(artist => artist.name != firstArtist).forEach( - artist => { - artistName += ' ' + artist.join + ' ' + artist.name; - }); + artist => { + artistName += ' ' + artist.join + ' ' + artist.name; + }); - return artistName; + return artistName; + } } - } artistInfoSearch(artistId) { this.props.artistInfoSearch(artistId); @@ -48,16 +48,16 @@ class AlbumView extends React.Component { renderOptions(album) { return( } - artist={album.artists[0].name} - title={album.title} - thumb={album.images ? album.images[0].uri : artPlaceholder} - > + trigger={} + artist={album.artists[0].name} + title={album.title} + thumb={album.images ? album.images[0].uri : artPlaceholder} + > ); } - + render() { let { album @@ -70,91 +70,90 @@ class AlbumView extends React.Component { { - album.loading - ? null - :
+ album.loading && +
- -
-
{album.title}
- -
- - {album.styles ? album.styles[0] : null} -
- -
- - {album.year} -
-
- - {album.tracklist.length} -
- -
- + +
+
{album.title}
+ +
+ + { album.styles && album.styles[0] } +
+ +
+ + {album.year} +
+
+ + {album.tracklist.length} +
+
-

9*m+Q9M{Z;7mQ+jmS=nY|XY|l6}Y7ou^ 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 U6v}-EKz~e+n;$DY;&Ai-0a$j3WB>pF literal 0 HcmV?d00001 From 6ba4f431e0cbb2ebbf2a3d745a32e45b75917888 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 13 Feb 2018 22:23:04 +0100 Subject: [PATCH 075/487] move icon to resources --- {build => resources/media}/1024x1024.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename {build => resources/media}/1024x1024.png (100%) diff --git a/build/1024x1024.png b/resources/media/1024x1024.png similarity index 100% rename from build/1024x1024.png rename to resources/media/1024x1024.png From 7a6f854ddea0a800624c31d11464c76fde3e2029 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 13 Feb 2018 23:48:56 +0100 Subject: [PATCH 076/487] Fix queue popups --- .travis.yml | 2 +- app/components/QueuePopup/index.js | 10 +++++++++- app/components/QueuePopup/styles.scss | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2190419daa..8461a9483a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,7 +30,7 @@ script: - npm run build:dist - | if [ "$TRAVIS_OS_NAME" == "linux" ]; then - DEBUG=electron-builder npm run build:linux && npm run build:windows + npm run build:linux else npm run build:macos fi diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 9c2370b19f..2b87549c08 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -16,6 +16,7 @@ class QueuePopup extends React.Component { this.setState({ isOpen: !this.state.isOpen }); + this.container.click(); } handleOpen() { @@ -36,12 +37,19 @@ class QueuePopup extends React.Component { > { this.container = element; }} + > + {trigger} + + } open={this.state.isOpen} onClose={this.handleClose.bind(this)} onOpen={this.handleOpen.bind(this)} hideOnScroll position='left center' + on='' >

- {track.name}{track.artist.name}{formatDuration(track.duration)}
+ {track.name}{track.artist.name}{formatDuration(track.duration)}
- - - - - - - - - { - album.tracklist.map((el, i) => { - return ( - - - - - - } - artist={album.artists[0].name} - title={el.title} - thumb={album.images[0].uri} - > - this.props.addToQueue( - this.props.musicSources, - { - artist: this.getArtistName(el, album), - name: el.title, - thumbnail: album.images[0].uri - } - )} - className={styles.add_button} - > - Add to queue - - Play now - - ); - }) - } - + + +
Song
{i + 1}{el.title}{el.duration}
+ + + + + + + + + { + album.tracklist.map((el, i) => { + return ( + + + + + + } + artist={album.artists[0].name} + title={el.title} + thumb={album.images[0].uri} + > + this.props.addToQueue( + this.props.musicSources, + { + artist: this.getArtistName(el, album), + name: el.title, + thumbnail: album.images[0].uri + } + ) + } + className={styles.add_button} + > + Add to queue + + Play now + + ); + }) + } +
Song
{i + 1}{el.title}{el.duration}
-
} - - -
+ +
); } } diff --git a/app/containers/AlbumViewContainer/index.js b/app/containers/AlbumViewContainer/index.js index 0e4603bce3..5f76625338 100644 --- a/app/containers/AlbumViewContainer/index.js +++ b/app/containers/AlbumViewContainer/index.js @@ -18,13 +18,13 @@ class AlbumViewContainer extends React.Component { render() { return ( ); } diff --git a/app/containers/MainContentContainer/index.js b/app/containers/MainContentContainer/index.js index ab97313a24..217b2f392a 100644 --- a/app/containers/MainContentContainer/index.js +++ b/app/containers/MainContentContainer/index.js @@ -33,22 +33,22 @@ class MainContentContainer extends React.Component { atLeave={{ opacity: 0 }} atActive={{ opacity: 1 }} className={styles.transition} - > - - - - - - - - - - - - - ); - } - }> + > + + + + + + + + + + + + + ); + } + }> ); From 07fe1940a596699f5b34f22f552ddd2ef1fb9f0f Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 19 Feb 2018 23:03:27 +0100 Subject: [PATCH 093/487] More intuitive behaviour in album view --- app/components/AlbumView/index.js | 46 +++++++++++++++------- app/containers/AlbumViewContainer/index.js | 22 +++++++---- 2 files changed, 47 insertions(+), 21 deletions(-) diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index f4c9568951..8272402f06 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -23,9 +23,20 @@ class AlbumView extends React.Component { artistName += ' ' + artist.join + ' ' + artist.name; }); - return artistName; - } + return artistName; } + } + + addToQueue(album, track) { + this.props.addToQueue( + this.props.musicSources, + { + artist: this.getArtistName(track, album), + name: track.title, + thumbnail: album.images[0].uri + } + ); + } artistInfoSearch(artistId) { this.props.artistInfoSearch(artistId); @@ -33,6 +44,7 @@ class AlbumView extends React.Component { } playAll(album) { + this.props.clearQueue(); album.tracklist.map((track, i) => { this.props.addToQueue(this.props.musicSources, { artist: album.artists[0].name, @@ -70,7 +82,7 @@ class AlbumView extends React.Component { { - album.loading && + !album.loading &&
@@ -79,7 +91,7 @@ class AlbumView extends React.Component {
- { album.styles && album.styles[0] } + { album.styles && Object.keys(album.styles) > 0 && album.styles[0] }
@@ -127,22 +139,28 @@ class AlbumView extends React.Component { title={el.title} thumb={album.images[0].uri} > - this.props.addToQueue( - this.props.musicSources, - { - artist: this.getArtistName(el, album), - name: el.title, - thumbnail: album.images[0].uri - } - ) + () => this.addToQueue(album, el) } className={styles.add_button} > Add to queue - Play now + { + this.props.clearQueue(); + this.addToQueue(album, el); + this.props.selectSong(0); + this.props.startPlayback(); + } + } + className={styles.add_button} + > Play now + ); }) diff --git a/app/containers/AlbumViewContainer/index.js b/app/containers/AlbumViewContainer/index.js index 5f76625338..14b0d34c8f 100644 --- a/app/containers/AlbumViewContainer/index.js +++ b/app/containers/AlbumViewContainer/index.js @@ -16,15 +16,23 @@ class AlbumViewContainer extends React.Component { } render() { + let { + actions, + match, + history, + albumDetails, + musicSources + } = this.props; return ( ); } From f589e08dfac92cfce31e388fa9d57a1235ef9fbc Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 19 Feb 2018 23:35:55 +0100 Subject: [PATCH 094/487] Add play now to popular tracks --- .../ArtistView/PopularTracks/index.js | 51 +++++++--- app/components/ArtistView/index.js | 98 +++++++++++-------- app/containers/AlbumViewContainer/index.js | 2 +- app/containers/ArtistViewContainer/index.js | 22 +++-- 4 files changed, 111 insertions(+), 62 deletions(-) diff --git a/app/components/ArtistView/PopularTracks/index.js b/app/components/ArtistView/PopularTracks/index.js index 52e522ed1b..8fd0dfb176 100644 --- a/app/components/ArtistView/PopularTracks/index.js +++ b/app/components/ArtistView/PopularTracks/index.js @@ -12,14 +12,31 @@ class PopularTracks extends React.Component { super(props); } + addToQueue(artist, track) { + this.props.addToQueue(this.props.musicSources, { + artist: artist.name, + name: track.name, + thumbnail: track.image[0]['#text'] || artPlaceholder + }); + } + render() { + let { + artist, + tracks, + addToQueue, + selectSong, + startPlayback, + clearQueue, + musicSources + } = this.props; return (
Popular tracks:
{ - this.props.tracks.track.slice(0, 5).map((track, index)=> { + tracks.track.slice(0, 5).map((track, index)=> { return (
} - artist={this.props.artist.name} + artist={artist.name} title={track.name} thumb={track.image[0]['#text'] || artPlaceholder} > - this.props.addToQueue(this.props.musicSources, { - artist: this.props.artist.name, - name: track.name, - thumbnail: track.image[0]['#text'] || artPlaceholder - })} + this.addToQueue(artist, track)} className={styles.add_button} > Add to queue - Play now + { + clearQueue(); + this.addToQueue(artist, track); + selectSong(0); + startPlayback(); + }} + className={styles.add_button} + > + Play now + ) }) }
- ); + ); - } -} + } + } -export default PopularTracks; + export default PopularTracks; diff --git a/app/components/ArtistView/index.js b/app/components/ArtistView/index.js index 9863a4beb8..15c826a06e 100644 --- a/app/components/ArtistView/index.js +++ b/app/components/ArtistView/index.js @@ -22,6 +22,17 @@ class ArtistView extends React.Component { } render() { + let { + artist, + history, + albumInfoSearch, + addToQueue, + selectSong, + startPlayback, + clearQueue, + artistInfoSearchByName, + musicSources + } = this.props; return (
@@ -29,64 +40,67 @@ class ArtistView extends React.Component { - {this.isLoading() - ? null - :
-
+
+ }} + className={styles.artist_header}> -
-
-
-
-

{this.props.artist.name}

- -
-
+
+
+
+
+

{artist.name}

+
-
- } - -
-
+
+
+ } +
+
{ - this.isLoading() - ? null - : } { - this.isLoading() - ? null - : + !this.isLoading() && + }
- +
diff --git a/app/containers/AlbumViewContainer/index.js b/app/containers/AlbumViewContainer/index.js index 14b0d34c8f..4a0700fae6 100644 --- a/app/containers/AlbumViewContainer/index.js +++ b/app/containers/AlbumViewContainer/index.js @@ -29,10 +29,10 @@ class AlbumViewContainer extends React.Component { artistInfoSearch={actions.artistInfoSearch} addToQueue={actions.addToQueue} musicSources={musicSources} - history={history} selectSong={actions.selectSong} startPlayback={actions.startPlayback} clearQueue={actions.clearQueue} + history={history} /> ); } diff --git a/app/containers/ArtistViewContainer/index.js b/app/containers/ArtistViewContainer/index.js index 19fc2ff527..22349ade0b 100644 --- a/app/containers/ArtistViewContainer/index.js +++ b/app/containers/ArtistViewContainer/index.js @@ -17,14 +17,24 @@ class ArtistViewContainer extends React.Component { } render() { + let { + actions, + match, + history, + artistDetails, + musicSources + } = this.props; return ( ); } From 2695fb52907b30be3d29e1f671f1940a3eb1acf3 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 19 Feb 2018 23:37:19 +0100 Subject: [PATCH 095/487] Correct dimmer size when loading --- app/components/AlbumList/styles.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/components/AlbumList/styles.scss b/app/components/AlbumList/styles.scss index 1aa5572090..6bd10cb0f0 100644 --- a/app/components/AlbumList/styles.scss +++ b/app/components/AlbumList/styles.scss @@ -1,6 +1,7 @@ .album_list_container { display: flex; width: 100%; + height: 100%; } .album_list_cards { From 54efe09008671659058526663743132345e6684a Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 19 Feb 2018 23:53:16 +0100 Subject: [PATCH 096/487] Add all to queue for albums, cosmetic changes --- app/components/AlbumView/index.js | 27 +++++++++++++------ .../SidebarMenu/SidebarMenuItem/styles.scss | 1 + app/styles.scss | 4 +++ 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index 8272402f06..6db90ce55c 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -38,13 +38,7 @@ class AlbumView extends React.Component { ); } - artistInfoSearch(artistId) { - this.props.artistInfoSearch(artistId); - this.props.history.push('/artist/' + artistId); - } - - playAll(album) { - this.props.clearQueue(); + addAlbumToQueue(album) { album.tracklist.map((track, i) => { this.props.addToQueue(this.props.musicSources, { artist: album.artists[0].name, @@ -52,7 +46,16 @@ class AlbumView extends React.Component { thumbnail: album.images[0].uri }); }); + } + artistInfoSearch(artistId) { + this.props.artistInfoSearch(artistId); + this.props.history.push('/artist/' + artistId); + } + + playAll(album) { + this.props.clearQueue(); + this.addAlbumToQueue(album); this.props.selectSong(0); this.props.startPlayback(); } @@ -65,7 +68,15 @@ class AlbumView extends React.Component { title={album.title} thumb={album.images ? album.images[0].uri : artPlaceholder} > - + this.addAlbumToQueue(album) + } + className={styles.add_button} + > + Add to queue + ); } diff --git a/app/components/SidebarMenu/SidebarMenuItem/styles.scss b/app/components/SidebarMenu/SidebarMenuItem/styles.scss index f244685144..12285cad4a 100644 --- a/app/components/SidebarMenu/SidebarMenuItem/styles.scss +++ b/app/components/SidebarMenu/SidebarMenuItem/styles.scss @@ -8,6 +8,7 @@ padding: 0.75rem; + transition: 0.25s; letter-spacing: 0.5px; font-size: 1.25rem; diff --git a/app/styles.scss b/app/styles.scss index 0384536ed8..3a4186aaa6 100644 --- a/app/styles.scss +++ b/app/styles.scss @@ -105,4 +105,8 @@ .active_nav_link { color: $white !important; + border-left: 6px solid $green; + margin-left: -0.75rem; + padding-left: 0.5rem; + transition: 0s; } From bf21a8c4799352481f4ab671594f4e631ba3a0dc Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 20 Feb 2018 00:11:24 +0100 Subject: [PATCH 097/487] Add artist links to best new music entries --- .../BestNewListActiveItem/index.js | 92 ++++++++++--------- .../BestNewMusicTab/BestNewList/index.js | 44 +++++---- .../Dashboard/BestNewMusicTab/index.js | 41 +++++---- app/components/Dashboard/index.js | 34 ++++--- app/containers/DashboardContainer/index.js | 24 +++-- 5 files changed, 132 insertions(+), 103 deletions(-) diff --git a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js index 954863750f..dfb588e192 100644 --- a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js +++ b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js @@ -4,12 +4,14 @@ import styles from './styles.scss'; class BestNewListActiveItem extends React.Component { constructor(props) { - super(props); + super(props); } - + render() { let { - item + item, + artistInfoSearchByName, + history } = this.props; if (!item) { @@ -19,49 +21,49 @@ class BestNewListActiveItem extends React.Component { return (
-
-
-
-
- { - item.score - ?
- {item.score} -
- : null - } +
+
+
+
+ { + item.score + ?
+ {item.score} +
+ : null + } + + + -
-
- {item.title} -
-
- by {item.artist} -
-
- - -
-
- { - item.abstract - ?
{item.abstract}
- : null - } -
- {item.review} -
- -
-
- -
- ); +
+
+ { + item.abstract + ?
{item.abstract}
+ : null + } +
+ {item.review} +
+ +
+
+ +
+ ); + } } -} export default BestNewListActiveItem; diff --git a/app/components/Dashboard/BestNewMusicTab/BestNewList/index.js b/app/components/Dashboard/BestNewMusicTab/BestNewList/index.js index 97986db84f..58c4535d6d 100644 --- a/app/components/Dashboard/BestNewMusicTab/BestNewList/index.js +++ b/app/components/Dashboard/BestNewMusicTab/BestNewList/index.js @@ -14,33 +14,37 @@ class BestNewList extends React.Component { render() { let { - data + data, + artistInfoSearchByName, + history } = this.props; return (
- -
+ +
- { - data.map((el, i) => { - return this.setState({ - activeItem: i - }) - } - item={el} - key={i} - />; - }) - } -
- + { + data.map((el, i) => { + return this.setState({ + activeItem: i + }) + } + item={el} + key={i} + />; + }) + } +
+
); } diff --git a/app/components/Dashboard/BestNewMusicTab/index.js b/app/components/Dashboard/BestNewMusicTab/index.js index 7841d440f0..f93db65cf0 100644 --- a/app/components/Dashboard/BestNewMusicTab/index.js +++ b/app/components/Dashboard/BestNewMusicTab/index.js @@ -14,26 +14,35 @@ class BestNewMusicTab extends React.Component { } render() { + let { + dashboardData, + artistInfoSearchByName, + history + } = this.props; return (
-

- Best new albums -

-
- -
-

- Best new tracks -

+

+ Best new albums +

- -
-
+ +
+

+ Best new tracks +

+
+ +
+
); } diff --git a/app/components/Dashboard/index.js b/app/components/Dashboard/index.js index 93f623f0d1..faacd2c4e0 100644 --- a/app/components/Dashboard/index.js +++ b/app/components/Dashboard/index.js @@ -9,27 +9,33 @@ class Dashboard extends React.Component { panes() { return [ { - menuItem: 'Best new music', - render: () => + menuItem: 'Best new music', + render: () => + }, { - menuItem: 'Charts', - render: () => { return null; } + menuItem: 'Charts', + render: () => { return null; } }, { - menuItem: 'Genres', - render: () => + menuItem: 'Genres', + render: () => + }, { - menuItem: 'Events', - render: () => { return null; } + menuItem: 'Events', + render: () => { return null; } }, { - menuItem: 'News', - render: () => + menuItem: 'News', + render: () => }, ]; } @@ -40,7 +46,7 @@ class Dashboard extends React.Component { this.props.loadNuclearNews(); this.props.loadTopTags(); } - + render() { return (
diff --git a/app/containers/DashboardContainer/index.js b/app/containers/DashboardContainer/index.js index 318c92e1db..6dfc5f44f2 100644 --- a/app/containers/DashboardContainer/index.js +++ b/app/containers/DashboardContainer/index.js @@ -1,21 +1,29 @@ import React from 'react'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; +import * as Actions from '../../actions'; import * as DashboardActions from '../../actions/dashboard'; import Dashboard from '../../components/Dashboard'; class DashboardContainer extends React.Component { render() { + let { + actions, + dashboard, + history + } = this.props; return ( + albumInfoSearch={actions.albumInfoSearch} + artistInfoSearchByName={actions.artistInfoSearchByName} + loadBestNewAlbums={actions.loadBestNewAlbums} + loadBestNewTracks={actions.loadBestNewTracks} + loadNuclearNews={actions.loadNuclearNews} + loadTopTags={actions.loadTopTags} + dashboardData={dashboard} + history={history} + /> ); } } @@ -28,7 +36,7 @@ function mapStateToProps(state) { function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(DashboardActions, dispatch) + actions: bindActionCreators(Object.assign({}, Actions, DashboardActions), dispatch) }; } From 65ff63d0942450a8ee0ac81706647acde68f5eb6 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 20 Feb 2018 00:23:43 +0100 Subject: [PATCH 098/487] Add links to tags --- app/components/ArtistView/ArtistTags/index.js | 18 ++++-- .../ArtistView/ArtistTags/styles.scss | 13 ++-- app/components/ArtistView/index.js | 27 +++++---- .../BestNewListActiveItem/styles.scss | 10 +++- app/components/Dashboard/GenresTab/index.js | 60 +++++++++---------- 5 files changed, 74 insertions(+), 54 deletions(-) diff --git a/app/components/ArtistView/ArtistTags/index.js b/app/components/ArtistView/ArtistTags/index.js index 56691daff3..dead9f7d15 100644 --- a/app/components/ArtistView/ArtistTags/index.js +++ b/app/components/ArtistView/ArtistTags/index.js @@ -7,17 +7,25 @@ class ArtistTags extends React.Component { super(props); } + onTagClick(tag) { + this.props.history.push('/tag/' + tag); + } + render() { return (
{ - this.props.tags && this.props.tags.length > 0 - ? this.props.tags.map((el, i) => { - return ( - #{el.name} + this.props.tags && this.props.tags.length > 0 && + this.props.tags.map((el, i) => { + return ( + this.onTagClick.bind(this)(el.name)} + key={i} + className={styles.tag} + >#{el.name} ); }) - : null }
); diff --git a/app/components/ArtistView/ArtistTags/styles.scss b/app/components/ArtistView/ArtistTags/styles.scss index 951537ff20..8bdfac4981 100644 --- a/app/components/ArtistView/ArtistTags/styles.scss +++ b/app/components/ArtistView/ArtistTags/styles.scss @@ -2,18 +2,19 @@ .tags_container { display: flex; - flex-flow: row; - flex: 1 1 auto; - align-items: center; - + flex: 1 1 auto; + flex-flow: row wrap; } .tag { display: flex; - margin: 0 0.5rem; + + margin: 0 0.5rem 0.5rem 0.5rem; padding: 0.25rem 0.5rem; + + color: $white; border-radius: 0.75rem; background-color: rgba($green, 0.8); - color: $white; + white-space: nowrap; } diff --git a/app/components/ArtistView/index.js b/app/components/ArtistView/index.js index 15c826a06e..e06e029859 100644 --- a/app/components/ArtistView/index.js +++ b/app/components/ArtistView/index.js @@ -52,19 +52,22 @@ class ArtistView extends React.Component { }} className={styles.artist_header}> -
-
-
+
+
-
-

{artist.name}

- + backgroundRepeat: 'noRepeat', + backgroundPosition: 'center', + backgroundSize: 'cover' + }}>
+
+

{artist.name}

+
diff --git a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss index 0cef8d710d..38b4829cde 100644 --- a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss +++ b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss @@ -85,10 +85,18 @@ padding-left: 0; } } - + .artist { font-size: 1.25rem; color: $lightbg; + + a { + color: $lightbg; + + &:hover { + color: $white; + } + } } .title { diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js index c517fb9573..222bb46b4b 100644 --- a/app/components/Dashboard/GenresTab/index.js +++ b/app/components/Dashboard/GenresTab/index.js @@ -20,36 +20,36 @@ class GenresTab extends React.Component { return (
- { - genres !== undefined - ? genres.map((tag, i) => { - return ( -
this.onGenreClick(tag.name)} - > - + { + genres !== undefined + ? genres.map((tag, i) => { + return ( +
this.onGenreClick(tag.name)} + > +
-
-
-
-
- {tag.name} -
-
- ); - }) - : null - } -
- - ); - } -} +
+
+
+
+ {tag.name} +
+
+ ); + }) + : null + } +
+ + ); + } + } export default GenresTab; From ff475f385b942f0d09f5ae34ae8b08f86e574669 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 20 Feb 2018 23:29:16 +0100 Subject: [PATCH 099/487] Render settings automatically based on config and sync with redux state --- app/actions/settings.js | 10 ++++ app/components/Settings/index.js | 73 +++++++++++++++-------- app/constants/settings.js | 16 +++++ app/containers/SettingsContainer/index.js | 9 ++- app/reducers/index.js | 4 +- app/reducers/settings.js | 18 ++++++ 6 files changed, 102 insertions(+), 28 deletions(-) create mode 100644 app/actions/settings.js create mode 100644 app/constants/settings.js create mode 100644 app/reducers/settings.js diff --git a/app/actions/settings.js b/app/actions/settings.js new file mode 100644 index 0000000000..94c51f597c --- /dev/null +++ b/app/actions/settings.js @@ -0,0 +1,10 @@ +import { store } from '../persistence/store'; + +export const SET_BOOLEAN_OPTION = 'SET_BOOLEAN_OPTION'; + +export function setBooleanOption(option, state) { + return { + type: SET_BOOLEAN_OPTION, + payload: {option, state} + }; +} diff --git a/app/components/Settings/index.js b/app/components/Settings/index.js index b548b33381..225410b165 100644 --- a/app/components/Settings/index.js +++ b/app/components/Settings/index.js @@ -1,6 +1,7 @@ import React from 'react'; import FontAwesome from 'react-fontawesome'; import { Button, Radio } from 'semantic-ui-react'; +import _ from 'lodash'; import Header from '../Header'; import Spacer from '../Spacer'; @@ -12,8 +13,19 @@ class Settings extends React.Component { lastFmScrobblingEnabled ? disableScrobbling(): enableScrobbling(); } + toggleOption(option, state) { + state !== undefined + ? this.props.actions.setBooleanOption(option, !state) + : this.props.actions.setBooleanOption(option, true); + } + render() { - const { + let { + options, + settings + } = this.props; + + let { lastFmAuthToken, lastFmName, lastFmSessionKey, @@ -24,9 +36,12 @@ class Settings extends React.Component { lastFmConnectAction, lastFmLoginAction, enableScrobbling, - disableScrobbling + disableScrobbling, + setBooleanOption } = this.props.actions; + let optionsGroups = _.groupBy(options, 'category'); + return (
@@ -56,14 +71,12 @@ class Settings extends React.Component { User: {lastFmName ? lastFmName : 'Not logged in'} { - lastFmSessionKey - ? null - : + !lastFmSessionKey && + } { - lastFmSessionKey - ? null - : + lastFmSessionKey && + }
@@ -78,23 +91,33 @@ class Settings extends React.Component {
-
-
- Playback -
-
-
-
-
- Program settings -
-
-
- - - -
-
+ { + _.map(optionsGroups, (group, i) => { + return ( +
+
+ {i} +
+
+ { + _.map(group, (option, j) => { + return ( +
+ + + this.toggleOption(option.name, settings[option.name])} + checked={settings[option.name]} + /> +
+ ); + }) + } +
+ ); + }) + }
); diff --git a/app/constants/settings.js b/app/constants/settings.js new file mode 100644 index 0000000000..e1cc39ce64 --- /dev/null +++ b/app/constants/settings.js @@ -0,0 +1,16 @@ +export default [ + { + name: 'loopAfterQueueEnd', + category: 'Playback', + type: 'boolean', + prettyName: 'Loop after playing the last queue item', + default: false + }, + { + name: 'framelessWindow', + category: 'Program settings', + type: 'boolean', + prettyName: 'Frameless window', + default: true + } +]; diff --git a/app/containers/SettingsContainer/index.js b/app/containers/SettingsContainer/index.js index 9d54fb04db..44b5564abe 100644 --- a/app/containers/SettingsContainer/index.js +++ b/app/containers/SettingsContainer/index.js @@ -2,6 +2,8 @@ import React from 'react'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import * as ScrobblingActions from '../../actions/scrobbling'; +import * as SettingsActions from '../../actions/settings'; +import options from '../../constants/settings'; import Settings from '../../components/Settings'; @@ -11,6 +13,8 @@ class SettingsContainer extends React.Component { ); } @@ -18,13 +22,14 @@ class SettingsContainer extends React.Component { function mapStateToProps(state) { return { - scrobbling: state.scrobbling + scrobbling: state.scrobbling, + settings: state.settings } } function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(ScrobblingActions, dispatch) + actions: bindActionCreators(Object.assign({}, ScrobblingActions, SettingsActions), dispatch) }; } diff --git a/app/reducers/index.js b/app/reducers/index.js index b5ed51adea..a49e24dbee 100644 --- a/app/reducers/index.js +++ b/app/reducers/index.js @@ -6,6 +6,7 @@ import PluginsReducer from './plugins'; import QueueReducer from './queue'; import ScrobblingReducer from './scrobbling'; import SearchReducer from './search'; +import SettingsReducer from './settings'; import DashboardReducer from './dashboard'; import TagReducer from './tag'; @@ -17,7 +18,8 @@ const rootReducer = combineReducers({ scrobbling: ScrobblingReducer, playlists: PlaylistsReducer, dashboard: DashboardReducer, - tags: TagReducer + tags: TagReducer, + settings: SettingsReducer }); export default rootReducer; diff --git a/app/reducers/settings.js b/app/reducers/settings.js new file mode 100644 index 0000000000..755db4614e --- /dev/null +++ b/app/reducers/settings.js @@ -0,0 +1,18 @@ +import { + SET_BOOLEAN_OPTION +} from '../actions/settings'; + +const initialState = { + +}; + +export default function SettingsReducer(state=initialState, action) { + switch(action.type) { + case SET_BOOLEAN_OPTION: + return Object.assign({}, state, { + [`${action.payload.option}`]: action.payload.state + }); + default: + return state; + } +} From 0e51b73c24136dfed85ee08f9a04390f21b29459 Mon Sep 17 00:00:00 2001 From: Mikel Pintado Date: Tue, 20 Feb 2018 23:38:07 +0100 Subject: [PATCH 100/487] Modified desktop file. (#59) Additional desktop file entries and spanish language support. --- package.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index af5f93d1d1..4a0391372a 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,12 @@ "resources" ], "linux": { - "icon": "1024x1024.png", + "icon": "0x0.png", + "desktop": [ + "Name=Nuclear", + "Name[es]=Reproductor de música Nuclear", + "Comment[es]=Reproductor que retransmite música desde fuentes encontradas automáticamente." + ], "target": [ "AppImage", "deb", From 9ac4209853aaaf92735e3f8a24c8c85729a06b91 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 20 Feb 2018 23:38:40 +0100 Subject: [PATCH 101/487] Use default values if not set --- app/components/Settings/index.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/components/Settings/index.js b/app/components/Settings/index.js index 225410b165..2920110762 100644 --- a/app/components/Settings/index.js +++ b/app/components/Settings/index.js @@ -15,8 +15,14 @@ class Settings extends React.Component { toggleOption(option, state) { state !== undefined - ? this.props.actions.setBooleanOption(option, !state) - : this.props.actions.setBooleanOption(option, true); + ? this.props.actions.setBooleanOption(option.name, !state) + : this.props.actions.setBooleanOption(option.name, !option.default); + } + + isChecked(option) { + return this.props.settings[option.name] !== undefined + ? this.props.settings[option.name] + : option.default; } render() { @@ -107,8 +113,8 @@ class Settings extends React.Component { this.toggleOption(option.name, settings[option.name])} - checked={settings[option.name]} + onChange={() => this.toggleOption(option, settings[option.name])} + checked={this.isChecked(option)} />
); From c2326283b19d265f5e39f13235d5c28e7a8f0326 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 20 Feb 2018 23:50:08 +0100 Subject: [PATCH 102/487] Store options state in local db --- app/actions/settings.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/actions/settings.js b/app/actions/settings.js index 94c51f597c..be23331d04 100644 --- a/app/actions/settings.js +++ b/app/actions/settings.js @@ -3,6 +3,8 @@ import { store } from '../persistence/store'; export const SET_BOOLEAN_OPTION = 'SET_BOOLEAN_OPTION'; export function setBooleanOption(option, state) { + store.set(`settings.${option}`, state).write(); + return { type: SET_BOOLEAN_OPTION, payload: {option, state} From f36155e827c846672761b2a889f9fa1d0e278ce8 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 21 Feb 2018 00:05:14 +0100 Subject: [PATCH 103/487] Load settings from local db on startup --- app/App.js | 3 +++ app/actions/settings.js | 9 +++++++++ app/components/Settings/index.js | 2 +- app/reducers/settings.js | 3 +++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/App.js b/app/App.js index 510a118dac..293a55a78b 100644 --- a/app/App.js +++ b/app/App.js @@ -8,6 +8,7 @@ import * as Actions from './actions'; import * as PlayerActions from './actions/player'; import * as PluginsActions from './actions/plugins'; import * as QueueActions from './actions/queue'; +import * as SettingsActions from './actions/settings'; import * as ScrobblingActions from './actions/scrobbling'; import './app.global.scss'; @@ -63,6 +64,7 @@ class App extends React.Component { } componentWillMount() { + this.props.actions.readSettings(); this.props.actions.lastFmReadSettings(); this.props.actions.createSearchPlugins(PluginConfig.plugins); } @@ -148,6 +150,7 @@ function mapDispatchToProps(dispatch) { return { actions: bindActionCreators(Object.assign({}, ScrobblingActions, + SettingsActions, QueueActions, PlayerActions, PluginsActions, diff --git a/app/actions/settings.js b/app/actions/settings.js index be23331d04..55d507ced3 100644 --- a/app/actions/settings.js +++ b/app/actions/settings.js @@ -1,7 +1,16 @@ import { store } from '../persistence/store'; +export const READ_SETTINGS = 'READ_SETTINGS'; export const SET_BOOLEAN_OPTION = 'SET_BOOLEAN_OPTION'; +export function readSettings() { + let settings = store.get('settings').value(); + return { + type: READ_SETTINGS, + payload: settings + }; +} + export function setBooleanOption(option, state) { store.set(`settings.${option}`, state).write(); diff --git a/app/components/Settings/index.js b/app/components/Settings/index.js index 2920110762..4eaa651408 100644 --- a/app/components/Settings/index.js +++ b/app/components/Settings/index.js @@ -108,7 +108,7 @@ class Settings extends React.Component { { _.map(group, (option, j) => { return ( -
+
Date: Wed, 21 Feb 2018 00:47:29 +0100 Subject: [PATCH 104/487] Read settings in electron main process and apply frameless window setting --- app/constants/settings.js | 2 +- main.js | 10 ++++++---- main.prod.js | 6 ++++-- mpris.js => server/mpris.js | 0 server/store.js | 8 ++++++++ 5 files changed, 19 insertions(+), 7 deletions(-) rename mpris.js => server/mpris.js (100%) create mode 100644 server/store.js diff --git a/app/constants/settings.js b/app/constants/settings.js index e1cc39ce64..c44e93c4bf 100644 --- a/app/constants/settings.js +++ b/app/constants/settings.js @@ -10,7 +10,7 @@ export default [ name: 'framelessWindow', category: 'Program settings', type: 'boolean', - prettyName: 'Frameless window', + prettyName: 'Frameless window (requires restart)', default: true } ]; diff --git a/main.js b/main.js index 16af16fc70..b528570d7d 100644 --- a/main.js +++ b/main.js @@ -3,7 +3,8 @@ const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electr const platform = require('electron-platform'); const path = require('path'); const url = require('url'); -const mpris = require('./mpris'); +const mpris = require('./server/mpris'); +const store = require('./server/store').store; var Player; // GNU/Linux-specific @@ -15,6 +16,7 @@ let win; let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); +let settings = store.get('settings').value(); function changeWindowTitle(artist, title) { win.setTitle(`${artist} - ${title} - nuclear music player`); @@ -24,7 +26,7 @@ function createWindow() { win = new BrowserWindow({ width: 1366, height: 768, - frame: false, + frame: !settings.framelessWindow, icon: icon, webPreferences: { experimentalFeatures: true @@ -82,7 +84,7 @@ function createWindow() { ipcMain.on('maximize', () => { win.isMaximized() ? win.unmaximize() : win.maximize(); }); - + // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { player = Player({ @@ -111,7 +113,7 @@ function createWindow() { } changeWindowTitle(arg.artist, arg.name); - + player.metadata = { 'mpris:trackid': player.objectPath('track/0'), 'mpris:artUrl': arg.thumbnail, diff --git a/main.prod.js b/main.prod.js index 40af893828..890fd65ac2 100644 --- a/main.prod.js +++ b/main.prod.js @@ -2,7 +2,8 @@ const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electr const platform = require('electron-platform'); const path = require('path'); const url = require('url'); -const mpris = require('./mpris'); +const mpris = require('./server/mpris'); +const store = require('./server/store').store; var Player; // GNU/Linux-specific @@ -14,6 +15,7 @@ let win; let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); +let settings = store.get('settings').value(); function changeWindowTitle(artist, title) { win.setTitle(`${artist} - ${title} - nuclear music player`); @@ -23,7 +25,7 @@ function createWindow() { win = new BrowserWindow({ width: 1366, height: 768, - frame: false, + frame: !settings.framelessWindow, icon: icon, webPreferences: { experimentalFeatures: true diff --git a/mpris.js b/server/mpris.js similarity index 100% rename from mpris.js rename to server/mpris.js diff --git a/server/store.js b/server/store.js new file mode 100644 index 0000000000..134fbd0467 --- /dev/null +++ b/server/store.js @@ -0,0 +1,8 @@ +const low = require('lowdb'); +const FileSync = require('lowdb/adapters/FileSync'); + +const store = low(new FileSync('nuclear.json')); + +module.exports = { + store +}; From 1e3db736f7c5d184f71d27ed85166fc04d487391 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 21 Feb 2018 01:01:17 +0100 Subject: [PATCH 105/487] Apply loop setting to playlist --- app/components/PlayQueue/index.js | 40 +++++++++++++------------- app/containers/SoundContainer/index.js | 33 ++++++++++++--------- 2 files changed, 39 insertions(+), 34 deletions(-) diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index eb79a2277c..48f01bd2ce 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -19,22 +19,22 @@ class PlayQueue extends React.Component { return this.props.items.map((el, i) => { return ( - - } - track={el} - musicSources={this.props.musicSources} - rerollTrack={this.props.rerollTrack} - /> + + } + track={el} + musicSources={this.props.musicSources} + rerollTrack={this.props.rerollTrack} + /> ); }); } @@ -42,16 +42,16 @@ class PlayQueue extends React.Component { render() { return (
- -
- {this.renderQueueItems()} -
- +
+ {this.renderQueueItems()} +
+
); } diff --git a/app/containers/SoundContainer/index.js b/app/containers/SoundContainer/index.js index 0c74928669..a6ce2a2557 100644 --- a/app/containers/SoundContainer/index.js +++ b/app/containers/SoundContainer/index.js @@ -30,14 +30,18 @@ class SoundContainer extends React.Component { let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; this.props.actions.scrobbleAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); } - this.props.actions.nextSong(); + if (this.props.queue.currentSong < this.props.queue.queueItems.length -1 || this.props.settings.loopAfterQueueEnd) { + this.props.actions.nextSong(); + } else { + this.props.actions.pausePlayback(); + } } shouldComponentUpdate(nextProps) { return ( this.props.queue.currentSong != nextProps.queue.currentSong || - this.props.player.playbackStatus != nextProps.player.playbackStatus || - this.props.player.seek != nextProps.player.seek + this.props.player.playbackStatus != nextProps.player.playbackStatus || + this.props.player.seek != nextProps.player.seek ); } @@ -50,21 +54,21 @@ class SoundContainer extends React.Component { if (queue.queueItems.length > 0) { let currentSong = queue.queueItems[queue.currentSong]; if (currentSong.streams && currentSong.streams.length > 0) { - streamUrl = currentSong.streams[0].stream; + streamUrl = currentSong.streams[0].stream; } } return ( + url={streamUrl} + playStatus={player.playbackStatus} + onPlaying={this.handlePlaying.bind(this)} + onFinishedPlaying={this.handleFinishedPlaying.bind(this)} + onLoading={this.handleLoading.bind(this)} + onLoad={this.handleLoaded.bind(this)} + position={player.seek} + volume={player.volume} + /> ); } } @@ -73,7 +77,8 @@ function mapStateToProps(state) { return { queue: state.queue, player: state.player, - scrobbling: state.scrobbling + scrobbling: state.scrobbling, + settings: state.settings }; } From c5ee673c2e2cfdaf37654e371dfda0ff80fbf812 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 21 Feb 2018 01:11:44 +0100 Subject: [PATCH 106/487] Code style --- app/App.js | 2 +- app/actions/player.js | 4 +-- app/actions/plugins.js | 4 +-- app/components/AlbumView/index.js | 2 +- .../ArtistView/PopularTracks/index.js | 2 +- app/components/InputDialog/index.js | 32 +++++++++---------- app/components/PlayQueue/index.js | 2 +- app/components/QueuePopup/index.js | 8 ++--- app/containers/IpcContainer/index.js | 2 +- app/containers/SoundContainer/index.js | 6 ++-- app/plugins/MusicSources/YoutubePlugin.js | 4 +-- app/utils.js | 2 +- 12 files changed, 35 insertions(+), 35 deletions(-) diff --git a/app/App.js b/app/App.js index 293a55a78b..283775e0cd 100644 --- a/app/App.js +++ b/app/App.js @@ -45,7 +45,7 @@ import VolumeControls from './components/VolumeControls'; class App extends React.Component { togglePlayback() { - if(this.props.player.playbackStatus==Sound.status.PAUSED && + if(this.props.player.playbackStatus===Sound.status.PAUSED && this.props.scrobbling.lastFmScrobblingEnabled && this.props.scrobbling.lastFmSessionKey) { let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; diff --git a/app/actions/player.js b/app/actions/player.js index d1b2cf754c..24b2a3b936 100644 --- a/app/actions/player.js +++ b/app/actions/player.js @@ -10,7 +10,7 @@ export const UPDATE_PLAYBACK_STREAM_LOADING = 'UPDATE_PLAYBACK_STREAM_LOADING'; export function togglePlayback(currentState) { return dispatch => { - if (currentState == Sound.status.PLAYING) { + if (currentState === Sound.status.PLAYING) { dispatch(pausePlayback()); } else { dispatch(startPlayback()); @@ -38,7 +38,7 @@ export function updatePlaybackProgress(progress, seek) { return { type: UPDATE_PLAYBACK_PROGRESS, payload: { - progress, + progress, seek } }; diff --git a/app/actions/plugins.js b/app/actions/plugins.js index 6136970742..a36391716e 100644 --- a/app/actions/plugins.js +++ b/app/actions/plugins.js @@ -8,8 +8,8 @@ export function createSearchPlugins(pluginClasses) { for ( var i=0; i artist.join == '').name; + let firstArtist = _.find(track.artists, artist => artist.join === '').name; let artistName = firstArtist; _(track.artists).filter(artist => artist.name != firstArtist).forEach( artist => { diff --git a/app/components/ArtistView/PopularTracks/index.js b/app/components/ArtistView/PopularTracks/index.js index 8fd0dfb176..468284ac00 100644 --- a/app/components/ArtistView/PopularTracks/index.js +++ b/app/components/ArtistView/PopularTracks/index.js @@ -36,7 +36,7 @@ class PopularTracks extends React.Component { Popular tracks:
{ - tracks.track.slice(0, 5).map((track, index)=> { + tracks.track.slice(0, 5).map((track, index) => { return ( - - {header} - { if (input) input.focus(); }} - placeholder={placeholder} + basic + closeIcon + dimmer='blurring' + trigger={trigger} + onClose={this.handleClose} + onOpen={this.handleOpen.bind(this)} + open={this.state.isOpen} + > + + {header} + { input && input.focus(); }} + placeholder={placeholder} onChange={this.handleChange} /> diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 48f01bd2ce..d684324032 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -26,7 +26,7 @@ class PlayQueue extends React.Component { index={i} track={el} loading={el.loading} - current={this.props.currentSong==i} + current={this.props.currentSong === i} selectSong={this.props.selectSong} removeFromQueue={this.props.removeFromQueue} /> diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 695d5e6889..1468347105 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -37,17 +37,17 @@ class QueuePopup extends React.Component { } rerollTrack(track) { - let musicSource = _.find(this.props.musicSources, s => s.sourceName == track.streams[0].source); + let musicSource = _.find(this.props.musicSources, s => s.sourceName === track.streams[0].source); this.props.rerollTrack(musicSource, track); } - + render() { let { trigger, track, musicSources } = this.props; - + let dropdownOptions = _.map(musicSources, s => { return { key: s.sourceName, @@ -109,7 +109,7 @@ class QueuePopup extends React.Component { ) :
Stream still loading.
} - +
); diff --git a/app/containers/IpcContainer/index.js b/app/containers/IpcContainer/index.js index f7b73572fb..8bd0eb651e 100644 --- a/app/containers/IpcContainer/index.js +++ b/app/containers/IpcContainer/index.js @@ -25,7 +25,7 @@ class IpcContainer extends React.Component { } componentWillReceiveProps(nextProps){ - if (this.props != nextProps) { + if (this.props !== nextProps) { let currentSong = nextProps.queue.queueItems[nextProps.queue.currentSong]; onSongChange(currentSong); } diff --git a/app/containers/SoundContainer/index.js b/app/containers/SoundContainer/index.js index a6ce2a2557..1163c04ee4 100644 --- a/app/containers/SoundContainer/index.js +++ b/app/containers/SoundContainer/index.js @@ -39,9 +39,9 @@ class SoundContainer extends React.Component { shouldComponentUpdate(nextProps) { return ( - this.props.queue.currentSong != nextProps.queue.currentSong || - this.props.player.playbackStatus != nextProps.player.playbackStatus || - this.props.player.seek != nextProps.player.seek + this.props.queue.currentSong !== nextProps.queue.currentSong || + this.props.player.playbackStatus !== nextProps.player.playbackStatus || + this.props.player.seek !== nextProps.player.seek ); } diff --git a/app/plugins/MusicSources/YoutubePlugin.js b/app/plugins/MusicSources/YoutubePlugin.js index 55a3f29b06..3710cb35a2 100644 --- a/app/plugins/MusicSources/YoutubePlugin.js +++ b/app/plugins/MusicSources/YoutubePlugin.js @@ -21,7 +21,7 @@ class YoutubePlugin extends MusicSourcePlugin { return ytdl.getInfo(`http://www.youtube.com/watch?v=${id}`); }) .then(videoInfo => { - let formatInfo = _.head(videoInfo.formats.filter(e => e.itag=='140')); + let formatInfo = _.head(videoInfo.formats.filter(e => e.itag === '140')); return { source: 'Youtube', id: videoInfo.video_id, @@ -38,7 +38,7 @@ class YoutubePlugin extends MusicSourcePlugin { .then(results => results.json()) .then(results => { let song = _(results.items).find(item => { - return item && item.id.videoId != currentStream.id; + return item && item.id.videoId !== currentStream.id; }); let id = song.id.videoId; return ytdl.getInfo(`http://www.youtube.com/watch?v=${id}`); diff --git a/app/utils.js b/app/utils.js index 1f765358fc..63045542fd 100644 --- a/app/utils.js +++ b/app/utils.js @@ -8,7 +8,7 @@ export function formatDuration(duration) { if (minutes < 10) {minutes = "0"+minutes;} if (seconds < 10) {seconds = "0"+seconds;} - if (hours==0) { + if (hours === 0) { return minutes+':'+seconds; } else { return hours+':'+minutes+':'+seconds; From c25055241a7117b178050606cf56362dfe65cd96 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 21 Feb 2018 01:26:43 +0100 Subject: [PATCH 107/487] remove double click handling --- app/components/QueuePopup/index.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 1468347105..99b77bf944 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -32,12 +32,8 @@ class QueuePopup extends React.Component { this.setState({ isOpen: false }); } - handleDoubleClick() { - this.container.dblclick(); - } - rerollTrack(track) { - let musicSource = _.find(this.props.musicSources, s => s.sourceName === track.streams[0].source); + let musicSource = _.find(this.props.musicSources, s => s.sourceName == track.streams[0].source); this.props.rerollTrack(musicSource, track); } @@ -59,7 +55,6 @@ class QueuePopup extends React.Component { return (
Date: Thu, 22 Feb 2018 15:26:42 +0100 Subject: [PATCH 108/487] Use default option value if it's not present in db --- app/constants/settings.js | 2 +- main.js | 5 ++--- main.prod.js | 5 ++--- server/store.js | 13 ++++++++++++- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/app/constants/settings.js b/app/constants/settings.js index c44e93c4bf..80c653310a 100644 --- a/app/constants/settings.js +++ b/app/constants/settings.js @@ -1,4 +1,4 @@ -export default [ +module.exports = [ { name: 'loopAfterQueueEnd', category: 'Playback', diff --git a/main.js b/main.js index b528570d7d..a35d39ba66 100644 --- a/main.js +++ b/main.js @@ -4,7 +4,7 @@ const platform = require('electron-platform'); const path = require('path'); const url = require('url'); const mpris = require('./server/mpris'); -const store = require('./server/store').store; +const getOption = require('./server/store').getOption; var Player; // GNU/Linux-specific @@ -16,7 +16,6 @@ let win; let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); -let settings = store.get('settings').value(); function changeWindowTitle(artist, title) { win.setTitle(`${artist} - ${title} - nuclear music player`); @@ -26,7 +25,7 @@ function createWindow() { win = new BrowserWindow({ width: 1366, height: 768, - frame: !settings.framelessWindow, + frame: !getOption('framelessWindow'), icon: icon, webPreferences: { experimentalFeatures: true diff --git a/main.prod.js b/main.prod.js index 890fd65ac2..efb02fe0a8 100644 --- a/main.prod.js +++ b/main.prod.js @@ -3,7 +3,7 @@ const platform = require('electron-platform'); const path = require('path'); const url = require('url'); const mpris = require('./server/mpris'); -const store = require('./server/store').store; +const getOption = require('./server/store').getOption; var Player; // GNU/Linux-specific @@ -15,7 +15,6 @@ let win; let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); -let settings = store.get('settings').value(); function changeWindowTitle(artist, title) { win.setTitle(`${artist} - ${title} - nuclear music player`); @@ -25,7 +24,7 @@ function createWindow() { win = new BrowserWindow({ width: 1366, height: 768, - frame: !settings.framelessWindow, + frame: !getOption('framelessWindow'), icon: icon, webPreferences: { experimentalFeatures: true diff --git a/server/store.js b/server/store.js index 134fbd0467..cbf568d88f 100644 --- a/server/store.js +++ b/server/store.js @@ -1,8 +1,19 @@ const low = require('lowdb'); const FileSync = require('lowdb/adapters/FileSync'); +const _ = require('lodash'); +const options = require('../app/constants/settings'); const store = low(new FileSync('nuclear.json')); +function getOption(key) { + var value = store.get(key).value(); + if (!value || Object.keys(value).length < 1) { + value = _.find(options, option => option.name === key);\ + } + + return value; +}; + module.exports = { - store + getOption }; From 8a8cf2b9eebf4bcce12d6b9665c59ac7fe3f60c9 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 22 Feb 2018 16:50:44 +0100 Subject: [PATCH 109/487] typo --- server/store.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/store.js b/server/store.js index cbf568d88f..b7a335112a 100644 --- a/server/store.js +++ b/server/store.js @@ -8,7 +8,7 @@ const store = low(new FileSync('nuclear.json')); function getOption(key) { var value = store.get(key).value(); if (!value || Object.keys(value).length < 1) { - value = _.find(options, option => option.name === key);\ + value = _.find(options, option => option.name === key); } return value; From b8fd3860b0c4df1ddfaf7e12319dea57aa151829 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 22 Feb 2018 20:00:58 +0100 Subject: [PATCH 110/487] Fix settings display bug --- app/components/Settings/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/Settings/index.js b/app/components/Settings/index.js index 4eaa651408..5caa92aa8b 100644 --- a/app/components/Settings/index.js +++ b/app/components/Settings/index.js @@ -81,7 +81,7 @@ class Settings extends React.Component { } { - lastFmSessionKey && + !lastFmSessionKey && }
From afbeb47ffa822f56138ca48a865f90c08d80714d Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 22 Feb 2018 23:22:49 +0100 Subject: [PATCH 111/487] Add links to artists on tag pages --- app/components/TagView/TagTopList/index.js | 66 +++++++++-------- app/components/TagView/TagTopList/styles.scss | 10 ++- app/components/TagView/index.js | 74 ++++++++++--------- app/containers/TagViewContainer/index.js | 21 ++++-- 4 files changed, 95 insertions(+), 76 deletions(-) diff --git a/app/components/TagView/TagTopList/index.js b/app/components/TagView/TagTopList/index.js index 0b9ba87c64..bb32961eb8 100644 --- a/app/components/TagView/TagTopList/index.js +++ b/app/components/TagView/TagTopList/index.js @@ -12,47 +12,49 @@ class TagTopList extends React.Component { render() { let { topList, + onClick, header } = this.props; return(
-

{header}

-
-
-
+

{header}

+
+
onClick(topList[0].name)}>
+ className={styles.top_item_photo} + style={{backgroundImage: `url(${_.last(topList[0].image)['#text']})`}} + /> +
{topList[0].name}
-
-
-
- { - topList.slice(1, 5).map((item, i) => { - return ( +
+
+
+ { + topList.slice(1, 5).map((item, i) => { + return (
-
-
-
{item.name}
-
-
- ); - }) - } + key={i} + className={styles.other_item} + onClick={() => onClick(item.name)} + > +
+
+
{item.name}
+
+
+ ); + }) + } +
+
-
-
); } } diff --git a/app/components/TagView/TagTopList/styles.scss b/app/components/TagView/TagTopList/styles.scss index 856cd4ef7d..b558f60c60 100644 --- a/app/components/TagView/TagTopList/styles.scss +++ b/app/components/TagView/TagTopList/styles.scss @@ -6,7 +6,7 @@ flex-flow: column; margin-bottom: 2rem; flex: 1 1 auto; - + h4 { font-size: 2rem; } @@ -26,6 +26,7 @@ padding-bottom: 50%; border-radius: 0.25rem; overflow: hidden; + cursor: pointer; } .top_item_photo { @@ -48,8 +49,12 @@ left: 0; right: 0; padding: 1rem; - background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.65) 100%); + background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.65) 100%); z-index: 10; + + &:hover { + background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(#202020, 0.65) 100%); + } } .item_name { @@ -79,6 +84,7 @@ width: 50%; height: 0; padding-bottom: 50%; + cursor: pointer; } .other_item_photo { diff --git a/app/components/TagView/index.js b/app/components/TagView/index.js index 7a28cf3b3a..2745be4493 100644 --- a/app/components/TagView/index.js +++ b/app/components/TagView/index.js @@ -16,10 +16,15 @@ class TagView extends React.Component { this.props.loadTagInfo(this.props.tag); } + artistInfoSearchByName(artistName) { + this.props.artistInfoSearchByName(artistName, this.props.history); + } + render() { let { loadTagInfo, addToQueue, + artistInfoSearchByName, tag, tags, musicSources @@ -32,46 +37,47 @@ class TagView extends React.Component { topAlbums = tags[tag][2].albums.album; topArtists = tags[tag][3].topartists.artist; } - + return (
- - - + + + - { - tags[tag] === undefined || tags[tag].loading - ? null - : ( -
+ { + tags[tag] === undefined || tags[tag].loading + ? null + : ( +
- + tag={tag} + tagInfo={tagInfo} + topArtists={topArtists} + /> +
- - -
- - -
- ) - } + + +
+ + +
+ ) + }
); diff --git a/app/containers/TagViewContainer/index.js b/app/containers/TagViewContainer/index.js index 7159aeda88..3ff608dc77 100644 --- a/app/containers/TagViewContainer/index.js +++ b/app/containers/TagViewContainer/index.js @@ -2,6 +2,7 @@ import React from 'react'; import { withRouter } from 'react-router-dom'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; +import * as Actions from '../../actions'; import * as TagActions from '../../actions/tag'; import * as QueueActions from '../../actions/queue'; @@ -16,17 +17,21 @@ class TagViewContainer extends React.Component { let { actions, match, + history, tags, musicSources } = this.props; + return ( + loadTagInfo={actions.loadTagInfo} + addToQueue={actions.addToQueue} + artistInfoSearchByName={actions.artistInfoSearchByName} + history={history} + tag={match.params.tagName} + tags={tags} + musicSources={musicSources} + /> ); } } @@ -40,8 +45,8 @@ function mapStateToProps(state) { function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(Object.assign({}, TagActions, QueueActions), dispatch) + actions: bindActionCreators(Object.assign({}, Actions, TagActions, QueueActions), dispatch) }; } -export default connect(mapStateToProps, mapDispatchToProps)(TagViewContainer); +export default withRouter(connect(mapStateToProps, mapDispatchToProps)(TagViewContainer)); From 67b2dfa6ca2943218d1c6e3af441f3c0ddd9a254 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 00:16:58 +0100 Subject: [PATCH 112/487] Plugins view stub --- app/App.js | 1 + app/components/PluginsView/index.js | 25 ++++++++++++ app/components/PluginsView/styles.scss | 6 +++ app/containers/MainContentContainer/index.js | 40 ++++++++++---------- app/containers/PluginsContainer/index.js | 34 +++++++++++++++++ 5 files changed, 86 insertions(+), 20 deletions(-) create mode 100644 app/components/PluginsView/index.js create mode 100644 app/components/PluginsView/styles.scss create mode 100644 app/containers/PluginsContainer/index.js diff --git a/app/App.js b/app/App.js index 283775e0cd..e7d87272fc 100644 --- a/app/App.js +++ b/app/App.js @@ -92,6 +92,7 @@ class App extends React.Component { Dashboard Downloads Playlists + Plugins Settings Search results diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js new file mode 100644 index 0000000000..ad953fb91d --- /dev/null +++ b/app/components/PluginsView/index.js @@ -0,0 +1,25 @@ +import React from 'react'; + +import Header from '../Header'; +import styles from './styles.scss'; + +class PluginsView extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + + } = this.props; + return ( +
+
+ Plugins +
+
+ ); + } +} + +export default PluginsView; diff --git a/app/components/PluginsView/styles.scss b/app/components/PluginsView/styles.scss new file mode 100644 index 0000000000..1abb70d69b --- /dev/null +++ b/app/components/PluginsView/styles.scss @@ -0,0 +1,6 @@ +.plugins_view_container { + display: flex; + flex-flow: column; + width: 100%; + height: 100%; +} diff --git a/app/containers/MainContentContainer/index.js b/app/containers/MainContentContainer/index.js index 217b2f392a..4a52abe0a5 100644 --- a/app/containers/MainContentContainer/index.js +++ b/app/containers/MainContentContainer/index.js @@ -12,6 +12,7 @@ import ArtistViewContainer from '../ArtistViewContainer'; import DashboardContainer from '../DashboardContainer'; import PlaylistsContainer from '../PlaylistsContainer'; import PlaylistViewContainer from '../PlaylistViewContainer'; +import PluginsContainer from '../PluginsContainer'; import SearchResultsContainer from '../SearchResultsContainer'; import SettingsContainer from '../SettingsContainer'; import TagViewContainer from '../TagViewContainer'; @@ -22,7 +23,6 @@ import styles from './styles.scss'; class MainContentContainer extends React.Component { render() { - return( { return ( @@ -33,26 +33,26 @@ class MainContentContainer extends React.Component { atLeave={{ opacity: 0 }} atActive={{ opacity: 1 }} className={styles.transition} - > - - - - - - - - - - - - - ); - } + > + + + + + + + + + + + + + + ); + } }> - - - ); -} + + ); + } } function mapStateToProps(state) { diff --git a/app/containers/PluginsContainer/index.js b/app/containers/PluginsContainer/index.js new file mode 100644 index 0000000000..06a113d0fe --- /dev/null +++ b/app/containers/PluginsContainer/index.js @@ -0,0 +1,34 @@ +import React from 'react'; +import { connect } from 'react-redux'; +import { bindActionCreators } from 'redux'; + +import PluginsView from '../../components/PluginsView'; + +class PluginsContainer extends React.Component { + constructor(props) { + super(props); + } + + render() { + let { + + } = this.props; + + return ( + + ); + } +} + +function mapStateToProps(state) { + return { + } +} + +function mapDispatchToProps(dispatch) { + return { + actions: bindActionCreators(Object.assign({}), dispatch) + } +} + +export default connect(mapStateToProps, mapDispatchToProps)(PluginsContainer); From 898242bb994e2cc118de3777f36c05c72bd884e5 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 00:19:41 +0100 Subject: [PATCH 113/487] Use url-loader instead of file-loader in dev config --- webpack.config.dev.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/webpack.config.dev.js b/webpack.config.dev.js index 6049a39982..f2b53be9e1 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -43,7 +43,7 @@ const config = { loader: 'style-loader!css-loader?modules=true&localIdentName=[name]__[local]___[hash:base64:5]' }, { test: /\.(png|jpg|gif)$/, - loader: 'file-loader', + loader: 'url-loader', include: RESOURCES_DIR } ] From 918e21b9259ef39653b91c55995167fca8d5543e Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 00:45:59 +0100 Subject: [PATCH 114/487] Sidebar menu refactor - make entire bars clickable --- app/App.js | 39 +++++++++++++++---- .../SidebarMenu/SidebarMenuItem/styles.scss | 6 +-- app/components/SidebarMenu/index.js | 15 ++----- app/styles.scss | 10 +++-- 4 files changed, 43 insertions(+), 27 deletions(-) diff --git a/app/App.js b/app/App.js index e7d87272fc..d52eb30789 100644 --- a/app/App.js +++ b/app/App.js @@ -39,6 +39,7 @@ import PlayerControls from './components/PlayerControls'; import PlayQueue from './components/PlayQueue'; import Seekbar from './components/Seekbar'; import SidebarMenu from './components/SidebarMenu'; +import SidebarMenuItem from './components/SidebarMenu/SidebarMenuItem'; import TrackInfo from './components/TrackInfo'; import WindowControls from './components/WindowControls'; import VolumeControls from './components/VolumeControls'; @@ -81,7 +82,7 @@ class App extends React.Component {
-
+
Version 0.4.2
- Dashboard - Downloads - Playlists - Plugins - Settings - Search results + + + Dashboard + + + + + Downloads + + + + + Playlists + + + + + Plugins + + + + + Settings + + + + + Search results + +
diff --git a/app/components/SidebarMenu/SidebarMenuItem/styles.scss b/app/components/SidebarMenu/SidebarMenuItem/styles.scss index 12285cad4a..288253b2c7 100644 --- a/app/components/SidebarMenu/SidebarMenuItem/styles.scss +++ b/app/components/SidebarMenu/SidebarMenuItem/styles.scss @@ -14,11 +14,7 @@ font-size: 1.25rem; font-variant: small-caps; - &:first-child { - justify-content: center; - } - - &:hover:not(:first-child) { + &:hover { background: $background3; } } diff --git a/app/components/SidebarMenu/index.js b/app/components/SidebarMenu/index.js index a138bdc62d..79c01d25e7 100644 --- a/app/components/SidebarMenu/index.js +++ b/app/components/SidebarMenu/index.js @@ -9,20 +9,13 @@ class SidebarMenu extends React.Component { super(props); } - renderItems(){ - return this.props.children.map((el, i) => { - return ( - - {el} - - ); - }); - } - render() { + let { + children + } = this.props; return (
- { this.renderItems() } + { children }
); } diff --git a/app/styles.scss b/app/styles.scss index 3a4186aaa6..37434601b2 100644 --- a/app/styles.scss +++ b/app/styles.scss @@ -105,8 +105,10 @@ .active_nav_link { color: $white !important; - border-left: 6px solid $green; - margin-left: -0.75rem; - padding-left: 0.5rem; - transition: 0s; + border-left: 0.5rem solid $green; +} + +.sidebar_brand { + text-align: center; + padding: 1rem; } From a37c91b7c67af6dadb8963a95eab59a25db30a65 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 00:47:47 +0100 Subject: [PATCH 115/487] Cosmetic - sidebar --- app/components/SidebarMenu/SidebarMenuItem/styles.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/components/SidebarMenu/SidebarMenuItem/styles.scss b/app/components/SidebarMenu/SidebarMenuItem/styles.scss index 288253b2c7..6898da085b 100644 --- a/app/components/SidebarMenu/SidebarMenuItem/styles.scss +++ b/app/components/SidebarMenu/SidebarMenuItem/styles.scss @@ -17,4 +17,8 @@ &:hover { background: $background3; } + + span { + margin-right: 0.75rem; + } } From 6f2a6be9fea0c625b8a9250fe75c9eca81fc6864 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 01:18:58 +0100 Subject: [PATCH 116/487] Add button for expanding popular tracks on artist page --- app/App.js | 2 +- .../ArtistView/PopularTracks/index.js | 24 +++++++++++++++---- .../ArtistView/PopularTracks/styles.scss | 15 +++++++++++- 3 files changed, 34 insertions(+), 7 deletions(-) diff --git a/app/App.js b/app/App.js index d52eb30789..7e35dd99f8 100644 --- a/app/App.js +++ b/app/App.js @@ -84,7 +84,7 @@ class App extends React.Component {
Version 0.4.2
diff --git a/app/components/ArtistView/PopularTracks/index.js b/app/components/ArtistView/PopularTracks/index.js index 468284ac00..fade35c51a 100644 --- a/app/components/ArtistView/PopularTracks/index.js +++ b/app/components/ArtistView/PopularTracks/index.js @@ -10,6 +10,16 @@ import styles from './styles.scss'; class PopularTracks extends React.Component { constructor(props) { super(props); + + this.state = { + expanded: false + }; + } + + toggleExpand() { + this.setState(prevState => { + return { expanded: !prevState.expanded }; + }); } addToQueue(artist, track) { @@ -30,13 +40,14 @@ class PopularTracks extends React.Component { clearQueue, musicSources } = this.props; + return (
Popular tracks:
{ - tracks.track.slice(0, 5).map((track, index) => { + tracks.track.slice(0, this.state.expanded ? 15 : 5).map((track, index) => { return ( + +
- ); + ); - } - } + } +} - export default PopularTracks; +export default PopularTracks; diff --git a/app/components/ArtistView/PopularTracks/styles.scss b/app/components/ArtistView/PopularTracks/styles.scss index 0c6c40e6d3..aff822cdb0 100644 --- a/app/components/ArtistView/PopularTracks/styles.scss +++ b/app/components/ArtistView/PopularTracks/styles.scss @@ -46,6 +46,19 @@ text-align: right; } } + + .expand_button { + display: flex; + justify-content: center; + padding: 0.5rem; + margin-top: 0.5rem; + transition: 0.25s; + cursor: pointer; + + &:hover { + background: lighten($background, 5%); + } + } } -.add_button {text-align: left;} \ No newline at end of file +.add_button {text-align: left;} From 5f36ea3168693a980cedd1096e3102e835684502 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 16:50:30 +0100 Subject: [PATCH 117/487] Compact view basics --- app/App.js | 22 ++++++++++++++++++---- app/compact.scss | 17 +++++++++++++++++ app/constants/settings.js | 7 +++++++ 3 files changed, 42 insertions(+), 4 deletions(-) create mode 100644 app/compact.scss diff --git a/app/App.js b/app/App.js index 7e35dd99f8..a9178e607e 100644 --- a/app/App.js +++ b/app/App.js @@ -4,6 +4,7 @@ import Sound from 'react-sound'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { NavLink, Link, withRouter } from 'react-router-dom'; +import classnames from 'classnames'; import * as Actions from './actions'; import * as PlayerActions from './actions/player'; import * as PluginsActions from './actions/plugins'; @@ -13,8 +14,10 @@ import * as ScrobblingActions from './actions/scrobbling'; import './app.global.scss'; import styles from './styles.scss'; +import compact from './compact.scss'; import logoImg from '../resources/media/logo_full_light.png'; +import logoIcon from '../resources/media/icon.png'; import artPlaceholder from '../resources/media/art_placeholder.png'; import { config as PluginConfig } from './plugins/config'; @@ -71,6 +74,10 @@ class App extends React.Component { } render() { + let { + settings + } = this.props; + return (
@@ -80,14 +87,20 @@ class App extends React.Component {
- +
-
Version 0.4.2
+
+ { + settings.compactMenuBar + ? '0.4.2' + : 'Version 0.4.2' + } +
@@ -168,7 +181,8 @@ function mapStateToProps(state) { return { queue: state.queue, player: state.player, - scrobbling: state.scrobbling + scrobbling: state.scrobbling, + settings: state.settings }; } diff --git a/app/compact.scss b/app/compact.scss new file mode 100644 index 0000000000..697e057afb --- /dev/null +++ b/app/compact.scss @@ -0,0 +1,17 @@ +.compact_panel { + width: 3rem; + + .sidebar_brand { + padding: 1rem 0; + } + + .sidebar_menu_item_container { + overflow: hidden; + padding: 0.25rem; + } + + img { + width: 75%; + } + +} diff --git a/app/constants/settings.js b/app/constants/settings.js index 80c653310a..fac0fe019b 100644 --- a/app/constants/settings.js +++ b/app/constants/settings.js @@ -12,5 +12,12 @@ module.exports = [ type: 'boolean', prettyName: 'Frameless window (requires restart)', default: true + }, + { + name: 'compactMenuBar', + category: 'Display', + type: 'boolean', + prettyName: 'Make menu bar (left) more compact', + default: false } ]; From b14b491fb87a7b893536552eb0a5ea5f5a0f1bc4 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 17:53:10 +0100 Subject: [PATCH 118/487] Compact menu style --- app/App.js | 16 ++++++++-------- app/compact.scss | 13 +++++++++---- app/constants/settings.js | 2 +- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/app/App.js b/app/App.js index a9178e607e..676b2ccd64 100644 --- a/app/App.js +++ b/app/App.js @@ -97,40 +97,40 @@ class App extends React.Component {
{ settings.compactMenuBar - ? '0.4.2' - : 'Version 0.4.2' + ? '0.4.2' + : 'Version 0.4.2' }
- Dashboard + { !settings.compactMenuBar && 'Dashboard' } - Downloads + { !settings.compactMenuBar && 'Downloads' } - Playlists + { !settings.compactMenuBar && 'Playlists' } - Plugins + { !settings.compactMenuBar && 'Plugins' } - Settings + { !settings.compactMenuBar && 'Settings' } - Search results + { !settings.compactMenuBar && 'Search results' } diff --git a/app/compact.scss b/app/compact.scss index 697e057afb..3425bc1340 100644 --- a/app/compact.scss +++ b/app/compact.scss @@ -6,12 +6,17 @@ } .sidebar_menu_item_container { - overflow: hidden; - padding: 0.25rem; + display: flex; + justify-content: center; + padding: 0.5rem 0.25rem; } - img { - width: 75%; + .active_nav_link { + border: none; + } + + span { + margin: 0 !important; } } diff --git a/app/constants/settings.js b/app/constants/settings.js index fac0fe019b..3b987b24d0 100644 --- a/app/constants/settings.js +++ b/app/constants/settings.js @@ -17,7 +17,7 @@ module.exports = [ name: 'compactMenuBar', category: 'Display', type: 'boolean', - prettyName: 'Make menu bar (left) more compact', + prettyName: 'Use compact style for menu bar', default: false } ]; From 4c909da1fa7067cfba65e922b5ac509ac65ffc89 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 22:47:57 +0100 Subject: [PATCH 119/487] Popular tracks styles --- app/compact.scss | 3 + .../ArtistView/PopularTracks/index.js | 135 +++++++++--------- .../ArtistView/PopularTracks/styles.scss | 1 + 3 files changed, 75 insertions(+), 64 deletions(-) diff --git a/app/compact.scss b/app/compact.scss index 3425bc1340..b24d1b0838 100644 --- a/app/compact.scss +++ b/app/compact.scss @@ -1,3 +1,5 @@ +@import './vars'; + .compact_panel { width: 3rem; @@ -13,6 +15,7 @@ .active_nav_link { border: none; + background: rgba($background3, 0.6); } span { diff --git a/app/components/ArtistView/PopularTracks/index.js b/app/components/ArtistView/PopularTracks/index.js index fade35c51a..88c08189e0 100644 --- a/app/components/ArtistView/PopularTracks/index.js +++ b/app/components/ArtistView/PopularTracks/index.js @@ -30,72 +30,79 @@ class PopularTracks extends React.Component { }); } - render() { - let { - artist, - tracks, - addToQueue, - selectSong, - startPlayback, - clearQueue, - musicSources - } = this.props; - + renderPopup(key, artist, track, contents) { return ( -
-
- Popular tracks: -
- { - tracks.track.slice(0, this.state.expanded ? 15 : 5).map((track, index) => { - return ( - - -
- {track.name} -
-
- {numeral(track.playcount).format('0,0')} -
-
- } - artist={artist.name} - title={track.name} - thumb={track.image[0]['#text'] || artPlaceholder} - > - this.addToQueue(artist, track)} - className={styles.add_button} - > - Add to queue - - { - clearQueue(); - this.addToQueue(artist, track); - selectSong(0); - startPlayback(); - }} - className={styles.add_button} - > - Play now - - - ) - }) + + +
+ {track.name} +
+
+ {numeral(track.playcount).format('0,0')} plays +
+
} -
- + artist={artist.name} + title={track.name} + thumb={track.image[0]['#text'] || artPlaceholder} + > + { contents } + + ); + } + + render() { + let { + artist, + tracks, + addToQueue, + selectSong, + startPlayback, + clearQueue, + musicSources + } = this.props; + + return ( +
+
+ Popular tracks: +
+ { + tracks.track.slice(0, this.state.expanded ? 15 : 5).map((track, index) => { + let popupContents = [ + this.addToQueue(artist, track)} + className={styles.add_button} + > + Add to queue + , + { + clearQueue(); + this.addToQueue(artist, track); + selectSong(0); + startPlayback(); + }} + className={styles.add_button} + > + Play now + + ]; + return this.renderPopup(index, artist, track, popupContents); + }) + } +
+ +
-
- ); + ); - } -} + } + } -export default PopularTracks; + export default PopularTracks; diff --git a/app/components/ArtistView/PopularTracks/styles.scss b/app/components/ArtistView/PopularTracks/styles.scss index aff822cdb0..f11e54c971 100644 --- a/app/components/ArtistView/PopularTracks/styles.scss +++ b/app/components/ArtistView/PopularTracks/styles.scss @@ -44,6 +44,7 @@ flex: 1 1 auto; margin: 0.25rem 0.5rem; text-align: right; + text-transform: uppercase; } } From c266a77705d28560c8c1d548c40f656c7af86837 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 23 Feb 2018 23:12:24 +0100 Subject: [PATCH 120/487] Docs --- docs/index.md | 1 + index.html | 4 ++-- index.prod.html | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000..98b9393bb4 --- /dev/null +++ b/docs/index.md @@ -0,0 +1 @@ +## Nuclear Music Player Manual diff --git a/index.html b/index.html index ae5077639b..d984d1cc14 100644 --- a/index.html +++ b/index.html @@ -3,12 +3,12 @@ nuclear music player - + - +
diff --git a/index.prod.html b/index.prod.html index 3a6ab1ce3e..8c6b3270df 100644 --- a/index.prod.html +++ b/index.prod.html @@ -17,7 +17,7 @@ - +
From ba548c51c99a509e837edac8ac2541ae2b92b702 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Fri, 23 Feb 2018 23:19:58 +0100 Subject: [PATCH 121/487] Update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index bc5dad74a4..8779cd45d3 100644 --- a/README.md +++ b/README.md @@ -45,6 +45,9 @@ This version of Nuclear has been rewritten from scratch and released in version - Realtime lyrics - Locally stored library/favourites +## Manual and docs +http://nuclearmusic.rtfd.io/ + ## Community-maintained packages Here's a list of packages maintained by third parties. We would like to thank the maintainers for their work. From 4dc574cc8aa06046883656c9717b8d794a827112 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 24 Feb 2018 00:03:04 +0100 Subject: [PATCH 122/487] Docs. album art --- app/App.js | 4 ++-- app/components/AlbumList/index.js | 22 +++++++++++----------- app/components/AlbumView/index.js | 9 ++++++++- docs/index.md | 27 +++++++++++++++++++++++++++ package.json | 2 +- 5 files changed, 49 insertions(+), 15 deletions(-) diff --git a/app/App.js b/app/App.js index 676b2ccd64..63c59e635c 100644 --- a/app/App.js +++ b/app/App.js @@ -97,8 +97,8 @@ class App extends React.Component {
{ settings.compactMenuBar - ? '0.4.2' - : 'Version 0.4.2' + ? '0.4.3' + : 'Version 0.4.3' }
diff --git a/app/components/AlbumList/index.js b/app/components/AlbumList/index.js index db0755fe98..0ad4c2d07e 100644 --- a/app/components/AlbumList/index.js +++ b/app/components/AlbumList/index.js @@ -20,19 +20,19 @@ class AlbumList extends React.Component { { this.props.albums && this.props.albums.length > 0 ?
- { - this.props.albums.map((el, i) => { - return this.albumInfoSearch(el.id)} - />; - }) + { + this.props.albums.map((el, i) => { + return this.albumInfoSearch(el.id)} + />; + }) } -
+
: - + diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index 39e4b18fdc..3dbb647179 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -1,6 +1,7 @@ import React from 'react'; import FontAwesome from 'react-fontawesome'; import {Dimmer, Loader, Image, Segment} from 'semantic-ui-react'; +import _ from 'lodash'; import ContextPopup from '../ContextPopup'; @@ -85,6 +86,12 @@ class AlbumView extends React.Component { let { album } = this.props; + + let albumImage = _.find(album.images, {'type': 'primary'}).uri; + if(!albumImage) { + albumImage = album.images ? album.images[0].uri : artPlaceholder; + } + return (
@@ -96,7 +103,7 @@ class AlbumView extends React.Component { !album.loading &&
- +
{album.title}
diff --git a/docs/index.md b/docs/index.md index 98b9393bb4..15caff8193 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1 +1,28 @@ ## Nuclear Music Player Manual + +### About + +Nuclear is a free music streaming program that pulls content from free sources all over the internet. + +This means that you can search for your favourite artists, albums, and songs, and the player will find information about these, as well as song streams aggregating data from multiple sources. + +### Search + +The primary sources of data on music-related entities are Discogs and Last.fm, which offer rich APIs. + +Discogs powers the following: +- Artist search +- Album search + +Last.fm augments data returned by Discogs by adding extra information. When you visit an artist, or album page, Discogs provides broad information such as the name, images, list of releases, album covers, and so on, while Last.fm is simultaneously asked for more detailed information such as top tracks, Musicbrainz id, tags, short bio, and similar artists. + +### Links + +| Site | Website | +|-------------|------------------------------------------------------| +| Github | | +| ReadTheDocs | | +| Mastodon | | +| Twitter | | +| Beerpay | | +| AUR | | diff --git a/package.json b/package.json index 4a0391372a..b0e70dcd17 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nuclear", - "version": "0.4.2", + "version": "0.4.3", "description": "Streaming music player that finds music sources automatically.", "main": "main.js", "scripts": { From cd46255e5a163c1f4670b0b470742a3e5b365ce4 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 24 Feb 2018 13:25:28 +0100 Subject: [PATCH 123/487] bullet indentation --- docs/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 15caff8193..4ec1afda7f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,8 +11,9 @@ This means that you can search for your favourite artists, albums, and songs, an The primary sources of data on music-related entities are Discogs and Last.fm, which offer rich APIs. Discogs powers the following: -- Artist search -- Album search + + - Artist search + - Album search Last.fm augments data returned by Discogs by adding extra information. When you visit an artist, or album page, Discogs provides broad information such as the name, images, list of releases, album covers, and so on, while Last.fm is simultaneously asked for more detailed information such as top tracks, Musicbrainz id, tags, short bio, and similar artists. From ec9b0d340e8d1e6b5ca41e91e6bfe6dca3fc0a6b Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 26 Feb 2018 11:57:56 +0100 Subject: [PATCH 124/487] Basic compact style for queue bar --- app/App.js | 4 +-- app/components/PlayQueue/QueueMenu/index.js | 4 +-- app/components/PlayQueue/index.js | 15 +++++++--- app/components/PlayQueue/styles.scss | 33 ++++++++++++++++++++- app/constants/settings.js | 7 +++++ app/containers/PlayQueueContainer/index.js | 1 + 6 files changed, 55 insertions(+), 9 deletions(-) diff --git a/app/App.js b/app/App.js index 63c59e635c..bab9d91614 100644 --- a/app/App.js +++ b/app/App.js @@ -138,8 +138,8 @@ class App extends React.Component { - - + +
diff --git a/app/components/PlayQueue/QueueMenu/index.js b/app/components/PlayQueue/QueueMenu/index.js index 213df341bc..fa5633cbb6 100644 --- a/app/components/PlayQueue/QueueMenu/index.js +++ b/app/components/PlayQueue/QueueMenu/index.js @@ -17,7 +17,7 @@ class QueueMenu extends React.Component { fun(items, name); }; } - + render() { let { addPlaylist, @@ -39,7 +39,7 @@ class QueueMenu extends React.Component { } > - +
diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index d684324032..ffb900d40d 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -40,12 +40,19 @@ class PlayQueue extends React.Component { } render() { + let { + compact, + clearQueue, + addPlaylist, + items + } = this.props; + return ( -
+
diff --git a/app/components/PlayQueue/styles.scss b/app/components/PlayQueue/styles.scss index 2ae316fbb5..156507adaa 100644 --- a/app/components/PlayQueue/styles.scss +++ b/app/components/PlayQueue/styles.scss @@ -10,10 +10,41 @@ flex-flow: column; flex: 1 1 auto; overflow-y: auto; - + .queue_item_container { transition: all 0.4s ease-out; opacity: 0; } } + + &.compact { + .queue_menu_container { + display: none; + } + + .queue_item_container { + margin: 0.25rem; + height: 2.5rem; + } + + .thumbnail_container { + width: 100%; + height: auto; + margin: 0; + padding: 0.25rem; + } + + .item_info_container { + display: none; + } + + .item_duration_container { + display: none; + } + + img { + width: 100%; + height: auto; + } + } } diff --git a/app/constants/settings.js b/app/constants/settings.js index 3b987b24d0..531a113f10 100644 --- a/app/constants/settings.js +++ b/app/constants/settings.js @@ -19,5 +19,12 @@ module.exports = [ type: 'boolean', prettyName: 'Use compact style for menu bar', default: false + }, + { + name: 'compactQueueBar', + category: 'Display', + type: 'boolean', + prettyName: 'Use compact style for queue bar', + default: false } ]; diff --git a/app/containers/PlayQueueContainer/index.js b/app/containers/PlayQueueContainer/index.js index 2e7edb4de9..a7f5104e24 100644 --- a/app/containers/PlayQueueContainer/index.js +++ b/app/containers/PlayQueueContainer/index.js @@ -27,6 +27,7 @@ class PlayQueueContainer extends React.Component { clearQueue={this.props.actions.clearQueue} removeFromQueue={this.props.actions.removeFromQueue} addPlaylist={this.props.actions.addPlaylist} + compact={this.props.compact} /> ); } From e1088e40a873ed519f5ac1ccf142e1cf791fa68c Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 1 Mar 2018 01:03:09 +0100 Subject: [PATCH 125/487] Collapse queue panel button --- app/components/PlayQueue/QueueMenu/index.js | 31 +++++++++++++------ .../PlayQueue/QueueMenu/styles.scss | 10 ++++-- app/components/PlayQueue/index.js | 17 +++++++--- app/components/PlayQueue/styles.scss | 6 ++-- app/containers/PlayQueueContainer/index.js | 16 ++++------ 5 files changed, 50 insertions(+), 30 deletions(-) diff --git a/app/components/PlayQueue/QueueMenu/index.js b/app/components/PlayQueue/QueueMenu/index.js index fa5633cbb6..1400195f72 100644 --- a/app/components/PlayQueue/QueueMenu/index.js +++ b/app/components/PlayQueue/QueueMenu/index.js @@ -12,6 +12,13 @@ class QueueMenu extends React.Component { super(props); } + toggleOption(option) { + let state = this.props.settings[option]; + state !== undefined + ? this.props.setBooleanOption(option, !state) + : this.props.setBooleanOption(option, true); + } + handleAddPlaylist(fun, items) { return name => { fun(items, name); @@ -22,25 +29,29 @@ class QueueMenu extends React.Component { let { addPlaylist, clearQueue, - items + items, + settings } = this.props; return (
+ this.toggleOption('compactQueueBar')}> + + - Input playlist name:} - placeholder='Playlist name...' - accept='Save' - onAccept={this.handleAddPlaylist(addPlaylist, items)} - trigger={ - - } + Input playlist name:} + placeholder='Playlist name...' + accept='Save' + onAccept={this.handleAddPlaylist(addPlaylist, items)} + trigger={ + + } > - +

diff --git a/app/components/PlayQueue/QueueMenu/styles.scss b/app/components/PlayQueue/QueueMenu/styles.scss index 598d31021b..9ee83aa05b 100644 --- a/app/components/PlayQueue/QueueMenu/styles.scss +++ b/app/components/PlayQueue/QueueMenu/styles.scss @@ -9,12 +9,16 @@ .queue_menu_buttons { display: flex; flex-flow: row; - margin: 0.5rem 0 0.5rem 0; + margin-top: 0.5rem; a { + display: flex; + justify-content: center; + align-items: center; background: $background2; - padding: 0.5rem 0.75rem; - margin: 0 0.5rem; + width: 2rem; + height: 2rem; + margin: 0; &:first-child { margin-left: 0; diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index ffb900d40d..aa75f4bdce 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -27,13 +27,13 @@ class PlayQueue extends React.Component { track={el} loading={el.loading} current={this.props.currentSong === i} - selectSong={this.props.selectSong} - removeFromQueue={this.props.removeFromQueue} + selectSong={this.props.actions.selectSong} + removeFromQueue={this.props.actions.removeFromQueue} /> } track={el} musicSources={this.props.musicSources} - rerollTrack={this.props.rerollTrack} + rerollTrack={this.props.actions.rerollTrack} /> ); }); @@ -42,16 +42,23 @@ class PlayQueue extends React.Component { render() { let { compact, + items, + settings + } = this.props; + + let { clearQueue, addPlaylist, - items - } = this.props; + setBooleanOption + } = this.props.actions; return (
diff --git a/app/components/PlayQueue/styles.scss b/app/components/PlayQueue/styles.scss index 156507adaa..a657de6477 100644 --- a/app/components/PlayQueue/styles.scss +++ b/app/components/PlayQueue/styles.scss @@ -18,8 +18,10 @@ } &.compact { - .queue_menu_container { - display: none; + .queue_menu_buttons { + a:not(.compactButton) { + display: none; + } } .queue_item_container { diff --git a/app/containers/PlayQueueContainer/index.js b/app/containers/PlayQueueContainer/index.js index a7f5104e24..868b390e06 100644 --- a/app/containers/PlayQueueContainer/index.js +++ b/app/containers/PlayQueueContainer/index.js @@ -5,11 +5,10 @@ import { bindActionCreators } from 'redux'; import * as QueueActions from '../../actions/queue'; import * as PluginsActions from '../../actions/plugins'; import * as PlaylistsActions from '../../actions/playlists'; - +import * as SettingsActions from '../../actions/settings'; import PlayQueue from '../../components/PlayQueue'; - class PlayQueueContainer extends React.Component { constructor(props) { super(props); @@ -18,15 +17,11 @@ class PlayQueueContainer extends React.Component { render() { return( ); @@ -37,13 +32,14 @@ function mapStateToProps(state) { return { queue: state.queue, plugins: state.plugin.plugins, - playlists: state.playlists.playlists + playlists: state.playlists.playlists, + settings: state.settings }; } function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(Object.assign({}, PluginsActions, QueueActions, PlaylistsActions), dispatch) + actions: bindActionCreators(Object.assign({}, PluginsActions, QueueActions, PlaylistsActions, SettingsActions), dispatch) }; } From 5cc5a18775d4a1b66503ea5933faf2dfd7939796 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 1 Mar 2018 16:54:29 +0100 Subject: [PATCH 126/487] Refactored toggles --- app/App.js | 11 +++++++++ app/actions/settings.js | 7 ++++++ app/components/PlayQueue/QueueMenu/index.js | 14 +++++------- app/components/PlayQueue/index.js | 4 ++-- app/components/Settings/index.js | 8 +------ app/styles.scss | 25 +++++++++++++++++++++ 6 files changed, 51 insertions(+), 18 deletions(-) diff --git a/app/App.js b/app/App.js index bab9d91614..37c6cf8623 100644 --- a/app/App.js +++ b/app/App.js @@ -21,6 +21,7 @@ import logoIcon from '../resources/media/icon.png'; import artPlaceholder from '../resources/media/art_placeholder.png'; import { config as PluginConfig } from './plugins/config'; +import settingsConst from './constants/settings'; import Footer from './components/Footer'; import Navbar from './components/Navbar'; @@ -78,6 +79,10 @@ class App extends React.Component { settings } = this.props; + let { + toggleOption + } = this.props.actions; + return (
@@ -133,6 +138,12 @@ class App extends React.Component { { !settings.compactMenuBar && 'Search results' } + + diff --git a/app/actions/settings.js b/app/actions/settings.js index 55d507ced3..f5e574e13c 100644 --- a/app/actions/settings.js +++ b/app/actions/settings.js @@ -19,3 +19,10 @@ export function setBooleanOption(option, state) { payload: {option, state} }; } + +export function toggleOption(option, state) { + let optionState = state[option.name]; + return optionState !==undefined + ? setBooleanOption(option.name, !optionState) + : setBooleanOption(option.name, !option.default); +} diff --git a/app/components/PlayQueue/QueueMenu/index.js b/app/components/PlayQueue/QueueMenu/index.js index 1400195f72..c6221d2687 100644 --- a/app/components/PlayQueue/QueueMenu/index.js +++ b/app/components/PlayQueue/QueueMenu/index.js @@ -1,24 +1,19 @@ import React from 'react'; import FontAwesome from 'react-fontawesome'; +import _ from 'lodash'; import InputDialog from '../../InputDialog'; import Spacer from '../../Spacer'; import styles from './styles.scss'; import globalStyles from '../../../app.global.scss'; +import settingsConst from '../../../constants/settings'; class QueueMenu extends React.Component { constructor(props){ super(props); } - toggleOption(option) { - let state = this.props.settings[option]; - state !== undefined - ? this.props.setBooleanOption(option, !state) - : this.props.setBooleanOption(option, true); - } - handleAddPlaylist(fun, items) { return name => { fun(items, name); @@ -30,14 +25,15 @@ class QueueMenu extends React.Component { addPlaylist, clearQueue, items, + toggleOption, settings } = this.props; return (
- this.toggleOption('compactQueueBar')}> - + toggleOption(_.find(settingsConst, ['name', 'compactQueueBar']), settings)}> + diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index aa75f4bdce..31e2aa5cdb 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -49,7 +49,7 @@ class PlayQueue extends React.Component { let { clearQueue, addPlaylist, - setBooleanOption + toggleOption } = this.props.actions; return ( @@ -57,7 +57,7 @@ class PlayQueue extends React.Component { diff --git a/app/components/Settings/index.js b/app/components/Settings/index.js index 5caa92aa8b..64a64e19bd 100644 --- a/app/components/Settings/index.js +++ b/app/components/Settings/index.js @@ -13,12 +13,6 @@ class Settings extends React.Component { lastFmScrobblingEnabled ? disableScrobbling(): enableScrobbling(); } - toggleOption(option, state) { - state !== undefined - ? this.props.actions.setBooleanOption(option.name, !state) - : this.props.actions.setBooleanOption(option.name, !option.default); - } - isChecked(option) { return this.props.settings[option.name] !== undefined ? this.props.settings[option.name] @@ -113,7 +107,7 @@ class Settings extends React.Component { this.toggleOption(option, settings[option.name])} + onChange={() => this.props.actions.toggleOption(option, settings)} checked={this.isChecked(option)} />
diff --git a/app/styles.scss b/app/styles.scss index 37434601b2..37d10d0340 100644 --- a/app/styles.scss +++ b/app/styles.scss @@ -112,3 +112,28 @@ text-align: center; padding: 1rem; } + +.sidebar_footer { + display: flex; + flex-flow: row; + justify-content: flex-end; + margin: 0.5rem; + + a { + display: flex; + justify-content: center; + align-items: center; + background: $background2; + color: $white !important; + width: 2rem; + height: 2rem; + + &:hover { + background: lighten($background2, 10%); + } + + &:active { + background: lighten($background2, 20%); + } + } +} From e050ca5ad44d78dd84da380fab096284ce7bab95 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Fri, 2 Mar 2018 11:11:46 +0100 Subject: [PATCH 127/487] Add mockups --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 8779cd45d3..5593ef99a3 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,10 @@ We do not control these and cannot be held responsible for their contents, but i ## Screenshots This will be updated as the program evolves. +![laptop mockup 1](https://i.imgur.com/31Tc5qf.jpg) + +![laptop mockup 2](https://i.imgur.com/HqMP5HF.jpg) + ![album search](http://i.imgur.com/tLSv6pw.png) ![album display](http://i.imgur.com/hAEXUaQ.png) From 2cab6294145be95cccd0d2006f4c6b2ae5e59c7a Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 2 Mar 2018 11:55:16 +0100 Subject: [PATCH 128/487] Add smooth fade in for images --- app/components/AlbumView/index.js | 4 +- app/components/Card/index.js | 13 ++- app/components/Card/styles.scss | 2 +- app/components/Dashboard/GenresTab/index.js | 8 +- .../Dashboard/GenresTab/styles.scss | 10 +-- app/plugins/musicSources.js | 2 + app/plugins/plugin.js | 1 + package-lock.json | 88 ++++++++++++++++--- package.json | 2 + 9 files changed, 95 insertions(+), 35 deletions(-) diff --git a/app/components/AlbumView/index.js b/app/components/AlbumView/index.js index 3dbb647179..074b0f979b 100644 --- a/app/components/AlbumView/index.js +++ b/app/components/AlbumView/index.js @@ -87,9 +87,11 @@ class AlbumView extends React.Component { album } = this.props; - let albumImage = _.find(album.images, {'type': 'primary'}).uri; + let albumImage = _.find(album.images, {'type': 'primary'}); if(!albumImage) { albumImage = album.images ? album.images[0].uri : artPlaceholder; + } else { + albumImage = albumImage.uri; } return ( diff --git a/app/components/Card/index.js b/app/components/Card/index.js index 3a518caeaf..db6196c3ef 100644 --- a/app/components/Card/index.js +++ b/app/components/Card/index.js @@ -1,10 +1,12 @@ import React from 'react'; +import classnames from 'classnames'; import { Image } from 'semantic-ui-react'; +import Img from 'react-image-smooth-loading'; import artPlaceholder from '../../../resources/media/art_placeholder.png'; import styles from './styles.scss'; -var classNames = require('classnames'); +Img.globalPlaceholder = artPlaceholder; class Card extends React.Component { constructor(props) { @@ -16,7 +18,7 @@ class Card extends React.Component {
-
+

{this.props.header}

diff --git a/app/components/Card/styles.scss b/app/components/Card/styles.scss index 9f70486e43..8f2b3ac86c 100644 --- a/app/components/Card/styles.scss +++ b/app/components/Card/styles.scss @@ -37,11 +37,11 @@ flex: 1 1 auto; width: 100%; border-radius: 0.125rem 0.125rem 0 0; + overflow: hidden; div { width: 100%; height: 0; - padding-top: 100%; border-radius: 0.125rem 0.125rem 0 0; background-size: cover !important; background-position: center !important; diff --git a/app/components/Dashboard/GenresTab/index.js b/app/components/Dashboard/GenresTab/index.js index 222bb46b4b..7726d59e18 100644 --- a/app/components/Dashboard/GenresTab/index.js +++ b/app/components/Dashboard/GenresTab/index.js @@ -1,5 +1,6 @@ import React from 'react'; import {Tab} from 'semantic-ui-react'; +import Img from 'react-image-smooth-loading'; import styles from './styles.scss'; @@ -31,12 +32,7 @@ class GenresTab extends React.Component { >
-
-
+
{tag.name} diff --git a/app/components/Dashboard/GenresTab/styles.scss b/app/components/Dashboard/GenresTab/styles.scss index ecd8538c2e..908071d134 100644 --- a/app/components/Dashboard/GenresTab/styles.scss +++ b/app/components/Dashboard/GenresTab/styles.scss @@ -15,6 +15,7 @@ padding-bottom: 25%; border-radius: 0.25rem; transition: 0.25s; + overflow: hidden; &:hover { transform: scale(1.1); @@ -35,13 +36,8 @@ overflow: hidden; background-color: $black; } - - .genre_bg { - position: relative; - width: 100%; - height: 100%; - background-size: contain; - background-position: center; + + .genre_overlay img:first-child { opacity: 0.60; } diff --git a/app/plugins/musicSources.js b/app/plugins/musicSources.js index 2c61cf8b24..2d68a70974 100644 --- a/app/plugins/musicSources.js +++ b/app/plugins/musicSources.js @@ -4,7 +4,9 @@ class MusicSourcePlugin extends Plugin { constructor() { super(); this.name = 'Music Source Plugin'; + this.sourceName = 'Generic Music Source'; this.description = 'A generic music source plugin. Should never be instantiated directly'; + this.image = null; } search(terms) { diff --git a/app/plugins/plugin.js b/app/plugins/plugin.js index f7d0b3c44f..e2549de6a6 100644 --- a/app/plugins/plugin.js +++ b/app/plugins/plugin.js @@ -2,5 +2,6 @@ export default class Plugin { constructor() { this.name = 'Plugin'; this.description = 'A generic plugin class. Should never be instantiated.'; + this.image = null; } } diff --git a/package-lock.json b/package-lock.json index 5d9bcbe931..08bb3557d8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "nuclear", - "version": "0.4.2", + "version": "0.4.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1291,8 +1291,7 @@ "base64-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", - "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=", - "dev": true + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" }, "batch": { "version": "0.6.1", @@ -2590,6 +2589,11 @@ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, + "css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" + }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", @@ -2653,6 +2657,16 @@ } } }, + "css-to-react-native": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.1.2.tgz", + "integrity": "sha512-akxvxNPNm+Qb7kGswgWhD8rLENM8857NVIn1lX0Dr9BQuju8vx6ypet7KvwvqBC01FUEne5V/jvt7FJXWJPtgw==", + "requires": { + "css-color-keywords": "1.0.0", + "fbjs": "0.8.16", + "postcss-value-parser": "3.3.0" + } + }, "css-what": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", @@ -4778,8 +4792,7 @@ "has-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, "has-unicode": { "version": "2.0.1", @@ -5208,8 +5221,7 @@ "ieee754": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true + "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" }, "iferr": { "version": "0.1.5", @@ -5596,7 +5608,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { "isobject": "3.0.1" } @@ -5702,8 +5713,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "isomorphic-fetch": { "version": "2.2.1", @@ -8520,8 +8530,7 @@ "postcss-value-parser": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" }, "postcss-zindex": { "version": "2.2.0", @@ -8911,6 +8920,11 @@ } } }, + "react-image-smooth-loading": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-image-smooth-loading/-/react-image-smooth-loading-2.0.0.tgz", + "integrity": "sha512-eGmlnZmSlW1P8t/k5ls4ikwuK0EDJnUnYsW0F2rGc0KUceqqundqbpqlba/XclBH1iksQuug2lEnlXwXkpxoUg==" + }, "react-motion": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", @@ -10646,6 +10660,56 @@ } } }, + "styled-components": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.1.6.tgz", + "integrity": "sha1-nEQxRvqCxmWan2TdSTvyICSANC4=", + "requires": { + "buffer": "5.1.0", + "css-to-react-native": "2.1.2", + "fbjs": "0.8.16", + "hoist-non-react-statics": "1.2.0", + "is-plain-object": "2.0.4", + "prop-types": "15.6.0", + "stylis": "3.4.10", + "stylis-rule-sheet": "0.0.7", + "supports-color": "3.2.3" + }, + "dependencies": { + "buffer": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", + "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", + "requires": { + "base64-js": "1.2.0", + "ieee754": "1.1.8" + } + }, + "hoist-non-react-statics": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", + "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "stylis": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.4.10.tgz", + "integrity": "sha512-J7CXAfeyhjdgvdQMz2yy0gTDccq0nVmatx6IlX1je1kCqdNgk3npGOzX6qprEd2oHVv7IF5HXO08i6XFQs/JRA==" + }, + "stylis-rule-sheet": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.7.tgz", + "integrity": "sha512-qxzlUBO40tgcGMhYxk2gXAPcaZYpfCqHMoVHj92lFMyiFotcqaEl7Jb5eW1ccCanGwf1N9dVBKF9+i/gmDfzyQ==" + }, "sumchecker": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz", diff --git a/package.json b/package.json index b0e70dcd17..6876bd49de 100644 --- a/package.json +++ b/package.json @@ -46,9 +46,11 @@ "pitchfork-bnm": "^1.0.3", "react": "^16.2.0", "react-dom": "^16.2.0", + "react-image-smooth-loading": "^2.0.0", "react-router-transition": "^1.2.1", "react-sound": "^1.1.0", "semantic-ui-react": "^0.78.2", + "styled-components": "^3.1.6", "uuid": "^3.2.1", "ytdl-core": "^0.20.1" }, From d4962bc39fbd4bc7e1a6f6c33d13878caee524fe Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 2 Mar 2018 14:04:07 +0100 Subject: [PATCH 129/487] Plugins view progress --- app/components/PluginsView/index.js | 32 +++++++++++++++++++++++- app/components/PluginsView/styles.scss | 32 ++++++++++++++++++++++++ app/containers/PluginsContainer/index.js | 7 ++++-- 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index ad953fb91d..66974b4a4d 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -1,4 +1,6 @@ import React from 'react'; +import { Menu } from 'semantic-ui-react'; +import _ from 'lodash'; import Header from '../Header'; import styles from './styles.scss'; @@ -10,13 +12,41 @@ class PluginsView extends React.Component { render() { let { - + plugins } = this.props; return (
Plugins
+
+ + { + _.map(plugins, (category, key) => { + return ( + + {key} + + { + category.map(plugin => { + return ( + + {plugin.name} + + ); + }) + } + + + ); + }) + } + +
+ Plugin settings +
+
+
); } diff --git a/app/components/PluginsView/styles.scss b/app/components/PluginsView/styles.scss index 1abb70d69b..4e84d7bd6d 100644 --- a/app/components/PluginsView/styles.scss +++ b/app/components/PluginsView/styles.scss @@ -1,6 +1,38 @@ +@import '../../vars'; + .plugins_view_container { display: flex; flex-flow: column; width: 100%; height: 100%; + + .plugin_settings { + display: flex; + flex-flow: row; + margin-top: 1rem; + } + + .plugin_well { + display: flex; + flex-flow: column; + width: 100%; + margin-left: 1rem; + background: $background3; + border-radius: 0.25rem; + padding: .92857143em 1.14285714em; + } + + .ui.menu { + margin: 0; + height: 100%; + border-radius: 0.25rem; + + .item { + padding: 1rem; + } + } + + .ui.inverted.menu { + background: $background3; + } } diff --git a/app/containers/PluginsContainer/index.js b/app/containers/PluginsContainer/index.js index 06a113d0fe..beb9a19156 100644 --- a/app/containers/PluginsContainer/index.js +++ b/app/containers/PluginsContainer/index.js @@ -11,17 +11,20 @@ class PluginsContainer extends React.Component { render() { let { - + plugin } = this.props; return ( - + ); } } function mapStateToProps(state) { return { + plugin: state.plugin } } From 48342a48d9c835c4235a1a408bfe76158724a2f2 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 4 Mar 2018 00:48:26 +0100 Subject: [PATCH 130/487] Work on plugins view, smooth loading for tag view images --- app/app.global.scss | 4 ++ app/components/PluginsView/index.js | 50 ++++++++++------------ app/components/PluginsView/styles.scss | 35 +++++++-------- app/components/TagView/TagTopList/index.js | 11 ++--- 4 files changed, 45 insertions(+), 55 deletions(-) diff --git a/app/app.global.scss b/app/app.global.scss index 74a0b71359..81c1ae90e9 100644 --- a/app/app.global.scss +++ b/app/app.global.scss @@ -60,6 +60,10 @@ a.disabled { position: relative; } +.ui.inverted.segment { + background: $background3; +} + .ui.menu { .item { color: $white; diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index 66974b4a4d..e75b6c7ef2 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -1,5 +1,5 @@ import React from 'react'; -import { Menu } from 'semantic-ui-react'; +import { List, Segment } from 'semantic-ui-react'; import _ from 'lodash'; import Header from '../Header'; @@ -20,33 +20,29 @@ class PluginsView extends React.Component { Plugins
- - { - _.map(plugins, (category, key) => { - return ( - - {key} - - { - category.map(plugin => { - return ( - - {plugin.name} - - ); - }) - } - - - ); - }) - } - -
- Plugin settings -
+
+ Music sources +
+ + + { + plugins.musicSources.map(source => { + return ( + + + {source.name} + {source.description} + +
+ dupa +
+
+ ); + }) + } +
+
-
); } diff --git a/app/components/PluginsView/styles.scss b/app/components/PluginsView/styles.scss index 4e84d7bd6d..e98d3099ab 100644 --- a/app/components/PluginsView/styles.scss +++ b/app/components/PluginsView/styles.scss @@ -3,36 +3,31 @@ .plugins_view_container { display: flex; flex-flow: column; + width: 100%; height: 100%; .plugin_settings { - display: flex; - flex-flow: row; - margin-top: 1rem; - } - - .plugin_well { display: flex; flex-flow: column; - width: 100%; - margin-left: 1rem; - background: $background3; - border-radius: 0.25rem; - padding: .92857143em 1.14285714em; - } - .ui.menu { - margin: 0; - height: 100%; - border-radius: 0.25rem; + margin-top: 1rem; - .item { - padding: 1rem; + .header_container { + font-size: 24px; } } - .ui.inverted.menu { - background: $background3; + .ui.list .item { + display: flex; + flex-flow: row; + } + + .plugin_buttons { + display: flex; + flex-flow: row; + justify-content: flex-end; + align-items: center; + flex: 1 1 auto; } } diff --git a/app/components/TagView/TagTopList/index.js b/app/components/TagView/TagTopList/index.js index bb32961eb8..bc01ad28cf 100644 --- a/app/components/TagView/TagTopList/index.js +++ b/app/components/TagView/TagTopList/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import Img from 'react-image-smooth-loading'; import classnames from 'classnames'; import _ from 'lodash'; @@ -21,10 +22,7 @@ class TagTopList extends React.Component {

{header}

onClick(topList[0].name)}> -
+
@@ -40,10 +38,7 @@ class TagTopList extends React.Component { className={styles.other_item} onClick={() => onClick(item.name)} > -
+
{item.name}
From 37f1babdcfd0376676bd2ee534c7ed69c51a38e3 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 5 Mar 2018 00:20:43 +0100 Subject: [PATCH 131/487] Add buttons for changing plugin importance --- app/app.global.scss | 30 +++++++++++++++++++++++++++++ app/components/PluginsView/index.js | 4 +++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/app/app.global.scss b/app/app.global.scss index 81c1ae90e9..23307837e9 100644 --- a/app/app.global.scss +++ b/app/app.global.scss @@ -178,3 +178,33 @@ hr { flex: 0 0 auto; margin: 0.5rem; } + +.ui.inverted.list .item a:not(.ui) { + color: $white !important; + + &:hover, + &:focus, + &:active { + color: $white !important; + } +} + +.link_button { + display: flex; + justify-content: center; + align-items: center; + background: $background2; + color: $white !important; + width: 2rem; + height: 2rem; + + &:hover { + background: lighten($background2, 10%); + color: $white !important; + } + + &:active { + background: lighten($background2, 20%); + color: $white !important; + } +} diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index e75b6c7ef2..672ddff9bd 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -1,4 +1,5 @@ import React from 'react'; +import FontAwesome from 'react-fontawesome'; import { List, Segment } from 'semantic-ui-react'; import _ from 'lodash'; @@ -34,7 +35,8 @@ class PluginsView extends React.Component { {source.description}
- dupa + +
); From 26355cfc5c29c1d6219285bdfb8f19abe32847e1 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 5 Mar 2018 00:58:37 +0100 Subject: [PATCH 132/487] Soundcloud plugin stub --- app/components/PluginsView/styles.scss | 5 +++++ app/components/QueuePopup/styles.scss | 4 +++- app/plugins/MusicSources/SoundcloudPlugin.js | 20 ++++++++++++++++++++ app/plugins/MusicSources/YoutubePlugin.js | 14 +++++++------- app/plugins/MusicSources/index.js | 3 ++- 5 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 app/plugins/MusicSources/SoundcloudPlugin.js diff --git a/app/components/PluginsView/styles.scss b/app/components/PluginsView/styles.scss index e98d3099ab..4eec32dc1b 100644 --- a/app/components/PluginsView/styles.scss +++ b/app/components/PluginsView/styles.scss @@ -21,6 +21,11 @@ .ui.list .item { display: flex; flex-flow: row; + padding-bottom: 0.5rem; + + &:first-child { + padding-bottom: 0.5rem; + } } .plugin_buttons { diff --git a/app/components/QueuePopup/styles.scss b/app/components/QueuePopup/styles.scss index 1e9b7a66d0..fcaf8c672c 100644 --- a/app/components/QueuePopup/styles.scss +++ b/app/components/QueuePopup/styles.scss @@ -47,7 +47,7 @@ color: rgba($white, 0.25); font-size: 12px; } - + .stream_source { display: flex; flex-flow: column; @@ -88,10 +88,12 @@ justify-content: flex-end; align-items: flex-end; padding: 0.5rem; + pointer-events: none; a { background: rgba($black, 0.5); padding: 0.5rem 0.75rem; + pointer-events: all; } } } diff --git a/app/plugins/MusicSources/SoundcloudPlugin.js b/app/plugins/MusicSources/SoundcloudPlugin.js new file mode 100644 index 0000000000..70afcdcad0 --- /dev/null +++ b/app/plugins/MusicSources/SoundcloudPlugin.js @@ -0,0 +1,20 @@ +import MusicSourcePlugin from '../musicSources'; + +class SoundcloudPlugin extends MusicSourcePlugin { + constructor() { + super(); + this.name = 'Soundcloud Plugin'; + this.sourceName = 'Soundcloud'; + this.description = 'Allows Nuclear to find music streams on Soundcloud'; + } + + search(terms) { + + } + + getAlternateStream(terms, currentStream) { + + } +} + +export default SoundcloudPlugin; diff --git a/app/plugins/MusicSources/YoutubePlugin.js b/app/plugins/MusicSources/YoutubePlugin.js index 3710cb35a2..f11b057c3c 100644 --- a/app/plugins/MusicSources/YoutubePlugin.js +++ b/app/plugins/MusicSources/YoutubePlugin.js @@ -9,7 +9,7 @@ class YoutubePlugin extends MusicSourcePlugin { super(); this.name = 'Youtube Plugin'; this.sourceName = 'Youtube'; - this.description = 'A plugin allowing nuclear to search for music and play it from youtube'; + this.description = 'A plugin allowing Nuclear to search for music and play it from youtube'; } search(terms) { @@ -23,12 +23,12 @@ class YoutubePlugin extends MusicSourcePlugin { .then(videoInfo => { let formatInfo = _.head(videoInfo.formats.filter(e => e.itag === '140')); return { - source: 'Youtube', - id: videoInfo.video_id, - stream: formatInfo.url, - duration: videoInfo.length_seconds, - title: videoInfo.title, - thumbnail: videoInfo.thumbnail_url + source: 'Youtube', + id: videoInfo.video_id, + stream: formatInfo.url, + duration: videoInfo.length_seconds, + title: videoInfo.title, + thumbnail: videoInfo.thumbnail_url }; }); } diff --git a/app/plugins/MusicSources/index.js b/app/plugins/MusicSources/index.js index 577260f31b..7980fa81e1 100644 --- a/app/plugins/MusicSources/index.js +++ b/app/plugins/MusicSources/index.js @@ -1 +1,2 @@ -export {default as YoutubePlugin} from './YoutubePlugin'; +export { default as YoutubePlugin } from './YoutubePlugin'; +export { default as SoundcloudPlugin } from './SoundcloudPlugin'; From cb22e1e91d15278d2534a012ff944e281faec5c6 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 5 Mar 2018 01:37:53 +0100 Subject: [PATCH 133/487] Soundcloud api and tests --- app/globals.js | 3 +- app/rest/Soundcloud.js | 10 +++ app/rest/Youtube.js | 6 +- test/soundcloud.test.js | 15 ++++ test/test.js | 160 ++++++++++++++++++++-------------------- 5 files changed, 108 insertions(+), 86 deletions(-) create mode 100644 app/rest/Soundcloud.js create mode 100644 test/soundcloud.test.js diff --git a/app/globals.js b/app/globals.js index 235164a6a5..0294d30285 100644 --- a/app/globals.js +++ b/app/globals.js @@ -1,5 +1,6 @@ module.exports = { ytApiKey: "AIzaSyCIM4EzNqi1in22f4Z3Ru3iYvLaY8tc3bo", lastfmApiKey: "2b75dcb291e2b0c9a2c994aca522ac14", - lastfmApiSecret: "2ee49e35f08b837d43b2824198171fc8" + lastfmApiSecret: "2ee49e35f08b837d43b2824198171fc8", + soundcloudApiKey: "I49FIxeHiQfMWdhxi0pI7MjiV210nFx6" }; diff --git a/app/rest/Soundcloud.js b/app/rest/Soundcloud.js new file mode 100644 index 0000000000..f934ef0108 --- /dev/null +++ b/app/rest/Soundcloud.js @@ -0,0 +1,10 @@ +import globals from '../globals'; +const apiUrl = 'https://api.soundcloud.com'; + +function prepareUrl(url) { + return `${url}&client_id=${globals.soundcloudApiKey}`; +} + +export function soundcloudSearch(terms) { + return fetch(prepareUrl(apiUrl + '/tracks?limit=50&q=' + terms)); +} diff --git a/app/rest/Youtube.js b/app/rest/Youtube.js index b30d297f73..b75f415d5f 100644 --- a/app/rest/Youtube.js +++ b/app/rest/Youtube.js @@ -4,10 +4,6 @@ function prepareUrl(url) { return `${url}&key=${globals.ytApiKey}`; } -function trackSearch(track) { +export function trackSearch(track) { return fetch(prepareUrl("https://www.googleapis.com/youtube/v3/search?part=id,snippet&type=video&maxResults=50&q="+encodeURIComponent(track))); } - -module.exports = { - trackSearch -}; diff --git a/test/soundcloud.test.js b/test/soundcloud.test.js new file mode 100644 index 0000000000..e51e3442b2 --- /dev/null +++ b/test/soundcloud.test.js @@ -0,0 +1,15 @@ +import { soundcloudSearch } from '../app/rest/Soundcloud'; +import { expect } from 'chai'; + +describe('Soundcloud REST API tests', () => { + it('performs a basic search', () => { + soundcloudSearch('death grips - get got') + .then(data => data.json()) + .then(results => { + expect(results[0]).to.be.an('object').that.includes.all.keys('id', 'title', 'duration', 'stream_url'); + }) + .catch(err => { + console.error(err); + }); + }); +}); diff --git a/test/test.js b/test/test.js index ce65f4c8af..73fd2c0220 100644 --- a/test/test.js +++ b/test/test.js @@ -14,12 +14,12 @@ describe('Billboard api tests', () => { it('gets a pop songs list', () => { billboard.getTop(billboard.lists.genres[0].link) - .then(songs => { - expect(songs).to.be.an('array').that.has.lengthOf(40); - }) - .catch(err => { - console.error(err); - }); + .then(songs => { + expect(songs).to.be.an('array').that.has.lengthOf(40); + }) + .catch(err => { + console.error(err); + }); }); }); @@ -30,26 +30,26 @@ describe('Last.fm api tests', () => { it('tests getting top tags', () => { lastfm.getTopTags() - .then(response => response.json()) - .then(results => { - expect(results).to.be.an('object').that.has.nested.property('toptags.tag'); - var sample = results.toptags.tag[0]; - expect(sample).to.be.an('object').that.has.all.keys('name', 'count', 'reach'); - }); + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('toptags.tag'); + var sample = results.toptags.tag[0]; + expect(sample).to.be.an('object').that.has.all.keys('name', 'count', 'reach'); + }); }); it('tests getting tag info', () => { lastfm.getTagInfo('indie') - .then(response => response.json()) - .then(results => { - expect(results).to.be.an('object').that.has.property('tag'); - expect(results.tag).to.be.an('object').that.has.all.keys( - 'name', - 'total', - 'reach', - 'wiki' - ); - }) + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.property('tag'); + expect(results.tag).to.be.an('object').that.has.all.keys( + 'name', + 'total', + 'reach', + 'wiki' + ); + }) .catch(err => { console.error(err); }); @@ -57,75 +57,75 @@ describe('Last.fm api tests', () => { it('tests getting top tag tracks', () => { lastfm.getTagTracks('indie') - .then(response => response.json()) - .then(results => { - expect(results).to.be.an('object').that.has.nested.property('tracks.track'); - var sample = results.tracks.track[0]; - expect(sample).to.be.an('object').that.has.all.keys( - 'name', - 'artist', - 'duration', - 'streamable', - 'mbid', - 'url', - 'image', - '@attr' - ); - }) - .catch(err => { - console.error(err); - }); + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('tracks.track'); + var sample = results.tracks.track[0]; + expect(sample).to.be.an('object').that.has.all.keys( + 'name', + 'artist', + 'duration', + 'streamable', + 'mbid', + 'url', + 'image', + '@attr' + ); + }) + .catch(err => { + console.error(err); + }); }); it('tests getting top tag albums', () => { lastfm.getTagAlbums('indie') - .then(response => response.json()) - .then(results => { - expect(results).to.be.an('object').that.has.nested.property('albums.album'); - var sample = results.albums.album[0]; - expect(sample).to.be.an('object').that.has.all.keys( - 'name', - 'mbid', - 'url', - 'artist', - 'image', - '@attr' - ); - }) - .catch(err => { - console.error(err); - }); + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('albums.album'); + var sample = results.albums.album[0]; + expect(sample).to.be.an('object').that.has.all.keys( + 'name', + 'mbid', + 'url', + 'artist', + 'image', + '@attr' + ); + }) + .catch(err => { + console.error(err); + }); }); it('tests getting top tag artists', () => { lastfm.getTagArtists('indie') - .then(response => response.json()) - .then(results => { - expect(results).to.be.an('object').that.has.nested.property('topartists.artist'); - var sample = results.topartists.artist[0]; - expect(sample).to.be.an('object').that.has.all.keys( - 'name', - 'mbid', - 'url', - 'streamable', - 'image', - '@attr' - ); - }) - .catch(err => { - console.error(err); - }); + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.nested.property('topartists.artist'); + var sample = results.topartists.artist[0]; + expect(sample).to.be.an('object').that.has.all.keys( + 'name', + 'mbid', + 'url', + 'streamable', + 'image', + '@attr' + ); + }) + .catch(err => { + console.error(err); + }); }); it('tests getting similar tags', () => { lastfm.getSimilarTags('electronic') - .then(response => response.json()) - .then(results => { - console.log(results); - }) - .catch(err => { - console.error(err); - }); + .then(response => response.json()) + .then(results => { + expect(results).to.be.an('object').that.has.property('similartags'); + }) + .catch(err => { + console.error(err); + }); }); - + }); From 67ab36b56fb33c956402265aa1596d2bdfdf35cf Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 6 Mar 2018 00:57:59 +0100 Subject: [PATCH 134/487] Working Soundcloud plugin --- app/plugins/MusicSources/SoundcloudPlugin.js | 20 +++++++++++++++++++- app/plugins/MusicSources/YoutubePlugin.js | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/plugins/MusicSources/SoundcloudPlugin.js b/app/plugins/MusicSources/SoundcloudPlugin.js index 70afcdcad0..2d170a345c 100644 --- a/app/plugins/MusicSources/SoundcloudPlugin.js +++ b/app/plugins/MusicSources/SoundcloudPlugin.js @@ -1,4 +1,5 @@ import MusicSourcePlugin from '../musicSources'; +import * as Soundcloud from '../../rest/Soundcloud'; class SoundcloudPlugin extends MusicSourcePlugin { constructor() { @@ -9,7 +10,24 @@ class SoundcloudPlugin extends MusicSourcePlugin { } search(terms) { - + return Soundcloud.soundcloudSearch(terms) + .then(data => data.json()) + .then(results => { + console.log(results[0]); + let info = results[0]; + return { + source: this.sourceName, + id: info.id, + stream: info.stream_url, + duration: info.duration, + title: info.title, + thumbnail: info.user.avatar_url + }; + }) + .catch(err => { + console.error(`Error looking up streams for ${terms} on Soundcloud`); + console.error(err); + }); } getAlternateStream(terms, currentStream) { diff --git a/app/plugins/MusicSources/YoutubePlugin.js b/app/plugins/MusicSources/YoutubePlugin.js index f11b057c3c..4efd9995fa 100644 --- a/app/plugins/MusicSources/YoutubePlugin.js +++ b/app/plugins/MusicSources/YoutubePlugin.js @@ -23,7 +23,7 @@ class YoutubePlugin extends MusicSourcePlugin { .then(videoInfo => { let formatInfo = _.head(videoInfo.formats.filter(e => e.itag === '140')); return { - source: 'Youtube', + source: this.sourceName, id: videoInfo.video_id, stream: formatInfo.url, duration: videoInfo.length_seconds, From c9e2d4399a7517d9076ed9e40be18f20d8805087 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 7 Mar 2018 00:53:46 +0100 Subject: [PATCH 135/487] Further work on plugins --- app/actions/plugins.js | 8 ++++++++ app/components/PluginsView/index.js | 5 ++++- app/components/PluginsView/styles.scss | 7 +++++++ app/reducers/plugins.js | 15 ++++++++++----- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/app/actions/plugins.js b/app/actions/plugins.js index a36391716e..f20e42f775 100644 --- a/app/actions/plugins.js +++ b/app/actions/plugins.js @@ -1,4 +1,5 @@ export const CREATE_PLUGINS = 'CREATE_PLUGINS'; +export const REPLACE_PLUGINS = 'REPLACE_PLUGINS'; import config from '../plugins/config'; @@ -24,3 +25,10 @@ export function createSearchPlugins(pluginClasses) { payload: plugins }; } + +export function replacePlugins(newPlugins) { + return { + type: REPLACE_PLUGINS, + payload: newPlugins + }; +} diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index 672ddff9bd..f4748a17ee 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -27,9 +27,12 @@ class PluginsView extends React.Component { { - plugins.musicSources.map(source => { + plugins.musicSources.map((source, index) => { return ( +
+ {index + 1}. +
{source.name} {source.description} diff --git a/app/components/PluginsView/styles.scss b/app/components/PluginsView/styles.scss index 4eec32dc1b..f4a1b72d22 100644 --- a/app/components/PluginsView/styles.scss +++ b/app/components/PluginsView/styles.scss @@ -28,6 +28,13 @@ } } + .plugin_index { + display: flex; + justify-content: center; + align-items: center; + padding-right: 1rem; + } + .plugin_buttons { display: flex; flex-flow: row; diff --git a/app/reducers/plugins.js b/app/reducers/plugins.js index 56ec31c479..3a309e944c 100644 --- a/app/reducers/plugins.js +++ b/app/reducers/plugins.js @@ -1,5 +1,6 @@ import { - CREATE_PLUGINS + CREATE_PLUGINS, + REPLACE_PLUGINS } from '../actions/plugins'; const initialState = { @@ -9,10 +10,14 @@ const initialState = { export default function PluginsReducer(state=initialState, action) { switch(action.type) { case CREATE_PLUGINS: - return Object.assign({}, state, { - plugins: action.payload - }); + return Object.assign({}, state, { + plugins: action.payload + }); + case REPLACE_PLUGINS: + return Object.assign({}, { + plugins: action.payload + }); default: - return state; + return state; } } From 997f91a1db3b16c25083280f4a4398009749faa7 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Wed, 7 Mar 2018 18:48:53 +0100 Subject: [PATCH 136/487] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5593ef99a3..cffc65016c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![Maintainability](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/maintainability)](https://codeclimate.com/github/nukeop/nuclear/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/test_coverage)](https://codeclimate.com/github/nukeop/nuclear/test_coverage) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/30750586202742279fa8958a12e519ed)](https://www.codacy.com/app/nukeop/nuclear?utm_source=github.com&utm_medium=referral&utm_content=nukeop/nuclear&utm_campaign=Badge_Grade) ![Travis](https://api.travis-ci.org/nukeop/nuclear.svg?branch=master) -An Electron-based, multiplatform music player app that streams from multiple sources +Desktop music player focused on streaming from free sources [Official website](http://nuclear.gumblert.tech) From 02afa81fdc2a958a2b71e566ff2a9f94815f7e9f Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 8 Mar 2018 16:19:32 +0100 Subject: [PATCH 137/487] Store database in user data folder --- app/components/PluginsView/index.js | 18 ++++++++++++++++-- app/containers/PluginsContainer/index.js | 5 ++++- app/persistence/store.js | 5 +++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index f4748a17ee..e3f732268b 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -11,6 +11,14 @@ class PluginsView extends React.Component { super(props); } + movePlugin(index, dir) { + let newPlugins = _.cloneDeep(this.props.plugins); + let temp = newPlugins.musicSources[index+dir]; + newPlugins.musicSources[index+dir] = newPlugins.musicSources[index]; + newPlugins.musicSources[index] = temp; + this.props.actions.replacePlugins(newPlugins); + } + render() { let { plugins @@ -38,8 +46,14 @@ class PluginsView extends React.Component { {source.description}
- - + { + index > 0 && + this.movePlugin(index, -1)}> + } + { + index < plugins.musicSources.length - 1 && + this.movePlugin(index, 1)}> + }
); diff --git a/app/containers/PluginsContainer/index.js b/app/containers/PluginsContainer/index.js index beb9a19156..088e6430ca 100644 --- a/app/containers/PluginsContainer/index.js +++ b/app/containers/PluginsContainer/index.js @@ -3,6 +3,7 @@ import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import PluginsView from '../../components/PluginsView'; +import * as PluginsActions from '../../actions/plugins'; class PluginsContainer extends React.Component { constructor(props) { @@ -11,11 +12,13 @@ class PluginsContainer extends React.Component { render() { let { + actions, plugin } = this.props; return ( ); @@ -30,7 +33,7 @@ function mapStateToProps(state) { function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(Object.assign({}), dispatch) + actions: bindActionCreators(Object.assign({}, PluginsActions), dispatch) } } diff --git a/app/persistence/store.js b/app/persistence/store.js index 9a1cb9a045..5cd1c17327 100644 --- a/app/persistence/store.js +++ b/app/persistence/store.js @@ -1,7 +1,9 @@ +let { app } = require('electron').remote; +import path from 'path'; import low from 'lowdb'; import FileSync from 'lowdb/adapters/FileSync'; -const store = low(new FileSync('nuclear.json')); +const store = low(new FileSync(path.join(app.getPath('userData'), 'nuclear.json'))); initStore(); function initStore() { @@ -9,7 +11,6 @@ function initStore() { store.write(); } - module.exports = { store } From 49b827b39f69163090c54647e85b04e59d34dd47 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Wed, 14 Mar 2018 10:00:21 +0100 Subject: [PATCH 138/487] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cffc65016c..5b2fb6f308 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ npm install electron-rebuild .node_modules/.bin/electron-rebuild ``` -And run the script again. +And run the script again. The rebuild will be done automatically by the postinstall script however. #### Support on Beerpay From 925ebfc59c2e7e3bba9fc24b12429fe12039c9a9 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 16 Apr 2018 23:53:44 +0200 Subject: [PATCH 139/487] Save music source order in redux state --- app/actions/plugins.js | 8 +++--- app/components/PluginsView/index.js | 34 +++++++++++++++++++----- app/containers/PluginsContainer/index.js | 1 + app/reducers/plugins.js | 11 ++++---- 4 files changed, 38 insertions(+), 16 deletions(-) diff --git a/app/actions/plugins.js b/app/actions/plugins.js index f20e42f775..9281941154 100644 --- a/app/actions/plugins.js +++ b/app/actions/plugins.js @@ -1,5 +1,5 @@ export const CREATE_PLUGINS = 'CREATE_PLUGINS'; -export const REPLACE_PLUGINS = 'REPLACE_PLUGINS'; +export const SAVE_MUSIC_SOURCE_ORDER = 'SAVE_MUSIC_SOURCE_ORDER'; import config from '../plugins/config'; @@ -26,9 +26,9 @@ export function createSearchPlugins(pluginClasses) { }; } -export function replacePlugins(newPlugins) { +export function saveMusicSourceOrder(musicSourceOrder) { return { - type: REPLACE_PLUGINS, - payload: newPlugins + type: SAVE_MUSIC_SOURCE_ORDER, + payload: musicSourceOrder }; } diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index e3f732268b..319c8f01ed 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -11,18 +11,38 @@ class PluginsView extends React.Component { super(props); } + sortPlugins(musicSources, musicSourceOrder) { + let result = musicSources; + if (musicSourceOrder) { + result = _.sortBy(musicSources, source => { + if(_.includes(musicSourceOrder, source.name)) { + return _.indexOf(musicSourceOrder, source.name); + } else { + return 99; + } + }); + } + return result; + } + movePlugin(index, dir) { - let newPlugins = _.cloneDeep(this.props.plugins); - let temp = newPlugins.musicSources[index+dir]; - newPlugins.musicSources[index+dir] = newPlugins.musicSources[index]; - newPlugins.musicSources[index] = temp; - this.props.actions.replacePlugins(newPlugins); + let order = this.sortPlugins(this.props.plugins.musicSources, this.props.musicSourceOrder); + order = _.map(order, source => source.name); + let temp = order[index + dir]; + order[index + dir] = order[index]; + order[index] = temp; + this.props.actions.saveMusicSourceOrder(order); } render() { let { - plugins + plugins, + musicSourceOrder } = this.props; + + let musicSources = plugins.musicSources; + musicSources = this.sortPlugins(plugins.musicSources, musicSourceOrder); + return (
@@ -35,7 +55,7 @@ class PluginsView extends React.Component { { - plugins.musicSources.map((source, index) => { + musicSources.map((source, index) => { return (
diff --git a/app/containers/PluginsContainer/index.js b/app/containers/PluginsContainer/index.js index 088e6430ca..17d37f2db5 100644 --- a/app/containers/PluginsContainer/index.js +++ b/app/containers/PluginsContainer/index.js @@ -19,6 +19,7 @@ class PluginsContainer extends React.Component { return ( ); diff --git a/app/reducers/plugins.js b/app/reducers/plugins.js index 3a309e944c..785bcb9c37 100644 --- a/app/reducers/plugins.js +++ b/app/reducers/plugins.js @@ -1,10 +1,11 @@ import { CREATE_PLUGINS, - REPLACE_PLUGINS + SAVE_MUSIC_SOURCE_ORDER } from '../actions/plugins'; const initialState = { - plugins: [] + plugins: [], + musicSourceOrder: [] }; export default function PluginsReducer(state=initialState, action) { @@ -13,9 +14,9 @@ export default function PluginsReducer(state=initialState, action) { return Object.assign({}, state, { plugins: action.payload }); - case REPLACE_PLUGINS: - return Object.assign({}, { - plugins: action.payload + case SAVE_MUSIC_SOURCE_ORDER: + return Object.assign({}, state, { + musicSourceOrder: action.payload }); default: return state; From e9a6d8eab8cd82bd1295f414d9a984f2681fa041 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 18 Apr 2018 21:05:01 +0200 Subject: [PATCH 140/487] Use webpack to bundle the main electron process script --- .gitignore | 3 ++- package.json | 6 +++-- webpack.config.electron.js | 37 +++++++++++++++++++++++++++++++ webpack.config.electron.prod.js | 39 +++++++++++++++++++++++++++++++++ webpack.config.prod.js | 8 +++---- 5 files changed, 86 insertions(+), 7 deletions(-) create mode 100644 webpack.config.electron.js create mode 100644 webpack.config.electron.prod.js diff --git a/.gitignore b/.gitignore index e724beeff2..280a837968 100644 --- a/.gitignore +++ b/.gitignore @@ -59,4 +59,5 @@ typings/ release dist -nuclear.json \ No newline at end of file +nuclear.json +bundle.electron.js diff --git a/package.json b/package.json index 6876bd49de..4f6c1e2616 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "main": "main.js", "scripts": { "start": "npm-run-all --parallel watch electron", - "electron": "electron .", + "electron:dev": "webpack --progress --colors --config=webpack.config.electron.js && electron ./bundle.electron.js", + "electron:prod": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist && electron ./dist/bundle.electron.js", "watch": "webpack-dev-server --inline --progress --env=dev", "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", "test": "mocha --require babel-register", @@ -75,6 +76,7 @@ "isomorphic-fetch": "^2.2.1", "lodash": "^4.17.5", "mocha": "^5.0.0", + "node-loader": "^0.6.0", "node-sass": "^4.7.2", "nodebrainz": "^2.1.1", "npm-run-all": "^4.1.2", @@ -111,7 +113,7 @@ "dist/", "resources/", "index.prod.html", - "main.prod.js", + "dist/electron.bundle.js", "mpris.js", "package.json" ], diff --git a/webpack.config.electron.js b/webpack.config.electron.js new file mode 100644 index 0000000000..5518182607 --- /dev/null +++ b/webpack.config.electron.js @@ -0,0 +1,37 @@ +const webpack = require('webpack'); +const path = require('path'); +const HappyPack = require('happypack'); + +module.exports = { + entry: './main.js', + output: { + path: __dirname, + filename: 'bundle.electron.js' + }, + module: { + loaders: [ + { + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', + exclude: /node_modules/ + }, + { + test: /.node$/, + use: 'node-loader' + } + ] + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new HappyPack({ + id: 'jsx', + loaders: [ 'babel-loader' ] + }), + ], + node: { + fs: "empty", + __dirname: false, + __filename: false + }, + target: 'electron-main' +}; diff --git a/webpack.config.electron.prod.js b/webpack.config.electron.prod.js new file mode 100644 index 0000000000..6062ff37d1 --- /dev/null +++ b/webpack.config.electron.prod.js @@ -0,0 +1,39 @@ +const webpack = require('webpack'); +const path = require('path'); +const HappyPack = require('happypack'); +const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); + +module.exports = { + entry: './main.prod.js', + output: { + path: __dirname, + filename: './dist/bundle.electron.js' + }, + module: { + loaders: [ + { + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', + exclude: /node_modules/ + }, + { + test: /.node$/, + use: 'node-loader' + } + ] + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new HappyPack({ + id: 'jsx', + loaders: [ 'babel-loader' ] + }), + new UglifyJsPlugin() + ], + node: { + fs: "empty", + __dirname: false, + __filename: false + }, + target: 'electron-main' +}; diff --git a/webpack.config.prod.js b/webpack.config.prod.js index a36b264c24..e88a6937d9 100644 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -21,13 +21,13 @@ const config = { module: { loaders: [ { - test: /.jsx?$/, - use: 'happypack/loader?id=jsx', + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', exclude: /node_modules/ }, { - test: /.scss$/, - use: 'happypack/loader?id=scss' + test: /.scss$/, + use: 'happypack/loader?id=scss' }, { test: /\.css/, loader: 'style-loader!css-loader?modules=true&localIdentName=[name]__[local]___[hash:base64:5]' From c0640976e9c296670881859e0f2bd20b283a5a54 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 18 Apr 2018 21:11:15 +0200 Subject: [PATCH 141/487] Fix production file --- index.prod.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.prod.html b/index.prod.html index 8c6b3270df..b2e1ac553e 100644 --- a/index.prod.html +++ b/index.prod.html @@ -15,12 +15,12 @@ - +
- + From 1e9f5a628bf535ff1507a2d64472ea69abad2dbd Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 18 Apr 2018 22:03:29 +0200 Subject: [PATCH 142/487] Update build scripts, travis config, readme, icons --- .travis.yml | 3 ++- README.md | 31 ++++++++++++++++++++----------- build/512.png | Bin 0 -> 76880 bytes build/{icons => }/icon.icns | Bin build/icons/1024x1024.png | Bin 178104 -> 0 bytes build/icons/icon.png | Bin 178104 -> 0 bytes package.json | 34 ++++++++++++++-------------------- resources/media/512x512.png | Bin 0 -> 76880 bytes resources/media/icon.png | Bin 178104 -> 0 bytes 9 files changed, 36 insertions(+), 32 deletions(-) create mode 100644 build/512.png rename build/{icons => }/icon.icns (100%) delete mode 100644 build/icons/1024x1024.png delete mode 100644 build/icons/icon.png create mode 100644 resources/media/512x512.png delete mode 100644 resources/media/icon.png diff --git a/.travis.yml b/.travis.yml index f4c47c2d33..adb742ca5c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,10 +20,11 @@ before_install: - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -q; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install --install-recommends winehq-stable -y; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install libdbus-1-dev -y; fi - + script: - npm test - npm run build:dist + - npm run build:electron - | if [ "$TRAVIS_OS_NAME" == "linux" ]; then npm run build:linux diff --git a/README.md b/README.md index 5b2fb6f308..620b693fa8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# ![nuclear](https://i.imgur.com/oT1006i.png) +# ![nuclear](https://i.imgur.com/oT1006i.png) [![Maintainability](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/maintainability)](https://codeclimate.com/github/nukeop/nuclear/maintainability) [![Test Coverage](https://api.codeclimate.com/v1/badges/a15c4888a63c900f6cc1/test_coverage)](https://codeclimate.com/github/nukeop/nuclear/test_coverage) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/30750586202742279fa8958a12e519ed)](https://www.codacy.com/app/nukeop/nuclear?utm_source=github.com&utm_medium=referral&utm_content=nukeop/nuclear&utm_campaign=Badge_Grade) ![Travis](https://api.travis-ci.org/nukeop/nuclear.svg?branch=master) @@ -79,26 +79,35 @@ This will be updated as the program evolves. ## Dev build process To develop the project locally, you should only do: -``` -npm install -npm run watch +```bash +$ npm install +$ npm run watch ``` This launches webpack. It watches local files for changes and rebuilds the project as needed. The project also has hot reload built in. And in another terminal window: +```bash +$ npm run electron:dev ``` -npm run electron -``` - This launches a development version of the program. Tmux is very useful here so you can keep an eye on all running processes. -If you're getting a message about dbus being compiled with a different version of node when running the electron script, try the following: +--- +To run production version: + +```bash +$ npm run build:dist +$ npm run electron:prod ``` -npm install electron-rebuild -.node_modules/.bin/electron-rebuild +--- +To build for current operating system: +```bash +$ npm run build:dist +$ npm run build:electron +$ npm run pack ``` -And run the script again. The rebuild will be done automatically by the postinstall script however. +Instead of `pack` you can use `build:all` to build for all operating systems or `build:[system]` to build for a particular system (see package.json). +In case of errors with dbus/mpris, try removing optional dependencies from package.json and node_modules. #### Support on Beerpay diff --git a/build/512.png b/build/512.png new file mode 100644 index 0000000000000000000000000000000000000000..645b73de291ae41c8c400af754393ea37e81c74a GIT binary patch literal 76880 zcmeFYWmH_-wk}$Qy9aj&8r&TcG`NNYcc*ZdB1mw8CAcL>aDsc`gb*M|2=4Cg)Gf%` zd#`ife&@c^+PnXDXn~q@_TEPy-}t(WF(E=tMGg~<6b%3XU@FK zQ?K!B0Dw^6M@!dD!^D%?$pvI-V{bw2=IvxbZQ*5O2>^Iam!;Ww=!qnRK+T@CA`Eu9 zaAu8(Y_44pH6%$-ecjP^*Q-;A|JWdDX)aAKSq-A~OWkb*8~=j0 z#@@+>w;TUFRO0?}vSh(fARFXmh$b4g5z~?_H|Z_r@1N5>xwCS!Q!qH`ux*zUC(@3D z(NyioXPD@RNpO48t{< zw98vAbnsS;y=kpU#Brf-i$OCw;HLA_MPm3)EomeuVE(i8UBil^wF!yKY8O2y=;Pgn z{%k9#`69jCWn-;jR0PS@Z@Hf8WGo8$ZFoa+17&$=>Y9XgeJ#|cAa`&pu$-1=zr{4o z(eEJ6yDP?D(VjYZE3EM=#IcX3TYev1Z)sh~$>8hH--W#TuPcBkxECr)NCa|L)#%?W ztfDS@gqC%`samazOH1^F6~A#f(B=OJOd7lN-Ue3hiBDssnTS5X=;oObinHE=l1*Fu>j>Z0j5na_}Y%?yQ6 zSYd#K`)*VLC~ve!0)#+Lipy16j@!S0|b)<8Mg z;~E_7UsYa?iyy6cydgBomxml&nt+=ggI87B8Gh?{aol{_YIWr50C3NnQKr%hU3B{} z=)`_g z{4G2y+hi68idP#T{JVLQ+y@iaJ3mVKWHQl(&r`92C*17Yq3EKr*o%4MucWvs2eyqW z;5$h;Bn>A&{~iu^4~75gFoph1sJw_jX&uLFXPu!#nH5Dk-X{kB@eCs5_O=s4w~vCxsRC;SBOSkyqhQlI+<@HUsLIdcimsXx&7^#}R9 z_sc0=+J*mh&AAWBc5H>v{?^=#$ zS|0SJ`a^A%vZTuPl>D@y6CC9XFQa)6@J$0e6?v_oLvH?WpgQjAn|GWD9H-IA zK_UE475zc|Z;gk2NTN628t)5{xR5{7C?=C+^yCJ|Aiga8+!1S~t+wG#h#Mi#X-0pC zn&4b)O*NAWKIk=Be8&*7|B09*=~#XIZbO5&9l@eemDKC`9pQZ3|QO*OX5uTm$2&BL#qsUv6$Zj(}f`UXqV4WONtgM|p2@3u;f*^7bE z^V+0T=Y2KqYve|fBfH`zZq9vs<2;hk01Ywutg`gy)6D67>WmVV8OgK?&K}Ogzrd{p z^F^Ip@{KY&oRjY(E=>2T_Rw%~Lb=$lJQZDrm=hD|0^iZjr8W{=N*&XfiqC%Axt{Fd z)zim{Cf|Ot!{pD)a&0?N^kq7je>o3| zcf(!MK4((cZFI!W@E7-gp)^}lzEN=Js&GH_Gv

o!5r-KK%vwn~EmtV*d(~209&s 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

6Pw}NVOyjrZ4gp$acdM?a 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%0AwObc2g$`+(NA9 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

9*m+Q9M{Z;7mQ+jmS=nY|XY|l6}Y7ou^ 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 U6v}-EKz~e+n;$DY;&Ai-0a$j3WB>pF diff --git a/build/icons/icon.png b/build/icons/icon.png deleted file mode 100644 index d3193755a1944bcbf26f2c3bba3faa9736081e7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178104 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%0AwObc2g$`+(NA9 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

9*m+Q9M{Z;7mQ+jmS=nY|XY|l6}Y7ou^ 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 U6v}-EKz~e+n;$DY;&Ai-0a$j3WB>pF diff --git a/package.json b/package.json index 4f6c1e2616..809ab84acb 100644 --- a/package.json +++ b/package.json @@ -9,13 +9,14 @@ "electron:prod": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist && electron ./dist/bundle.electron.js", "watch": "webpack-dev-server --inline --progress --env=dev", "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", + "build:electron": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist", "test": "mocha --require babel-register", - "pack": "electron-builder --dir -c.extraMetadata.main=main.prod.js", - "dist": "babel-node electron-builder -c.extraMetadata.main=main.prod.js", - "build:linux": "electron-builder -c.extraMetadata.main=main.prod.js --linux", - "build:windows": "electron-builder -c.extraMetadata.main=main.prod.js --windows", - "build:macos": "electron-builder -c.extraMetadata.main=main.prod.js --macos", - "build:all": "electron-builder -c.extraMetadata.main=main.prod.js -mwl", + "pack": "electron-builder --dir -c.extraMetadata.main=dist/bundle.electron.js", + "dist": "babel-node electron-builder -c.extraMetadata.main=dist/bundle.electron.js", + "build:linux": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js --linux", + "build:windows": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js --windows", + "build:macos": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js --macos", + "build:all": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js -mwl", "postinstall": "electron-rebuild install-app-deps" }, "repository": { @@ -66,9 +67,8 @@ "classnames": "^2.2.5", "css-loader": "^0.28.9", "electron": "^1.8.2", - "electron-builder": "^20.0.4", + "electron-builder": "^20.9.0", "electron-devtools-installer": "^2.2.3", - "electron-rebuild": "^1.7.3", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "google-fonts-webpack-plugin": "^0.4.4", @@ -106,27 +106,21 @@ "appId": "nuclear", "productName": "nuclear", "directories": { - "output": "release", - "buildResources": "resources/media" + "output": "release" }, "files": [ "dist/", "resources/", "index.prod.html", "dist/electron.bundle.js", - "mpris.js", "package.json" ], - "extraFiles": [ - "resources" - ], "linux": { - "icon": "0x0.png", - "desktop": [ - "Name=Nuclear", - "Name[es]=Reproductor de música Nuclear", - "Comment[es]=Reproductor que retransmite música desde fuentes encontradas automáticamente." - ], + "desktop": { + "Name": "Nuclear", + "Name[es]": "Reproductor de música Nuclear", + "Comment[es]": "Reproductor que retransmite música desde fuentes encontradas automáticamente." + }, "target": [ "AppImage", "deb", diff --git a/resources/media/512x512.png b/resources/media/512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..645b73de291ae41c8c400af754393ea37e81c74a GIT binary patch literal 76880 zcmeFYWmH_-wk}$Qy9aj&8r&TcG`NNYcc*ZdB1mw8CAcL>aDsc`gb*M|2=4Cg)Gf%` zd#`ife&@c^+PnXDXn~q@_TEPy-}t(WF(E=tMGg~<6b%3XU@FK zQ?K!B0Dw^6M@!dD!^D%?$pvI-V{bw2=IvxbZQ*5O2>^Iam!;Ww=!qnRK+T@CA`Eu9 zaAu8(Y_44pH6%$-ecjP^*Q-;A|JWdDX)aAKSq-A~OWkb*8~=j0 z#@@+>w;TUFRO0?}vSh(fARFXmh$b4g5z~?_H|Z_r@1N5>xwCS!Q!qH`ux*zUC(@3D z(NyioXPD@RNpO48t{< zw98vAbnsS;y=kpU#Brf-i$OCw;HLA_MPm3)EomeuVE(i8UBil^wF!yKY8O2y=;Pgn z{%k9#`69jCWn-;jR0PS@Z@Hf8WGo8$ZFoa+17&$=>Y9XgeJ#|cAa`&pu$-1=zr{4o z(eEJ6yDP?D(VjYZE3EM=#IcX3TYev1Z)sh~$>8hH--W#TuPcBkxECr)NCa|L)#%?W ztfDS@gqC%`samazOH1^F6~A#f(B=OJOd7lN-Ue3hiBDssnTS5X=;oObinHE=l1*Fu>j>Z0j5na_}Y%?yQ6 zSYd#K`)*VLC~ve!0)#+Lipy16j@!S0|b)<8Mg z;~E_7UsYa?iyy6cydgBomxml&nt+=ggI87B8Gh?{aol{_YIWr50C3NnQKr%hU3B{} z=)`_g z{4G2y+hi68idP#T{JVLQ+y@iaJ3mVKWHQl(&r`92C*17Yq3EKr*o%4MucWvs2eyqW z;5$h;Bn>A&{~iu^4~75gFoph1sJw_jX&uLFXPu!#nH5Dk-X{kB@eCs5_O=s4w~vCxsRC;SBOSkyqhQlI+<@HUsLIdcimsXx&7^#}R9 z_sc0=+J*mh&AAWBc5H>v{?^=#$ zS|0SJ`a^A%vZTuPl>D@y6CC9XFQa)6@J$0e6?v_oLvH?WpgQjAn|GWD9H-IA zK_UE475zc|Z;gk2NTN628t)5{xR5{7C?=C+^yCJ|Aiga8+!1S~t+wG#h#Mi#X-0pC zn&4b)O*NAWKIk=Be8&*7|B09*=~#XIZbO5&9l@eemDKC`9pQZ3|QO*OX5uTm$2&BL#qsUv6$Zj(}f`UXqV4WONtgM|p2@3u;f*^7bE z^V+0T=Y2KqYve|fBfH`zZq9vs<2;hk01Ywutg`gy)6D67>WmVV8OgK?&K}Ogzrd{p z^F^Ip@{KY&oRjY(E=>2T_Rw%~Lb=$lJQZDrm=hD|0^iZjr8W{=N*&XfiqC%Axt{Fd z)zim{Cf|Ot!{pD)a&0?N^kq7je>o3| zcf(!MK4((cZFI!W@E7-gp)^}lzEN=Js&GH_Gv

o!5r-KK%vwn~EmtV*d(~209&s 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

6Pw}NVOyjrZ4gp$acdM?a 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%0AwObc2g$`+(NA9 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

9*m+Q9M{Z;7mQ+jmS=nY|XY|l6}Y7ou^ zVYv~vOX+y^8MwXA<^SRF%N9$K0n(pdVh$S)4f9&+t$K|HD~HZE&rKrj+=o*0{_3Z$ zi=Vs*z2d%-d;^yh=uU@fI#qc69o2=785!Uvu$fS|fvXFCXXl5c%lo&b0vFm(B@A?d z=C&6w>cbulF0xeWedrQOKhH$)F#-|E*s7NHDh;2&lhA*$P2lrhW=d#I2G@j?#%ANmsnn6oCVZl<7fT*rw$caM%!km+Ai#VQ8Pf|zs5jyw+V)g zcVDRE_m3WEnQBzrH09V;eo^LM$*2LwF0Jw;{A{JkS=JK2+IPAk)o)k2N@$Q{8UlY}yjI1O)PT9j( z9x%%yfn)1n_}kRL>XMt9r*$^)v>7!>a-&qxPa$=UtM@mQeVgX*hWY1QL*KH1O99}e z|BvZH>w}RQljDy4gz8@9-B+9YH3w=nwc{k7HI3hwCsZISBvqG|(6ZieuC=cXw9!aa z&R5mdzA~%+$=z6aW8K*^@O6~EILmVog@G6&-~#b%BCvSL&)`kBaK5KT*3KpS!N;nYfE-&7`D6(e^m=VK^|BY<=z@Td6_hFcjkPo z|J}LrCZju|qW4u69*+5u~K01f-;-OL}0wgU|DP@B96(-*u@M z^4FX*``&x)wbtHu#p)4=;_q&ulKve?{#eoQs3$16o;Wns8A<<|kGX)`4r1Q}H*}Cl zO(Zr=O19=9(bcjTdncb<>|AgQ!UlgF0#1O~*C@X;;V@btmBt(%<1l4K>_&&|2m|nL z<1Wr9D;jHw>4h!7S4r4`-Bikp>Q`+q;VpNzEHyj`TEB0iZVR(iK-?Yi;IhAm;t5#t zY66R{i;Utj&9cjs+04r`kOqK_2lT3=a}~j#zdV>1_3>Cz`pM^CRQTu{B=W_4I`JNXVCK;C3AUXzMvxgELG%4u+}Mhxw>Rs_#vI(zaG*Wc_a~I z#rQH`nx2L23pF)^DQEl@OTpr08CMcP2|_SqFP0!rR-)$94vt60!rxGO4fS1m}zdRgTG({(q^%RIBSipzjo zdQk!5gWZBSEVm(K_8t&OSu^3Sexw2({H$K^oh|U=4kenm&7GgHp#!8RGTq*A+|XrM z+(9w#ors4EikK3d^8VnUzDSD^qeYeP9tDKd&#CtnI7}g^I2_hdZ$&OFi%9~vzpy2&jX@Dt&2tRY(i!zypQw0S+l_vIO#)t|bE)jaYD5n*(f)jWt38$?)GEdkKzddsBZzQ(Lk(Jw4m zC@V@pd5`u%x-4@vAmEM%@YZ5)smSy%xpf2X4lo9@i6;O$gRjkcj&u$?hkA*@~)q%Q*-qdMMfERV7inCqsL3vIi=$#|~sj5N=zt0!V{D zZmsQ4YC1uoZdg6_5@iwjvJGr3%F|IUopKjuw~Nji?c!Ar2CGIg5f<(yrn^6i^jbp< zm@jdS=W;Hy26?!#rG=+r>sRxNAO{FaYl~#K+AVj9vTIa5WoJZ~Rm8;)^pX>di)40( ze;X9V*r=8V89I}R;%&+TZ!4BH!+>Us=u_vUyivmKZE4UqF2lrpjh0vjB!B&~$o6{( zo(qom0U*2G4SH$i(>iQ8=%qc?F&<@>e#=InhFn}or2ERkG&yu+8~++$=6dV2mq>9 z&J(OF@4>mrKUHl@E-}l_k^Q{)E7jk8y}|Y5DHr|}TUhI2WMbyQSM4sq z2TYVIUw=w=-P;GRNx#VAxe~gx>wmaBhC}42aY9ymJoYci9(vgWOPQQ8JQt$=!1rBD z()XPx{}_Nr0@Kw8Gv2=MrxJS$<|K-{KR6umrz)xeDKbs;T_2X+-*)19U?&L=4^`+}gd}v{PXIjwLU$ZhTXm@>+Zl8Qk1yU&4kd@+qdKbG#2*q!Ol5+qvzr zRQ@fv(=rYcs&O6YWTD12(6qbW4zrGDA*6(doS#EL?wR>tozd5yeue6bUl+wQ{a6(5 zC@<*K0(}>t`3Jazm>U5w+J7mwU7_HI-g7V+ z!xNVr3qsU2P6c*@hk@_!VX!94?iU}qVS$u>(79v11v&DU zf?C&F443Ej^ch@gIQvmUtxJDiHz;8~idggK5d?opkq00@rvPHYf0hWnxk(81`Z?3n z7J7OInNDHp;xFHxs^NI4fAYKPc)gb6Ln80TIIy|NTwO{ZT_jGA(=FiuJvLjQD zpA`pLr+$`Hx1U5>Jb<_BZdw37t6-SVQmg>uMtlf_0&6`T^To)(_Oj`_&e{QD) zV6oZ(nLbUQgMqIy6=Dw{O+Os-3wF- zgZC(dAm|p!+`6C`h1a;c|9gImcZrPv{MTsGsS99_ENwQ&o_##KJ-czMKAvr_C|M1j#~ z6veh`08Y@g>AH(4@lzy!8k+iSBf93T&!;j10iBV-yFOXL!>387S}bJXcTa{7V@`%O zpo14%sqt*!t|e{idW1i31T)oCK~rA_Ym#}T=RX{Ai^3hxBk43^{2p-^$HdSA4;?LS zXU_-T`pwCDH9OV;@i}IPMWIs#Q)0vM$?#|C`l6*LRJG`yZ%`&4;3QV#-0NjOnx>46 zq;hx{rfL|9fQ3Tet`7jn_ic037b=727PT0y=kfsoHTV$yIJAWuzmMi0H`+-Wd|2p? zGVqcUJ>)wKYuGyT-Pp?|*e#!!s69Tv#Q`7OGgpb99BCbls;S1-qATrJ$M_gFdN3%pmS^eViOu7uOuEob1D+c)Mk#yC%9_rpco z*Kd{`pDN0ny_XPkag4Lg+^GY3m2#J?<@GUXr7cGnac>9YbrQ~soKLdMR^@c&oAhT? zjd)IQ+`@FfWpR_Q2)F;d09&gP9j{h=l+K#jE)@nF6Bp-*cMTYS z%lB`A3PqSslCYMcPlzp!?Zl~_6Z7a)661;;r_;^n9hjGQbzAGAuqj)$!n6Y}SVw}8 zb@9F#7%~fM6;j&< zU%%WJy5FsH^3XRQNZq$a4<%<@n|O#q;4EZN@Gm|%J|HiX$m%0N99;4?`jhK7#7sx! z7}L;?`mP18bxuIKgYbr^4h6x}EdhWEmtA7{hoRYRrG~WF-3qK{O|iM5AbKh@Vy$!xCPkF zb+#xbDPoFzn5gl=9P$E&-l^~-*F@IKT*fRafi}^_*PL+d$xX02Ossl~2DhId?8F9A zgB4!GxtmK=D!xfEbqmqwk=xIccp-dOnqA%7|aU9V;{9v#{w%r5mD6pG1J z%}KcqooDj#d1?l??R-MPMy3l7nfDGt*it3@o(m3WYtlQn>}M;bQE{FS{Kbv4vHyrP z9;!3je(RO-rOh+8qb0>jDMyS{fv>i5Yn)FF`*G%l<(bvT5K4OAS&{+uu$2OAn8(Cf z2xDEAuVUA95aIH zp5%vM;QV^kRZG+XVA zI!g|3B}NjhXk7)s-z3;twYs&JYU$z=l$iH^R(n@*srN7+58K!|cVn%(nMAxjW-8bw z02J>GpMW`}VeDENF|uilMYOAu8(DQ5o+5+hHVJ#k&QGgK^wlF`W;=YDt<9IhfaDrk zIH7#DKqmJvj12$L3xHb*`-{8X*8A%-BVH{3D)~_wZGTksXNvvxct4>2%o zf`_kpg|B_wBxbR#f$vJf;HgXEo7yG=B%p9TQFzJxtsB9vHzoeZ_DO4XXVz33vg~E6 ziUyft#w6}V6zx=*u`A4E{RU@p_#|o_TuTf>2>XlAD4kSZG*Fu+LDQ%E z3HarFPF4~3l2Htm)9G)%K6L1QackiQOl$4Bcj4JYYt`r0aTrTjjo0*vU;1%=9m;Ro z+4Q?`4hb2s9j+QHy6kKdd$HOV}gqlbkKP1_)DLT_(YMf5!>mN)ogCL&BB^ z;w=-J`VPpW&uJ6leaNEex#R}{l4oOfcd*jGu421@H9oiMY4$svRJeOa-gSFhds~J$ z9f4n+@MECIl@LR%_#xSWjtrbn6ERrmDyhk&>1ylu`2uPhr9ZUFx*aJ3w za;LKTEcv+c^^XnHYer@PQGn<^f!S@+urrTwaazHPwvM;7s5 zMo|#4ac(vTNp}S~Qkgwl^Ex+~1CpSW&M)61N*ElvwXK%vTm(w#lya_^cYNr5)sWFq zLKsahw}@63Rms!vj$Wqftbo3(V-PBcX9z8&;5pr6aCoY;|5+5%U=H3ElGpWVwd}%(PVTgR zBh{|ZZ{Yi_L51VJl_OkQ0jsH_WSNOaX*B4ibb6f8m&7ftLF`8xX;W9G=nMCW0(~re^At?x*6x%U#WVMrzV0Pl(gi34SPi^pXqZ zEkJ?`uUNPr5S4}Kr(4&Kaz|C&v63d)ov=IxhcZBXrp&I3ONAft#_s7KM18CvVs>#k z>+Xtnfb#?wM*)K=j+!Ak7M@UqU3#_qJ_C2Ymkh4`XRhSd(5KIC2v--xZT9R02t4Cp zVItcb7<;U!_yjz^7^Z)!02u*XX2p1JuMm;6s)|&ZnbS(Hcit1JZ#fdcw!ckhVb3Fa zZ2x6f*Mo;84DlaBot(DzM}M2b`i1xNDtmQ*b7^3kf9bf262?K- z4-6Az#|k=^7sR?`xR|zuSTLRzmUX#}K#$;Dv2MQ$#8V-R9MIlUb`Zi}oq*5^4QR`k zJyVy{GewBZwd~lf6n=JA=~b&J{7flG10&9K56;rE@|h5@S<&<0%wSnQ8De1%MlpG1 z8iz^6<377<8U@QX`P?Gg+sd>tp+@IQA@j{r*oQ_ev1-Gp(*vf1Rh;oF7!T{>R!Cj) zo#e2uz1T0zKQ3ah@lDXJ%>HDz(J3OMu3Xw0=XU$gS;XbL= zxO#Jbglw#A;CZ#<1QaQ=eRLg*6|W!;!bcN1{;hr-R!Q^oylisTxysnhyj;xSPoEmXYkP$G@ze* zwt=kGjMo0(|2>hZ=`4zvo)kMY`CYXdvdU;Q9v`@d z(}9(~nVx@51b22ymf}AgAKb8^F9In){kK3cwD@qM`&ZX*6A0MZaBVM^t*yS+Fy7&P z{^7zcLUCo$E8r@0UUHE-CH>U7J&%^Qhw@&V;8Zlw+5O$mE!K}&VFN32|m%K`luJ>fe z#~;4=z3H{sWt2hSg^_ptEv+T&;7S}Y&u^W*Z0A!-bo`ymMzi+we!0cOPRtO<@A{5j z2C;>JZnxdSi|OgQRT;J#A)KaqY=@so?kV``+$A8pdrn3Xov%63(@fY-uu*lN*;ArK zKb$oDfLJ(QkjdzDVrD{wMD9G`%MO`C9rYGr54SAx5x%Qxl&;voyK=5I2iztOr2 z5#G6rbMW%xH&r-*NlRC(zy6nqYwwQ{ zkK8-lD`ta6;V;Z_!FXW@to28vE6aS?>sjVX*TnYsq^2NsLN|$Hk&_cM=vh21+mNwa z06;z=idmNJxsA0;|Ku$#gpU)-CH%tKHuSX~5u7GkpB~q=X{h=1autM)iZMxs1jyDptrznqdXvDya@sxJkzk@-7k2$BT@YQCw#` zr8e5vQ59vDPB-_#tI4Wg6pUrdyl#4uh5C;2tDVL>8XQD@7@IXrarwVNk8zDypjL!f zXg5%2uEu8E+>pKw>mH?Q2^}nKj8OX%XPv|xUlN#Kh3dEb0D(VZYUd#S?L2RcO%Azp zn@ou(u@_%0L5ob6hgck(x{UcY06@POM~*)=>$})CD89u0v_5L-a%5WY<=(hd4;_42 z`F_zr9}$CaO4)1*_6e-Wm23PJEZc#Y@HkGOCzjat>e#>8I34R6bp?K{q3BnDgc5x& z0kWi1U2_b5Mb%t^{vm7taWr%BCpRak3B_^PLUq7A%kXMN_7dhPg**{`4{bTdh3mqxiEZ$c()C2ijM+MPShz4>@>q~@6jO;KjJ!Hvgd1By3_5eO& z?%75E z|AE;`YUYX5p9mu)&)J0HN?JE65h+WG&rsEp7SMro<9hq8!~0rjBdgzg)d9D+0xn6 zKOke&d-AH&o{9zEkR4+u@vG9!F}L^8`RoR*jibNGQy}p9WlTRrI|kLfsXTvf*%R|) z#2tb3VFh7*2>j{@vz%xu0;ogCkZ-4(e+yHhO{ICK&CTj+hubvc_Bi&=?W=cixE{O@ zTI~+XlYT-#u9u)^W=ldQg5x*vQd^>Kn$nj4TDUb(b_MRU5J?V$i-NEA_)d7K;FA;w z$<`8a0*FbQBhN?>Gnkr*wV45sarkQF?<1xRj+aueRKxrTDr%HF=w}DrLnbq%|qO5XHCIQ^lt_g0lv` z{!^?aXF02loikqH&FADuc;-MTf0*=y_$H+^wz@+OTivdFh`wPWCCwHQiLeE+*kH(+-o`kczHl8sUu-a zQ;ouiHEzhM6JAx4SP$_nG13cR~wi)EQxy*QCJaNz(omcpk#m6R!VmN-x` z9Au9_$#|OQqLuqj{olJ!B!2Pfv;vEu3XD_AsvqeEBZ*O7_#PN4XMRE=%x5h67i)9ojMm2|o0_ zK@P+n>@MAm;iGl_xU@ zO?n=l6-XXz!`L)#S+)5DNcPmX>qpg#W;I^-uivoX^p~5+@Xt2^Un?0jdm2dz4&i$G z*td)tT#p8cyp33Xa9-jgfjiS+o$oA?6L}a!CVI}Lpi!}wV~4qPzPKc=ri9yc?2mno ze7_MFi;t>!0&LMYKIaKN5AwhNf)KgVRGTsmPo?_drtKR%1u@9iw0jtWJ;nyJ;OFB* z-<1QQ+8_p48e2<#4DK)h!#b%zCKIt;Iekm@UGBG`Pv_HSB$u}y0xZ~YN2SXJo?l$- zz3A$JjT0ZmUp*~5J@vU=lWvkEWFv+n#;X`%gZHHI2impnhwsJ2_@IVx31;6T|2IGA0UPEs@fhG@QXG;M)MhRg#>@OcfnO*uXa1|Uh3vaSN53K?s zn;i$4F{o|uwg+a*qE5s>!gJ$wp`%$hKD4d(5 zqu+E@W4Zn|sNt}NDSv7HD&zQyV~zpb{rqa}qi45;9a!{3)^kR`L%1y`*Ql&+&ea;A zPw%`mql1p69sr@%!>}ks;07-0}VG7a;QoDw|Blq)+LP zOPhqUI3mKoY$CQ+!j~~GJJi8{k>CPOo&lYurWT+0t$7@p@lDIK%z_BiLs!?qe66`* z7+itmp6J8F{EKGBQ$d9KpD^ zD*)CJ5X#?40YXWMZ1J3w8S=pH%{ft}^ai<6FMHiaL+s^7s1sNE&ogW}eX#kb%qIO) z7nRR8b7d4bS@u~OE<;lF1XooYhXOE8Bzwh)JRd^sPjZ1CteF4eTg(B9`F`;M(B5{WoD##rkFLDcv*&h!0_^&ss*tGO za$v~HmP+CSx7ra41Fmm_+~Z3Go5r>>3$GH+&UUAFBoH#cD2{zfrw%5+nXe`Tq~M<) zcjA7O*)Tlk(ef~|#HuC0Xx~0#J6(}p*FR8c&Y!a&HP1^Leur=0zv|iq_;Emp{oh0| z5B}V{^Q`A{&Z@fl;7-EUguG@5shuULmvu>EH#Yy5pp?n*SLtY_m$l&pEUU@AOY^`WNHegx6WRtmDD$FrUm7 zlQr&hzep9gHyBwKq6s8kMRgOU{~`t#$Bjw1f&Hi>6DWg|Gg5%Rdss{!zPe%TU2>@( zhX+_ZIw18my^!cF&xiYz$dB~+s6pT|H;S&}M3(JuIC-Mi)8KS->D<3?3 zI>lhEerBs}sh+5$Fjbe|S#&pq)#sL>GKJ8=A?LMI1(H9ztiDDBY z(6<`t@zlR0JeSuM_+A5NSpBg>c_&FFy7MVGBKKlX{Hr~cfd%C2G+7`FnoV^frOX4e zsw@20`YcI6OasDuEsxkcBiteih7SeSH@nXbu>4Vf0uqBnvH3PTQkg33+2pIj1)`25 zs~IFgZ_i!H;f_J*SfNm&)vbj|W$t{3uVVHqS96Z zbTX)o=u498klyZN3C&ggyt6}099_3(%%WiXGrv-^TX>L#1=ncsXzr=X7s2_Mzqm#6 ziM-Q~xHt+2^ZDcmN%g7>*sOLH>Rs5K(_gC{I|^{ZoF_W4Iv_YOYH$$`^$-!_=W4akCAjR7lxD#&xJE8^Xm{-34&2i zW??ZHl8{Py^@E_hQ~DTX{IWYoCpKG&VPYhw7|ihLz;Ta3Q@Aw<_rIgQ&2M70eY^AZ0KC#x5=-Z>5+>q}gC>PfZaCI2z;%ZiK{7Y>j;CGmJ1pmivIoBj-BjFeZLp+7yUy6z!Mv0%&b{TDnh36t?Yxit-}W>JvmrJH73iBE z=z}o*m}u-^ZZ9hqQ^$FU`N?lKP3IJ25QO3bCLF#wX9PR!3TNaIHoPOQj5(|BMvbs% z8wt`506NqjIS`{EB_90bJX{mu&JVCO!|3H-;2;4(C|q86aUobQ3KqqQoc|n%DF1%> zo}r7o!{7VsW2145n~~sA^GA&fZPCs}@=$mPl(z>k{usv>SmxHTkc#k%hoE@~kV^MX zf{sCW&qL%s=j~(lj$rFpP5?C`(R&qGSL!dE1%2~2$>o$_QCW+&mU!mOlaT6U=9F`e z3U7^7o64M9KPZ>kyIvJ%;AuPVP6}G%?T3GO=SiGM68X9d>(-a*Ed!GKMlD{@z9z$j6@>`YFlTAS&`XcCm4Bj3(vD#? z2|`Cx!z&7D^T1a^j-y$>ffH9G4yo+1q#tN6{__F|FTLpWl5G3q8a_<>{f5r2?6w?^ zpV54!`tF~(yO-y3PXB1{45U0YwlHgeI-9C^^Yuyn_Khr?+18A+v6HPmSK*M73+u(W z#CyoqV6ow&H`a%3RDSbG3XC%6}7?*591MzW#=RB@!Pw_r#Nzx?2#5PpAfw zH`&$|W|dv$j$+?$L5@d*iSue-z=B8UFgN-MTb%HhX%J_Evedl|c3bU$t2P94ifrEw zzjK!w8wO7>{>1j?A$IOPWPbeDc@4Dt{dQce7lKXb*Qv}fqKX}pG>Rb|^s9H9Vp83a zj-#06Pg4hT=Pb=*L9jZrLLOZJ<&?oZ)jLEfet&=;uGduU{k|Wb?d!yLxhY~@WPtKV zJ#0AWRSjg@rF1R(;9aq~ipTKl2rDuQX9^-wyBxB@XLEfZW%GtpqGlY-Ly^p26(DC~ z=AwN;7=vHSivNg?7zF;Wg$@zTv7a6(o7^Qa;g1FBrmtP4&zcOkT6~Hx&mE64 zynj{?{47X2($4?Y+WdL=+xw<o$RzPQgW5g6}H+{o>Tf?ZFSDC{wkg ztM=*e|NnfzOUjRAL?DF+2fFN$q$4VB(6iVk6wiR2@|x3F(6mrF>Jg{ekDa7be8V8l z@+q8kN1x}t6{dD*llHM4m%GAJrxZ)>*T+^1RiSz?0akUQ&3Z2Bi)tJvkdsjzVNknx zC6LaBuPOq8RV-a34P#G|A0M@}9}F@+%6txTI9=w3o>k%=9;`iVAxNz(U)lpFa4rJI!A@ExLiK4qeK#-HPr0KD@0|5(Y(HmW)O692 zf}M--8UR+I08p8aU1VL6^L-!+Wp@_iO8>>+r~7EMSgoX<0r8B%XMG6Tph$_<$6C7W zzQWJpuLgYZIFWxY!Yng< z!m5cZFNFx7&Ha?WV1yQWO3iy4V&yJnR+kLG%<@Hy9VjndqtOI>TI``MTYGK{e-V%+ zDAs(3H5?t((_1&^oJ{G;N)0%le{m&1ePFeEwf2P!yCHcHyRpbHT;G5jrf*-zzJoi> z@HUk%Ji!R^wz1-#hrECqHTbq+9wXGiU(l>f1zGe!9!hpT_CWvP10dXlF_B&1d)N5} zflc%`+YO_*JD!78_&NG9)0I~UrS2Xr^zp&)=*ewEyP^|@;1h%M&l?FjOWH0n8tW6V z2ItUxqI)?Zr=fgl+IVqF#&qfR1K6dtsy1VpERdxa-6HyAY5C8RAds$*$qV;<4L@MD#RxZ?~D@*#_<oq)l8C_dlw%L8-vSYhW0l{+if`s@Pk(2zf$rp)D5 zc*YC5GUQDXQ%$_F5jdp!_+(qpfRYHXNv!lblzEE#+i=V6J&|h+N(?7kc20I5zReCs z&B^9JaT9!#VCb0~-;cyJVo2|T8zpqK(Nb6;`xU0Lok&CyaQ+QJ4^g={5ehEwOE4b`cDMiAQiev~5;XAgUp^%z zBOP7)-CkI&!j6aLB$&?>6C?N8EqTMd)fcX|oE1&HutkDi*fNO9fM zd9QDuOgli%>?R8_)#Zt26d2l|Al0Vxzz&eF5d9$f=A%TeLR7!x6*0Mrcy7|i#&ASX zWe_Gx27_<|@p`c)S%cR1gaHP`%?r_s)w{PCq_HACq7IVFQcZlK zRgSXft1W(v z-9R?U7{a`e9H{QF_4$)!zKnRLM&K_D@Nr$^vqbP*K)D;Kt}3p@U%izKbB`ihT{Df} z9UahFweU(9zIxoP!a|G4!oB?Qprd{r+k25vF?xfbl;Nm4RW8LG_SQSf_A$`lq5tz< zn5Iyt1P(lB^#0ILDcbxwZnxg`GT~@t$aoqhs7(E%4hk=J#Sy$z2E{=F7W;H;=xxSV zu#KnT%Ppm+bEP(5llzNXA<-eaGh9F?8!oR~G__N=aZuuT=5%rH1>9Mk9sRRAdRi|E zi*CB$C&?Og@8OGbKFC(RsZ*mS z;Yn9OI=-th^vwfl9mE4#)9SmqO@Ww`hi}ibSshXNPw|>hufee}c;#>j2Jl)*$0U4NlNk?|G%bbw(xys2cTBLhHt@YI!N=@N%n{7;D5ElvfNE}1s(4YS`?2|igBqz$XK+1?u} zS~fYD?<#7B(oV!o@}PZWYFlzB3< zjzJNshbNMccBENwd#8&wZh3*Cn^RgtW4pO+}QTiVa@=-d%gF$~+4JY)O{J*@)fnYAal zFGwA5TH2_%EFf23L_Pct%T@NV;6PH+`OMh#>h6r;(mEcj_9_abZF^Mb4ML7deR92J zbCH1*IGs-V2bLR9org&-2+69hb0I>I_jqCyLeDCCdQGzdrCRxr`I9M#-PuZ$R5r)CzIqtF#$;5yHBCSi=4VM>ZWqpQ?SK69 zUYA5+>nOOcAxnn3#tAzJRwJfGS2x$yTl>VJ$O`>cW=`sGI*>1b{v-00yaQ;!%QDe( z6`P&cC&V%v&DPPIJ%sj=I~!9$%nycSk24SNwzelyA8^tn-;Z=BcwLoe_ST6bevvHC z#7!%?pXBLM)|KD{zTEdcs(*min~>}fks?K`kxE}?Z{d{>LXzX@k!mq{bf~Go_kwS8 zQS(wM5Jd~oi|5bbw-2*6Ra=|y){eJJ27B_;Dk^CI$tvf&-S9C0UFMnj=Bnr3eGWtS zi;m!sPTd51+`pkR`y50y=01U-0;@@hF2dO!hY2uvH@juls<)2X=hty(TTIW1e-BHC zovB@y$;#q8u}(If6HlZ0SVC@f5xH?EqDmcdh1h*S#Qsy>DQ1L6A$3J(-4egO^4Y*w zmXjL;ayU&^U%QB_R~fdfC#(hGw@kK z?$7tEv7>i{sYEH98}yYowL}=a-{0v6+zrkb{)z#7%fZhQ8>b%8h0B{Q%rPvgj~pkk z|CxFF=d~xfg~W<+Ec?U1-^q=CE#-s+LnQ?B&Z^EY7rwmdRGC)rkvXhRa=kI1W-FG( z{%cDQnEv831*K&On`Eo>%QOADa|deADMTja53Fjy4gzxSX`}6^r5^PRMjOZWb`BdG{FM75N;N>H; zEkXheJ$3=Nu+aW1PV?VW5%321e9e7s`x}gwjGALLoL_C(`TL8>nLeHlJ8dKMRSppnIn4cav7Nm4Y50|K-WrhBa@2)? znFt%t`#oo!Wd#D^TF@qauY|T)Gt?$NhdXtj+?Ne|_c~zL$WMu6s6sQky(2I`uG@Wc zUF&n}11hil%leh@%)<&@A{+8|OIp-_VUIfu3Bvn>zq0Hi>gez;DCVD^VF1v*lGFwM zXUVurObD`BI>}izxcPRJ-LaL)%_Zo(>z*G@{&t*4>`9uZeAYj8`sthHdAKt{ZtxKjDviB0Gp2NlJ9i3HX> z|AP5BSE;c|pXCwg(fU#P_^R~UM2Os_Uo|f>J)A4~v!lExB@F3qD$q@q#NVfx`#R&5Nah#(I{vnRgAF>v00)W0=o2OjgDM`Ztb&cNA` zERFwM_9OF&8h|VR`?nf%r|yg6drn-LQ_Z5cuW6jOaX|a-g>5!$_pNMqci*soPwGt& z;^!3?0SL=)R2`ayLWc$0U46hcq1MtQj@Q&)5c2BK#>Cg)Vc4u}mr^?Sl0mP%bKGPv zq}MNe>nPkNo>h~OijEz>$NqFxakr;@dgnWUnoy*sc5+oJ6#kl#Sx&q-klK{KWwV%@J_>g7ygUhL1{{V$+LRJhFYZ0okFnP*G4x27Jt_K@>q%02zH;)O7 zO4!>3xJ7a9zvvP9>dU}F-1VIr^n(JLy{Ivvw!r6T%rbIJ=zfhhILNcq7%>h<$F^%- zzC@+DYR4YL4QK%S>kyqJQrEZ8N+-8&;Z~-VQOrcM8)^g_6>b{06lVgx;VF9G@h^)~VeT2h2N!(T z0iPfmx}oyr`Z=x=edJd7`-G+)eJo9Z#nmyDfuW}-G>)^t;BWW`1!1Qq>cLdHxpD9r zoFu=Aa2e*22&zqC^gxww`OP0!OXAdhKJ+xtj2tClq?k{CgU-l`OwUqEFnhn4favBo%VR_P+iW-RJWgX!v#N>XntwK`+)ncMw?f z3Rv~$(kIF;P_i>_)?D3YY^o|U9FeoCm~SH3`*7TILlbFsMdki)WsBLI5`LfIsuZrt zC*6EVvlW{@GpTv(Z*eUN25(kC&oB7rCgnfMnN%M7**eAuz;JQ(5?ENSApe6ao<9#C zeEolSeK2*=#;B{fgN|uJ9CBPt_y8i48teQ&=m-(TUVSz(EVrMa-fE96^dJA z&1(^kdPhN`7=>P0O(0)wX3pc!)=N|z{w}}z)#w%(e))^P-1u(7DX@6GD*ZJ7M^=As zP*&0-7nKMzOR4$9!mJr@GzX-KA$VsYdp$60-*B2Le3%+J-vbm5uKbjm>AquyYkS?o z{-Xn=tkL;;J6?50sZnPRY|Wqc3FT z8SJ`+WA>848I-8_TSwQr2;9!U>Vq5K9-iX)W!o9I_=-j1~sD$Y!eQ$sDgsaFCG(4+73cSr;l&?T(NE@Jt7AuS3V3w%!90er+kx zatx-!?;nwTsZ0s0s)*Ns`}$##0uI1bi{%S}(@IiB^HQRF1S-|9ONT4Ceazx(SPjx@ zHUD|_h4=gM$dTj2&0e*cH5w+?IaedC5lhf;#ljUXsUcL^d$m!PzQ zba#ynQBYEll18K(q#IO_8qz&_^ax?V*!JFhf6w#2?+%Z{KlG2qbzkRse(Ic^K`;Yc z)>5@80EJ9#HvkX{`^Vj_kVbN)8B2mi1hjIp-*FN(*BUd20tXuc$_a{j_5xX>D)g;M z^!HPu?FmpxQ^7fr^^`M7I53Y-Cz15qMyDZI>%`TQHf%-!5&HV->)0LR<`dZaM-Po~ zxnb_daNMi)&7g#{laJDaAR!`lM&&$X^JBPXm#I~MTOq}YBfdBj*qs*|BG>XJq7ywU z22Py2ee~`etZNEAKcAF4^d2i8fiEu-0UyBbyj%|Z|0A@1{I_yp?-C-c1FCht;f=Ib zfnc9QD@h~tTxg$juc_?reo$}VQ_!QT{C;eW&mEQkX!ha<6J}*mIs8TnNke^d(!Sl= zKi&L)5;uuX+CgHrvSi07AiD%mpaB3?TU(-qSuV&a322mNUEcte3Xo;I7Lfxe3In=L z57zgEw$;h_{8J`deCCB+)e;;s64=UtF1`kw_F)4Tj{fPzr`E>PrS)7>TIg!(^Z%%= zhX0MZp)v^g^Bt5ZtSG>}E2;8_sXh5iqLVvFuR^79hci0!tyz;2w?t3K<) zD!LPH_v_HDoY)V$la*^kM9{l*cq@iZOZu*jwiX;}#R0g^f?up{G8a%lzeX~Z4~CnVU=#s&w{>M# zCZ4ilHpp51-=BhWGvWLa_`%sve%b#ps;KuiO0%{M?NdX)e(!i*= ze11_42H)J0or+4Syda8^E>&<#8`mo03wo0>JSPbnvjwk0mKz|OcF4}M3)9%QTBB?QsbW!1v@fX4V?_K;D$_z(>-`MQCAQM?vYcN9o0 zui>|dfCNhpc5ZDG5a}Qk&e4RgtddLwNSXTKRe2s&9Nq;dRjOcKYWc)KKsP72He-n0Gwj#h3|JOY?hU8IbMPOOF+wMwg%9RuGsr52#l{=(V^5?pka3R zo^lil{1tg-Ago(lM+-`)A$%W&rojRRWHvTlhB#HA!GFt+r&i@9{~aKv9^Iq4cS>Lq zQ{sMUO855OM?*rxoGY+3lj7N@{T4=$_{#}B);CZ=QM_$=#YD#ArWcq`7Q1;`XE+~n zd~)FO_@A7TdQpWmoifNHgQdyB{-y4R`s~eFshxr4;U_18Ni(Yf&%^5hHs+1}S%3M* zPtORt;r)3umJic@5Z7rJ3`i(OLBe5zu>k5_8za_OBrE&bshnk!b7_I2O}s8k)Fl~q*WKI z8%e1LI%gC0=mjS%nG-nJ|MN<9zn})(qj1F5jqkg*S`Uy}4(-KMWkHr&ea&gRy~0Z~ z9#`DP4Zf~w!%J7c-&eb}wO1Q+=+@fJ|J)vqdQH(F2AUPi&HlpBT=2U!XQqWyV1VCr zWg1zjJf>gv=*f-p??Ll0u+DGv8$FWNl^*rOTl@d$^aprU{C?%YRUNDtBuZp952_i`k97X`DUyu` z`za!{mB`*7M3w02n}|^ZBl26>-H^CYpqqicy%Fj})mc~ncgJ6?R>82BdjEN3l~)L{ zV5Y@`aS-mMJF_zQ6=?KOV6?{ogXEPB}(&1TZS~e3PQrLPNGHi8zBXaQvNS@nHMFw=S93Z*| zmy0DFaCiXV!QHH@oO5iNbemsn`{UM^>d?H?$OEmtfGiv;M>VYB^5accv&`~8$6eF; z`QO1KKJP4yPf1sBt_}q#kNd39YjsH6Rod=deTYwh@mpr!?|~u#r7=?9!nUxV4w51M zeiU(Gpe^jsG&GiH1ejWHx^(>~20Pbqc%1Op_oTfdKXH)9_#llhEK%Th|7+COHlb%H zFQ4JQu&7lr_x^c);4yWHoU!o zMePJ3Gz7s~FIMRVKW7nJ+c?4|zLR#)|{yb5$L7%NzwknNm1yp z@+)L#@5k#9y6Zm$WS|QP!qC4V)+%-M^Z!>1u#syv8k9B&iP}~2Yht3iDU~*#K^LA9 zF95H|4O$tv@c+%Kq4#w_ou1g%^XsTXRE!dCuEoYh+cYn?LaOA9#gY81+EqydV?92{ ziM&eJ*}!FuR%b6US>kKU5DKwE>K{T4$zQ)Lt z@E@p=;?od?J_Jrbd7QLvZS{NHjRq=b=pSzTGZ#z(q@v&8_+UX+)&TObEMfX=RcDG1 zvIR1$ycX)JaO3N;6`a#kG@ruJd%9(4x`gfI_J^HaY9Q@zjx?g~G2rP^ovSwee+_|{ z$oG$KuAi|m&m#$DS!akKBDYG;e}=Xmc6c-?M>|j|$zdK_X|?+Ns|k5D!^-$7Of2q) z=3^?l)f?YVnmV907bz156#<@?0%Z-Tlqa^nqMLsdh+(LC#R{+}wPq}}RzS@MteM_~ z0wn{?_<8dUI5rAsl_@~_fI zdUU?6X5s1EQ&T(DnAnVu16;qHtIk)8oe>6=@W8^6`oA zUwnfMnrs9(W6c>slT~PB!kW|`qkpP$+jN(XeDmKhCVk9JFA~1ez{D#-kb5eI zN?769e1L-NEoTb(KHYTNw{M7nn{K;br1x{TeB~hCcd_oNcu3(zu1O*exSHP>Okt|u z>^B0ENh@&ECQ9qO^7a6TLI1c3e0YAoQI6otBs|(77T+YP$--%gg0!a~Tv0!~Q~z*L zAMHFR#7;Uq2CnD-stGXGP~$->52=3K#kOe&M97y&6? zteFU_3>T1E72UO_V{)2G3#pdXm1n}cyLS~vTQ+g7`F`; zY=XtDDaxofa_z7YDNCM11ZleIL-7!~A4?V0_X=BAG6;#PXz6Ct^=99)36O~D1L6BQ zF2Ep+y>y6?hk41{YupI+0V0@&aIM7h5C$t>Gh3GCuLMM#dW zls!S9CDq9+=Z3^iX2Lj-F5#f(z!lM~DMK{~M#unPE(i$h(5C}@Sr?};xkY#aU=Moz z0PxU`5dnD1ek0#-4(j3(b`OxRPT!a()T})356=1@4!xx!8+)-1_r@L!K&)lLo7(e= z&$}LSchjFD7qI2uFaOi8qW;rM0>8$#UoQ7bq!4I8qv^5ro(7xD;d6!IMfH>_kIVf@ z#8QAWKD2q9fJ5tcO(EGzv$+m2=+zw}e_8^gKBzLe{?xpRnC|oN_OY>H{qSB)9|I1n z7u(-Y_G}%%DK_o^+G-PydA`|-c%V^wgrEUf4|VW?%Xqh(E3Sh2;J@e9URrd zVf}B~Q7#?96l4;8C!UWFfZzZ}9~IU5_@#r5ypS3mksIBIXQ?@AxOjjDb2U*1R6Kwq zLD$P(W;q+T_(0w=4{t1yY{lrZ*s1|?F(WgG>l6)3h~NY3t>MRJ?rx3Fxxy>j@e&36Dk8Q=RFU zQsyCdFPom?Ec)jH;u^Ve2#O4|P${uI&In@|SVaNmu)6?dQGvQ=+C+-uZPNz~q>Xl| zW;`$*g$!SpTX%mrUu;;vlw!vfX9$emg4(mUoP2L3ZBg#Y5K;~nG=c}KwTJ^eW`J%*dz5n$?efyR`1*{ z%&r{U%ePL1v&?l)?k!)HBs@H;HXXWBwtf)UiIurX<0`d3^AhFFjakUgP#O0Zmc=Ny z;e{Uzi$K2(;!Cp`RhWwODnH@pVBrUzS3v75!O!ua>x$=3Ej+u%f(1ZuZ2+ZAgMc}< z(CGyVS$5S{c`p0(GK(5=8q&f9%E<`(Lb&40yqQckyY%=P6%lgbKd#iE3*#Y~eaN!S z_pKdX`$gt-?y*9tLK<>iEHw8s^2Pr;F4FfYEAjV#)PuGM$-}J#@f=Y5URfo5_iev0 zIF2U7W{WQT-TF3m<5bbPtzURcm=dT)bT??ZI$lu#cMA{b`}6qi&o`!o^t4gjjfCox zSG3Q@hpKE>F-@ev86b&Qn8Q0fw-msF8?a9;1#r+5u<$Gqw901Ue=W*={1uGLGa!Wk z6&mTRc+ug~S-sFRA~Dl^cE!Ym`{PnZd{}IXj6ff*TelSLR!Tf1hQJq`-+Z-tUjNPt zarJ$#sNk@AN+x&OXl3zk_u1ZKUi?-MqBb#Qb?xZ^>Y9Ll$q+9qo_B`tg&#EF4VL(a zw@Y(ACI=ev-#{aN3Iy8P#`c0ZY{aiRzd_aV6W=mLslEf8H#akn$u#b98cn=GB-i6E ztwK7`JHtVtY!1i<93BnxT>;apwGH<*n0yqF8K@eh{K-q!~(M0JtVW_;Jlt@dfFW>3^&Ll6CgXWldh@ci9uMKXs$ zR!}LoZ~T_j?IIPS7(Dwt%MZ^Z8u6somsVYo%fJ#w8a$I*Qr`aRH8G6C>-;4kn@T+4 z6ASL=644f_iM<#M%}`f7Ff1vDlLC8j0eelX&oWZ|a5pXy0f7`;n!4+> z`hF8x5|27Hp+3Sfc=I~50cU9tmUdgXN!_#(7(#72dR5u}@#6}bM64Nm@hNkizT!?(Kd$g$RfMQ7s#Fd zmmyw-*OUob%m|B;KC$S0nzm%!mvO@j?=L63P5W2`{hwI=g7WCcSiMd-vqmK6X|F<- zkC6L4<>$Bc7jFG)HXAt{I3^;4;wM&RYgdMg3)U!oPls`rKm`osY{V%=*dR&<-GHl` z^$wuElUF(bDER)+o0gHIQsYZ~fveiJ0y%Eu=~V|gcB)Z3{xkbke}MYYQqns~ve(w{ z!O^%a0g<>H`s#@JCZ(y_E!070N=Ef;KI6(&xFrnG(IH$>-Xg$x+y z*yDOz_W|Q!V9*@5j?ee!l=y&Xwr72v0eFf-i*G~4|I{wz0JgX&91=2<-mzb6)ek)G zw*g1A@E~%`J#8BaQU<~d^*kX*9=mN`^17iwOArw8cZJ~dPMtRhkgk1<5?3@kXRvgz zzCGeGU?_^vC2)O7g`@8CXzbG%lRAR~#3Y~sQ&BJ&yKpr7j zapnJ7dF7)r4pr?0kGDEPBIw(EK-VzV{uc;{TG-+U2ymlH93iPrybRf;&0$9R!BCm(>aBuyY_$5a5NWSw)S*Atl0~ z@Vo(l2!uQX0r4ms2K#)0W>;s=aHSC-;riR5GfpH64&oF`%OcAs|L#@a;wpLK{W=fy*}gN;2?xEtY_3HY@YZXT z)OBvB^C+{PH8tRo+85EkFhJBXD^m-<6ccx$Qws;&xUaYYXWF&xyG_yF^>xAm4uBRA zC8LQfVD-U- z=ODnc%DhYc7gqg6)nvURp2cbF)(A;s2$g69)1A+&WRe-6tqV4z52bS1hInJfrEsxv zV<0(X)?GKfgGHDv%4X!j2|n&>k1YUYOBmg$4W#V=ttSu~1SCtnWVsQh>~BJW>+~X> zQ%AzLXC=?O8T<}nr+%7ANwMW$(}u4f5Tac60T0~!u8KtIJK4%3T3JAne$((@kP>zW z?A2dQXMj{C9*zce`Hhft1;hXDDI(2hEFfnYWee5Fy)dYUsnOYV#@$dio$WY@+8jn@ zRD6eLCsV89oKkd0d|;bhYdscw4d0EjOGt-L(P|;7%L=*{{SFclr%XtLesC%N2PnY< zwSilJL3d>baZk;Pd;)2C5Ao@m9J9 z0^c5hzXlNNXcbkLXVTVfXUekTOj^1 z`dv9PQW=o}v7X1`V9OywO;s-Dy|(X+JzvUYjWv~*ccLIwharc{joxo~g}d1Ec!;6T z>jbMm7;M%F((q_-4NDjOGKYMk=X}TELj+YksAL0+J|+C&g>U2PrARNba`QTp@g#=k zKJ6~nb4EQlfJ~#kTlST-La-*MTlTlTzw7HrAzp{86=q#)y#vkV++#k#kJF%f$k%-t zQs#wUbG%iZ1sY-I51U_SCOd4>J>KkCUMCA(zCtTZI!f9~>%n+1Fo{i1ra7XfYn} zA>y);jjNrDd|8d(-aZU0i5%|s-Re2*Eap_!^y5c0S>@JPW!Ef4O7Ghe7SnlUS<{6I zATUP!0r0Jk;`%k~O_GwQRFibrXXr@$<$HJa*^0rl7^j~c*B{p*MGZNf2G&c8dxx-| z)i&Tg@+qSYMZ}An*6{*1jlsT4X!J}_M`hLSN@k18>PbG;7o@c`rs}}S267pLUa&np z>PGqOohg}1G7Q#=_+s{6b_H@E)EtzW%QoQG(u`9617kJZcf(`li6l%#W=74Wc#}te z{R+{qFv1(x=86^FM~N)M6OMStxrVV125S}~Ukd8IY-g_x zR9dTQ(sfeXSt1n-&dQ` zcxDT2q@XAgBFJ9}G%xR|R8Zt$7z^9m(Z&urrlZk;vDkhmOW-#$lTkLui>QC*@mIgp z^~bl}`@TWS95BY`Nq}a&#)9Z5)KW!Xoj5REo3O|TxsXh3XK(lQDZ}@d)(p6Wm({w` zY_>dJlwbEk=pC4&|Ll1jZ%K6`Wjl?Bt3%rl`lpxOS(?@M5LAlGe+Ul47BQg*7)+VZ z^y=T$+aRje;ZT2FT*s&nGRrB{KxzNrvM1NJ0|Tbp1dg22!zL9-N`%ryr+ZeHM8YG+ zWX(N43VSc6akn*lJHm!!f~Rvd+LbTJMqjO`^);8O~ig~TLWj-L5G!D9Hd#^RG4z6#sGLaXhG+_@WAJ{cMQFzG*lY1uI+`C80DSM{3kEk z-Q`Oxi5*Wc`OdSYJS1b62h&tVawDc8Ay+CN)=p;(ut$i?mV-;qD_s2&tiJ&vX9<}d z=$gTVHYl#F+y+tJysV3p6kbBMgV)nB@B_J9l6bOXHI@)uBy&@dFJ-hvJn>s1fLC8X6DaJh zF4V`7A4OkD;zKTeB`3VoSneK(I13s(WvcM?v_Ae2H&c+9##(tN)IWQw`cR3==$^;u z&h@|ZQ1~9?_B1+u%@2>JVsU8j`w`inz~-hF@|subq!DzQJ2VGm zmEyNJqsJiiTo$5m-DZ5pi3g=0tk5XdE5&rHF>#*Fm=SR^4wPyCIdKVlMo-pSo*HrK5 z+OiK(_N;H}$!ZsVNwd-Ne0p#FU1~e&SRMt~Ezq(GDc_Bce@he)-PJ^5w z=LQu zIIJ}RhAVvZJ^H-QH55cp0CGj-ar!5)^;=V}8uH623$T)T%H9Xo43j?5uh5#+DN?i- zWB>9AC2gC^==4n$mli|2j8$C09DLm5>IUkdmfs&G+L*4m@UEV1y|)p{F(_Q`eVaGO z)z&0B<;u1dV*@gp1pU|s+vz;P3>JRo(BCrVrFPtingw<2423UpbL>(I3-c4hILr8 z{p);||<`no*8; zlcbIRG!UG<+Q0XMgD^Ci6r^+Aw9tQnt|kED=-q%4^13O8T8%NC5qP}BIOM&&>Su-? zrp9sE6@1#cpZEC}X*cl)czc?##OQ^{mAoIb=^)9SDWB)f5%=DsDSm}iI^=fbV8#6q zmm&XhJ>|q=Ekf>9<0a=mJImMR;#KAm@1@K9e?1j4kG{j9j5tG^%Bd!842XV` zPqP7?UJ~N25Vyk6BK@w4J*TJNKL;s7et3FO4aYvv^pfVCb?16S&)43STVs|(O}O(* z@xFXM=8%58D>Vz^Yyv8Y#PrSHdn&jL`Euog&M|Y~TJpOGL8Y@d(T8@X{9J;qFToWE z{lP6~G-D7iO+Vv#8w0Sg>`b5=xHX#Ms=h-yp?vbBS z?YWO+0|Xu5{x8qe>Jr^LEq*5KKF8h_$++z{#13m0f$8=9+Zv`>@7o-THiu8^x)P?T^K{ZIxpE{MLkSu9w0%#vb zO)!+o#aYL7wR$(=;ELc^85NlrdQSd692eHiD@++DyT#T|!3Zcve})}iccMZ&7$>Py z=dgZM2K}OqI<226=3yvW%azGM4i zu9&$eG2?GOH!muYLp^vlefC;Tzd?S5O+xW&h${ghfBU)iweoH(r;L50zfF1A?x@Btpm3wNYKLMEjfAM4-J z;2Ih02Y94895vNLThB{9<#{jmsuk+w)fwJuh<*Aq+2^{|clxuKoYGK$u$T~n^XtZ4 zqbNOqk5A8+rAwA<7pMXaeTR5KK|5J{CZ&0i_yop&RL3NfROt*|ZM8ce^4Yu8e#X9Q zVLdd(y*FX^?{j%maSjP(PP%pW=?GODJk|xaF7!vr|B_Oa4lb>Dp<49|p_}u6wE&Qi z5ZVY*Dpu0$)AIG$%HqvK`~|6~BHxYcrgB@}4@Cvc2dw^CpeC=I2c2Z-MAH6sUNsV{ zDuCmCeJU6C2^pZ|b`K{>Q#hp6&0Q_?3_5dQJk-Ab{Ckj5o~>!)DtD}EBe|Nz->Noo z?*)c@;2Y5T$bBmD=zy6W(9Cu}v}53BG)R8kK>7JO89(EfPu=Vg`PI$0MIv>ZE-WbK{0wU~hSGc%05v{aqAV<*rspkwipzgf6kVTuP-?gh8^ z6Z{_xZ@*}+Q_H`w9zspM+asI#0j*E6md&%EfL0s~v3uT1Q=Xgn$to8qs2gs6H_|y9 zkEw*z7fGgiawRw8SNG7#GL|{FA&kly#=3V|a8S*?p&{{3X{S6!_D2)qaVIu#70eJd zKHIWnR8;vdNqI0qfeLuwwB@aBrs(DnhFsJnnzN>OILO7=U;fDh_;_O@Z!- zA;KJW8)EzV=dVedo7Si{T2zwkW|3SKv5!OpE!^zeaHhbtZX1meW zN$mSov@>MsV}giIs6V{4)0GOsw-~_kPlU}7cGmmiz|&C-bUm2`3gx#J$6m>AU$mCb z?}ikG9aOq#L@?(K6)aEKDSWoglk55VXomgku*8Ft)#>*ls$XbilCqtaSzRzu4eb90 zno(!6QNxu7NUn%QS!y<&zgS;-QaBFAz#rN7wR#Do04ZLxEo(*KY$gWAo%a3dIdfp3*FL zegbot*h{>lDmE}z-2`fa0=C0;vZpWSchKruzbZT&jpx2SR9BI?8k=0j7CTprcY7N* zJV=amRXZSm0ZYb=?+gS#v}De(1U7!P|f(> z-<@SSgd1O*$0%z+2>Xx~t=8mGaYJztR9$kj>n(LdaJV)jqwRv+CeDb*rHy@!MjEd< zcY3sGAAb`0@UWgT36t!w*=1$%!7m<~94nqEooxtAM)G>>JQ_BNnKq)w!kIxR^Qo_i zZ}0T*|8izs!{|K30aMcizgmW)?mM4&qEAV9D_lNjuh)@Zhx9N4c>mr~vd{TxcsM9>+^lP_X~Ph zJ#fv|?ykAAb1xEnOxv`|M>Vo?aON_E!4FV^E@LHT_Z)tu+#-sf)8F|%64$5Z&)d|c zA>dVVkH^>e@hy-ADLx&+t19Y9et&bz`^u!@JCpqh>|*i?m+874Xf=>9bw49z6vG~H zkhr?NOZ#wr9D;#l`t@wzzFkXsUkJ)zrnW4m4r02<3bU|URgh28JRYYj@NDcS)^}dJzFD{WsZe-F@=$6rB;R?s*SsD@{6os!+O>5d4CSL>4KH?Z zQPSnzhvyKRq=`QL5k_6yqg-3}VLdw}c70*n1>IDfI9|9~A|#WkQu4j(DGa8enB3$FRL(7!Dkda9||@0EL#Xbf3S{s59#J6Sld1 z1bQ}SKR|xER+Hd&(e;SXs5KbzsiZWpDd_rfEX3|;fa-WRb6JQn1(*MV2(9&<*RQgA zTd|ROgecj(!83T<&vU@PJ2HdPQG|#RR>C%)%e){Kkeue)*7kTse0#%{L223jE|L4& zT_hsFVb)P;0paBL^ql|UteW-wx%kd4M6DQps3}2r0D`c_p_rj*m-hpRsy!?%=?`l{ zdBL(|fZz9mh{}6|LXs%F%d^U+9tB!Y^kdrL$fkb30KtT|LS~=IkyNtIgY&N4ki*xY zi)ie!W%UO00%Q!lm~q;zx-~Hy=2Z?7vun4Q*4j!O(z)z}mAi=HL0!gYI!-b!b#2o$ z9$q2_fCQ6NfdLCK(vOa96hMv!9bDUzh|F52j}$jDx;1+zDOzc4+HOJ-CM-G zoaJ&FTd#mjs^9KOH$JHvRBYOeU1ItqnN?gv5->^c$rOuJ=^B{GCs;KRIXSI@TiuNs zi&f@Y5AF`gPRKr;@Wyr$kq)uo{nmIN8K!0u_orD^zl{aBu;yj(EXbjKo||F+%8V#o zzscoRXSi6?Y&~906OS*jk7cZ@R7hBC@!&@XC#-d;zW-Idi;RMO$aQm1V{a;@V_16f z4dYl&GV`m1?M-}mT7g^p3m$RFtWpz?n)-)*q2>-UYRRHB-lchlmiNX^iE?s_UgBt0 zcK&o7;a{IGumH1>N?sEUlu=)k^EnUjJZ9>=1n^LJzbr~A^m<(KoND9p^VqQ$@q=qHg~W6vlZ3rCBYXJQso&p7MB zA7`>dvW@}kM7{#tU&(sJ$>tj#6GXA|EB9*oLRz6-8~K8VeNBVs3^GZUJAKvqiGaOxQgkf9Ac@Vw|xLE6}>^8Whg+u7bRh?kpnJ@4IU)8$W9!mp8us?YEhB>Z^qp z6)~~j{N|GN@4J+k!fVlAn-d?6N11&P;1?7OQPHDXy{{5KHt`ZT$jc1&lx&^ECewUu zB|Hop_urB&N#-QTT}_xet%fu>3F;#AABitqYrVVp56)BOozt>BhBAgMyUhy5yr55zNvZvFU_Zkr-ibklb1&0JLbZ7@<@my4sELVa!evq8a*}0bqn4q;P&+9a`CDl0fRn?b-uG-owkynV zOR5A$?JmOqVuHL%y)^Q(?vmI&ozC04)U|VUO5j-K<*%wRf{qsL$QQNO>`lKNd_@`| zY{k$Z7V)=S*u1?=_1yzl0TMH&gPMrIulEPjjjWd-%6#wHkopzh^IM+NH(Q6j z_-@J59l-=5?n+0Fl8tGfc+9cLUcrEX$ibW>FZ&(j3hDOnU&J}qOx0)3pEKruZDkoK z-~qmCfYHB^Cz7v>=PH!{wL%UVvU8J+;CDXsxY>RtvCQ?@$6ai@9~K@hoycFN20*Jw zp@(MwV#E6VU`X`-cX`JE*U~T%ajD3tAg;YcwPEmYni(#<{akagM{->3k(8>c_mmy{ zU6lIpzNY98g{gt$IhDWcrLw3onha6DD*F7ET!lIe?G`!1UjL3h56+w#eS;gI8GtGB z8le>O=pNsG0I*1lL~I3(Km6eMRx%xKS|pHS9Vz`?RlkTT5ucf{_)LS=d0L||2VZC= z`OLpBFhJnl2!*b~2Ipye-SY)k`o5OJCe+$kk475FLQZNW{+~+51Mbx0HqSdpD1lJ$_=$>(FWCZ*hSGuEj~70av0sh8T#G9y*oCrNVu%7cHJXe}lFo7 z6^8iW-QsZySb5(170PnxggVohm90?J zN0Y(gm%ZPbH$wyF8s#?Yv2S?O_G~j7BPg{xf5pJtgib3D;?{c|Ion*%->QuC$OJ@+ zPA_fd|L*8?4r~=HNsmhTBKq&|JY=^aO~Q`9&bK>E$(Ei-l309tf+Br>tKd(<_{Kls zQr(fuzY?%E!s}Enm&q!2zp4kukbKu*;nY_ezr!ppK!h9`7W;!vT#1Euf~r(cb8~nv zX1c5ZZ4k@pSL@_kJP+xiZz2J92Y|15X5CdDrQzKh0`0x{D6EY)?eRSDo99VdJFbxh z@^6*!0sHuuOE}Y?rw#NDX43Q5AMF@v&;EfXs(u4ek-arZsfhY=t37RV9_VsFFrkZS zZ&wMgr3r;sXbX4M?b9c>yoZ7%1xUKaJ0B(&=NKtfk)sh{*zc4tX45?hhj2k;@$+fz z$Ok`mL!B0o!3S@^^8w%ATA30YzNK^=)oZN4SgxP_9u!iDO+iVP&r=XLEk(o-HdBm( zj`$KAzm@o!#zY>xDJ^h|ZbU1yoVC92QL|dNhu5B@ z&!-TfFtGgCqIV}7^7(O)oa0;}u@!C_8_6BIhQpo>=8~qOXH8QQB zs&hBjdFsMh24{>0vz7a@)4;T&11N^2&?&n`rJ}_;Q@6V(g)R)=TKIU}d9n};@5v2FM9htf?N~Q_%~mUCuA14=w?^L0{_i9hLn}$UrpU53JCnkZOUGyW-vb1 z38}{~cgX)TAnz>OLFH$D@5~h@XwKK9fU7!}@OY~AeQG7^SCwNFTm5I*UgoxUstbXj zX4};^tF9_x-xQLKB-28{r&nw=3X&1fCk*9|K?L*|O%R!7!~HUsIEjSEQy-tWsR&xW zP#IaSCc6eK=C9dpYo%Yyp5-xoHe6-L1x8X6!chW9Bh4lI4$4}KoFlCNPj9c@*X%%) zm)+NQ#uXE!r1z^KMoYz!{p|N)*jb&%>Sm1y`ZjykOQC1jBBe%;L-4N$&%x*8hv0)j zetid$YK1R<$+}%R-aA!&5O)k`YQ|E%Qj%M!{}uaja97NZZb^y+>=@!c3FvaM@X*dt zOtwd-jY}niJI#1W2N-_bPZ90Hc0spb!jY$UH?i^IKYlk^-$Lvooqk5V-%KD`L$;Ep z@&bWv)Uv~2$^^{*gXaT2Wm6^wk)~yWfWYyC4+^nD$ic*=soAn+p}Ohit-TIv#^&4m zcku)?L%GLuwMOgT7_GUq)lYoRhz}d8a}4&6G=!wS$lJ$wJW#v8S?yCXot@&Ez$1}U z&6YIs;(qeLvmds9{ML)^j13BbtIr#j5?Z%}r;0%lbDjA~n?XhgnCvs*1ymzNR}REq zk?OS_+K^BgfcAAR!zq3z)QQ?K$B)47F=btimMZ(#D7lrT0r3k`*SGSnZ z1Hyiki`zfOhW+%W0niys`!Q}1e(wY)ZiX(jo)3Pw)xdXaY9@d1lEOtUakZIElq97h zY*==1n3Dc0YY{G=jtgC* z$n{jB!nca1QWY6VCYf84^UF1zXO>;&jo_lxb6#%10{>%Vd!f`7N;W^#KRZdv8>Jj2fl=Syzayz*-vpp5;!Hcm(E zwh@?0ZZ3H2=*QU|`Yly$$gnbDR-1HMz&c%2NE40M#Nby!ygGWm?Fwfao!Jb%UvMxG z-1T(iALU`7m1`hGTM(Z4Xd<%pR|+Y#>U`SNYtyIZc%-383T}<*m<{Za%QaP}3{e|f z2_{ciTGSBS1U;O2tQV@Pv^T?DRjHJ6_RgI6<(H@ymfcWGT(eVtDT8iH2Bjz2oKV>- z;k0G~p4rHkVMDH4Wv=FQH08MNR&4Spg_`;(EoIkE!IYW~V4WCA;2uU1{h=Gz{0$p0{% zDLrQbHoYuh%@E&&guK_>)wZ6Cls$}UJ5ct!j2S8Vxr-89oLXEgsW`W<3$)(%Bi+BXaveV{b1m@BHd4?{dhm3z8Qz zB{cgbF~pJiJy3`&c{8r!&>LZv68SX|P2m*Jb>LFw62`lB{i8_dCqu5ic9 zJXV#p*Vfv9fAyf{lI77V?k7RD$G?w_3?Q38HsU04bIYAUCPUNFQXoI1#^F1738yL`Kx%t&~+-ryOc!%1UXDtPENh9ySY% z}N5L{?D#3J9ydiQ|}i z`cg<07!V{gNsEoh3+a-}7}=BAhKC*0Oqkh)BFVlPerp(mc)FD+28*68K1P3?^gM55_gtao%nz zyI2hhT70QRH{(QZG|x*$gl*~7o{Z+98B0;zTj^; z(Wm%?4nb{PW}=eu1Z#1gpxMGV70tVeYv6rW@^G@G29ujm9MjZUk!LDH^uy*k{Ri|3 zS`=3@*+1S~z$=AkFco9knNSbX+V1n~Za{C%i;T$FW@y=~4cseI>j=GV`zd;Urs6Q} zz-Xqu2h+5u7uAsE{xZZer0??C7c(l;MReRP$wT7@csTX~G4g2V)P!9Z0y~+W5tv119-sl1xjUZ+EAch9QPgLsffW*|Z{I{WH8BE7q5+v`fb=N-qa|`ufI<9R zN7p_)XJ-n=%k~4Eufa{NN>tR!xpD^X| zRCvlcts73O=a+;YRV_X~@nl$CzwX1+s?Yw8>!KW6;&X0PEqH$%vF&!wiXY?D(*DT3 zJ)D@aop_hDtL@&R{DtuO ztd{dK1YQDOi#@hhc>TbJD%IAjw|(Do-X0q>{zc9v^UUzzETVi{=yf>uYY3{7Z>t_& zOa-jd!ASU8X;<&HVU79i%r8RTWVWr$KgRPgj^1L@O=-hxIF-5P4kj-DYV~nh{@oB#G}hp$CA(~EorAglL3-VvO_C9@uGJ( z%Q6j5;E4FcMDN8s#|HdCt`9%iUTa9YD_VbK{m7(5rkh;lQR11h;s7Zv_E@mf$gH6}neOiZUFEID0Mf6|c3{^W{)B z9+O3O2)lbf1O3HXqaIn}Hxu}#`-zq+gRj+I_ciU6+K4o3t+eE4nVLr$Ns^DSoy5Gf zf0wIBA3izEy%RrLk&^mhDW)s4r8!1yt?b*aOhQ_jpsvebF7g6Yz6UBgPZ@HFW}lB3 z`;NK18)rVo`IryJ0L`O^03pojjY!B2ra~Fe%e`<$7p+idkh$j!&BVkOL}+4CqLGM= z3Txi>(j#kpPry0*z~Os2L~~-Ih9|_itE-;=sa5KAxa6#^pFI_dk#4k`lJsHo4}Xmn z26@3x-(FXjM(y3t6$G%LK295IpVK_5rJr2r%Q^mv|F^16$n4{13I0_L=H?>KOKpd% zqdkx%E~xnYn<#4D(&e)w))(h5Y&4?e#%7K?ipA;&I=X7*QawYm|Gc1Xz zXspY*WBS0AAZBm|UoynNElS|~H;Qx=t3?~?|7igX-~RIO4g~?SD+QOHR&*bfbaf0K z_rTRWG?VS%vYO9e64Xf5^Q!V7houybSu`r9ARY0zmkHasZ6PV9MOB9yQSD_^(lIzi zRWtZUwF(~b=$@(7vL9|ATPL^u=;}9VD-$})fBhL?ImKl(%oD^UPQ+tk=qS#)9-Rt$ z_+CHy+i8~k>&M7vJ;iz^7vA~ixI=U;?horD#u&IgpQ;L^+U;MCU4fj+PyEUhZFl1$ zAW=`%TTN!yevF@CbQ}XOh&KZRLtP5vzI_Mts-x3ydvoA`+LxQ2*_7lss$5m|)4~xp z2m6-ZM9a(bA{*(h*=r{w&82S$^iQe3KUI(-()ljo!X6Qht4(a6rw52h5?B{I>ZQ@g zN<#T%=XR=Aij^T3zPpF(fOn@0XES~EZN_aO^RTwpp7QZ4Z$Y~OT4FwavA(o*J>jd14=5CG@5@vOoNN!2PoZ{ep7j@(~QHyxA!Aj6&}aX-(p@GX6lb zyxJB!qO~j8(>Ui|aTsJYFS-<};n~#iisyX9a6|q`LPRXYi=5&0J7?3+U%1V0D?@nL zNvBlw(KPl)iSykBLs$W=Qc}dD31Yb+`1_l#$?q~TVm`MSgXPI-7Rps(S?8o_@6}aC z2xTolcC^(f_0xOxJeOF7TgQUF3`7xM>Tk75K+V9v0!ntZi%);vZiF4u=Lsd!%F+~M z#s2=`I%daS^*zfxGi4|;WVHrwMMZ4__W!^D7dQay+5ifgEG z{fP5&Hh>9@;?9@oP|Z|3(GH?4l}5#$E?U7)Uo(RpZd!}aNh%C2P&#~C5KL8pbc zqN1cfoesC=t-(FKJwVWcq0OX-XQ*J6Thfl;nb5wwxTRK~ARc=x#TGp_Ka4h06D!*m zKhxNpMU689rSpEJb}owleX>!^heOcX>_%ebdknj6T!D+kT>(Nd?cvMi%hfZ(m2PSE ztJW}?98;~!Glu%c$$`VyPy-wGhu2nk;SYsj-&lDAqtUP=9EyLN~ z*dtP8Xy>g0JuE^!T^(~m!1Z+Sq=r9A;*W&ne9Asjdz>eTxm%LUb%6mZNBMBEk=Fu> zErIw}6ATE~sqBT0~7!6wy$E{HR>p3!?W5SWbX3C~>!U|bWzyo@WvwSH?4QOC#cq2h6 zN_xaxhj9261h9%yC{IY?MHYp^j4Gsff!#-n7W?lIoqil^n5=9$$#qa@#q4P52v0k1%uZzp^)Vk{`S_|KFQ4bqk3{y~h zuU#7B!j6JWgqXI57HNW&M-s}h&959>&_{PH8X(^^fJ;(*!4&sB8wGbj0)KzC;XMiC zNFbe_!4uF+%5EKVTDH4mN&kPpK4eZP$VU?Lkml%Lk2kBu0LTn#OU|#_fRCo- zFY71^gf&kX`Tw6aCQStpK>#%_FfAB%c?kl@eup{20$@I(qMHf}4N%&NIT1p*wq;!o z3<72R^6!uC+&;vh)XCB>?=0NqSe&o&c}0R~-kuR73S zudj0CafIHLku(OFU1y8dl#s-4>@_dUd4qz0zP5oe}KSG zmAQbe$BEps0jJg|WWk9M7-@fT`-=!1Uxby*dU8W$-hg#_ClUU^d|s=GZLiTkFVshCcHQdNGAx5z@JQ26m_*!W52BoHBp6+1}x&lEE~a{i^ejUDr3C}&M*;cVgJTw&6Moi8d=z!^0nE>HQzX@iC^YB?PwT024;@>@N4_NB%4!TUk2_dfm?#v-tPQhYSuY8R0rpAVwz zk_h3o`}^Qo4p{;#4XhK^hoZUmV{EoQ3>1IAT+Uv_SYwXSZJKR&K-*l;|8IS}Ul3yE z!2{GKj-e|IJpm~jUndB1+zM-hM`wy4zt6o5;|dZ3iY^(7TgT^3)Y8(+HGe$gDuGYO zPYO&eQ?Wn%2b&K{h=%vTvbOi8J9h_>AgN?FYKDk&`hniI#tX3=Jl<2|@M2`qKn*aM z>?h)0qThmW?Qr8hE`fB}DCPCun|HH?l|PAABHxGN9Jm_pxl z7eaVFHU|{;i@^(r7QyD|HlbQZY-eJvzh5YU?Kl#wm0n?7q43mbJ2VlRm_BFEC-Ari zWWm7WJ%0-F1%%>pSvbHUT;cC?O=7@vvx*2x#wns;!q6F~vE;TB_Pe;%C-LF7GxGPQ zN+SZ2u#!t$J;Dqy%0XsE6_Q?dxZlo)&V!`RX_Z%?Q5L6#e^2(FpOSHeq?@HWDW<79^Yw)D}`vVFy|+uXvS{x^*L1xq3)bvhGQu4=jO7etMxG# zPIm#H_4${%e2EGS%R54q{J+UCFGfhZ1YZ#;4H^e#tk9eaP=Gp~uu7?`Kb!|N-;2q( z%fBx@ucCFi)+7*f-9|M7D6llF799514pDL9zmBzP0`-|AEHNeKFc$wmmG z`Y@y9!U3BC^qhP)YjVFY_~GIUuawU3X+L58OeN|#%%49|2?*7hQO9NLFw5n7R&@jg?;j~!?t-KEE5s~pr)DY$#mej1BaM8}AK3s&?-aMWsF|eR2 zUd5f|5&gSVvkh?prjH7J=eFFUX8Y{UU!R@8_J%4R!zYtaaDbY}y}NhXSMaPX7TrZ2 zgfup$W^gn4RK;vHcD(}vXJ;@OvJNJATJgg}ipV1alNO6o?lO|8Aa43nVhq4NPs5Y4=WS@iwRHlkN9J^Wz|jn6ETFIF>l%cKNT!G;ap zPyH3D(0@;wXUIF9Vo|_0T?lQ%$Wjd+6YNKp*eU^9IjueatxSZo5T)H|bfi60i$78J z6&?Y&;~40}6uBa40r0te85m-c>c4l~|D7LpE)c(M@5|U8j=l@=u8TK2_hAFnhUMCc z8Oo93pDbR_wTP2{4EyyUyH$CFk5ncO(?vc6VO;1r7Bkpok#N zM)C(-n3y(3oUkBtz~F(k+bdz?>vv{EI%PK_hURYpa<@gdap)Uo#;mGO#SgPOzE1PU z!@~Ct3p=guH!WTP_L6rtYJoLd$RliN(=+DSve~Oz4<;n-UYsQ$DiL9(OES97Q-?fU z_YB0b;%n!fJR?2wM>^y?oniRJWZuZVqoBxdXnO>AE`n`5zIdM@nQ$?ry3Rv-r%s^n zd9oEqm?eqiHb;#weL@`L*j|Ic0%f8o``>@?xKT@GlYJRG&E4meVRlyBj`*%9t=Rqs zqeeqDc+T!xYePNHO2tkxENpn`r*sv*;mmFv!1Ao08K%SBV89sXD3{!ODu3|-iB3Y#vMHWSx04Y`G;od`5(*X4} z{&C=Bt6yc(J~O_EFx|)=kv`Wf1|cg2OEh(o@1}**1Em_))$p;dD~GEQ2kQL90J*0F z!gtH)urNN^wMI7BIB}CK3IREBWLM;;WNz&A!eHLi1vH{4$H+2un1#a7)nVTNfGUO8 z|JkJ_8TOn!D3<|Zl^jfl?Fa&r6N@c)0!oF@k4+3YUg%TIZ|ha)aRe$~Xc96@orrZ$ z`vqMu4_IxynZo&p0y=8J`D~ZuzZ<5Y%T@fW^=q0vE2_&K~+mW48m zcfj;rkWMsHiozMCn7Y{pc5}JvzbyiWRB~4$08>p#qm2>-Hdlvd_5xvBtYpF^})X?W5*OIdLd+kZs6va;sDOz zuu2Sgj&7M)F>NEniIVjLcdNL53Kuu0ae*Bb-CrHh7$IaP=PL2e<%tN8?--h*ulMfoJ%REv@t}TOd%`Ya@W5@!;UwNY*_I#+YQu2$s1J*ePmS-3C?=N|4T}U;mt*8=p8u#VO*U>P@>@hp z5hBM34<%rN1nb=n6c51Tl`jZ`=%)8fazUExJBaK9g^ym^o7}|}6TEa7={^L7zBXzv zLz|jFhCoe}aG@1o#kbWZiiy`1Y?0Tqqle}*g&l+I4{M=HVh3_QuMrC1$*C0p>^4f; zD_j!&-d<3q33N2cDtgYp|0!XSM^vx`{-UJw+fPLP6BCOAlm8R)M5i$ z#g-fE-?n`6Btid^P56iix%o}Ud>0jvb$S^i*>v_kI`w0;n^(qPiQ82d{yZFH#%qhw zppAogwLY=BPX)Yct6)$!RzKRQ&^^q)nV79ng=a)XQ%!xx&+JM{u)!)(u<#$G!?KM& zCd{>!uptJox}*PtQLlgs5q8o7fXx7)N<{5X*#!qnU}ix#?>yHiPQJ!N&7WDR2^?=~ zjXO@IY>*vG0@*hKAddUP-vikFEl(6EgOqd{mdDmVyh1Yz>Qu0dI4NyMw8=%UF!a0T z(BZhX_bYeok~5VmUJNui2LDJ2u%8hXa8|gtoGbPGaLd(x(v~5FRBeYUMD4*SH1xZp z4_vg~>S2`PwbpCpDTlCuy;#wt0z1>+2h*xcAs30+iI|Xvu2EawU9r~`w8g8#ROLE^OC|qdD7$jGUP`Fcp-Arx?k-WSg6sKeTkQXS_vYWpG4HD|EXNn z)oFa_xP;*6FuNK2!5`2zLppcDJ;ZS_=a(P61YQc@ z!?2`5jyM`-ZyUFnrhktHQ2>@w5?{h(o5s%++iF4pe>$SsC*ePzI0edYN0ewsZgI>A zBW$PO+CZ(I2uV_PE@DEbx+VquS8_D7gbomd&L{lrCZQASJ{uvaZwb53HYP#td=F|V zqf#xM) zxTOH0r#+(@K(~XN=bxbP7(i$oAZ##s4xx0GDz2$>@;A*RAbE?^VSy;mB^hJSjbT4l*X`M5O|S`VLFx5a)mP zmT|wy@HM#odB3jN59ydcZ}DPB35MaFhv{AQ7yz9V=#bUPV4QE`{@)~2PoB9a0j9od zy&@R_IM3_VK7*$+09bEqg8)$_kac9b)}?L>w*Da~o3vW=ajm%4P|!P5=}J;zK7>1Z zTx-7^O_s7)8^6sFIcU>w`(xyBULFt$hY0+mn ztFKLoKJVY#_QW01XJ4aI7+d|q0PXzHu+{418cEn8GBcAPyqc#Kxbr#X%fb>P_sq(1 z*hb!C!(n)J4|Sg~ptJ?>%@#+m&69N(1%hD84cU2%>TRpol;qOa3Jgw7q&m^y_mYVK zPDLSl)4t|{R6(?2Nzp4{fid{nT_%x-QOGZLV*->|@N3mI%d9@U);I3U>;7;xVS~MU z1s@2n-5+?+ZbKQBw{YB$+p``3ilKL~Vy;mzO0|c6pUjxHwK1G{qrd-JLNN47d+z`b z8^0P$GMuhcZpDT!DU(2hBa{_llBZSag=vx}b`{iVAGD~WkKsb|?=(#Cf_Upx7;yL< z8u?NyG#-Nl3DrtS6hGZ@7LmRsDn4&HfD+4&JjhppQCS8)s+og8Awom0BLAR0%a6@t z%x;f;bN*9fj(?ZB@JeGPbz=b2r^**~@}`WWQIPctdS2wJ^rwpEKwJ6X0u(m7Xe70NLG;tfCm z*=-*~rv;%!eGH*I&@$b`5OLhdmSleXR=ARpXpNdiNlq6T|H(K`3PHC4mcW+wtR-$p zRtjUH-4A(N@Mj;M;~Nm|2sshwTq4LU&S*B8l?g+H>tvH2Fc}=lS#+*?$2|gOWFBpV zz8~+Oppogh8mHg#<^?@-{{zQlg~`PoKQC002hj+a7|~$k=VUZx5x4Sm%~xZ8a+XZP z8sP0Qt-xr}2`7$F;Q$!!dI8J&deFZ^k?m0I0+{zhqHjDhclTswKolTWG^pjNnR`B` zJF#Cg_o_J7N@f2CdrOa=hGcflGDw=h57EjqP#e4~JIEg*rVqq2&hW95JN_<*{jN)h z!rz|_NOFN%z7(Xy(OZI30hi`N>;%uQ5;jI*bn%6ZS|{W_ugvB0G)`82^c|P=NzR_$ z-yWUl`2AbkiKu&rY|sObC@11)reoP_oe#;OF~sn`RCC=tL{M=NV~rh!jGf@wL`SyE#T^37W)lq7y$qX*ao1p z&$s>7V4Cw}DhX@Us^6kIz5e?F`%hQ_+oHoT(SX?58yb*&pj7{<36 zExJD+jdB9r%W%c!0eMCvUhb6Qc4m&(Ah^S5TsED#Rh(v**qTvyjbCI=WW(Yk2}_9h z(=;mAFxSq9df@m1-z2WnuTVO6q@N)-RYLk&ohV|Hz0a#60x_3`(MEItO=VXprV*<# zKC1bqYb-8kwFTPE^0adoH;Bfo?33nj6VE8))g#%nQ7TEcHZ(WR#rS>kqtli95eBHH zMtgKy#|5Rib{#M`F6zHBqvj@2ks z0*qB_740stVpe`Nm-2zE zlK0VU{uk4IkWvb%q`P0LvIG``mqk(HA9<3@5Mecx2VJq;@Ayz&bz*D1SlN3S0SG!; z=-y|dI)p;P0K)((i|!fXD70RANmHcU9 z2UpdF66=QFj0|5ApaE6EPCv{lmQhFbYt=9Uhk{?qYK&q8ksKehS{cSN4bhWYK0NE1 zo`xiq?Jxixu&AkzKt&XGOs)(43*3yAtH2LXpiC!|%BCmMo`qllO6zQ=EWf8Ao+lWIBc3F0A>2<4DSl=JOm zOA!jDOl^}*gIJAG^5*yeM^KwcO$y1+G!p_5k}Ty#7$nLX*3?9tT0sE#TP|C+B3#hu z&bQG|qYAXO8kc+``kz5xzZ)DsuB1?8s9ljCbjRfB*Sz_k7Qm+8V}G3%DzSO)Sw3WI zt458qsLg0V|5)wtAe^=on>*9?Fkp4rck3+F6U8&b>xcUD^I&L7&3nAR-q$MjuLm!_aRf?c@K4FAr1Y zTLh!M8}L;WjLGZS76DYd@^~hrlfV9fK%qP!I0PvFtBwxmC)aCN|6Wr+ zB?$Ix9BDDC7%Iu>8;?cqBt@(TwJ@2V4ucJK$mYm`9(-@DbUy#4ZM0(_JCn$yT-Q@W zu?4yCjwdVk!uN?b#^o^@-#whm>{0WVSD?r$#vW?w;}U>uv;$X7S$uLoq~D;ZkIQTV z_m>yQj}(^m?j>8aMV)kD0PVAYaEM6%%6e0_tkEQ6brVZ z7W{CxYyhLRQ2_69aTzsV5!KYRBz;WG*1-$8M}b@k80wUUxk&a5WmYv>&&b`WFu$NDSzNray)FQgc{` zf7#L|m@&AVcs%tWnA$b+l_iL^dKPs`MOq0U2{57;b=KnM*-f@vIY1y4fBalJ@&V+c zCY7%r6}RlN)ZFIGp1MAC9JziXj1-R!T3Li? zc8q&sZ;S&9I1=l(Kyx}Dm6HoE6ak<$w^c?kLCwj%udWa>S>*DirrwNgXi$6X3cB34 zP{ZgzPA?cmaO)Y(Hux#oWJFP;>rVZ0J)%hBHi{k$8x@IrK9}EgBV66yE&?+QblmSz zB_4L1hkJjZvH`hJ@Xx=O#@A=u6BA)LdH{ zJ;`F9TvJZ)HwkckL1;bkB=SPH;(&hKLdA*z-sJAytG7V*CT&NHbHHP~PmK8P{EeC2 z8lPVeAL>QDG;Blqh;BofG*e6;BM7HL7sCdvh(s(72$}o*BmxP3l}{l3y2lZZNH>Qv zQ-OA94@-ZC&e3sm3^MA8;L@tBwzHAl(t@&VxTA7{P`Mmv{Ir_`{6A0*WAX;jx@4ms zUIn1TCOGEbPCK=PRTVA2+E5}H>+9)x)8mysIy;WpIsYydPfR}v1;iGr6U{ZhRidUD zx-v9iPirZ0{?!HRNhSxxoTC>6o<+j*d0CTR_s3p9vnPxS-SBgf?)7*&H72*Aw68bv zEs{|Oi0m`x%d4h)^&AGW*(+Nrc0?nurbY@rtop-~lqo8Jt{Ax9a*!s-&Goyx-XS(I zdB&c<>_iX-jIX0uvJO9I=yf7pZ;m1)W4Gbw>3%>Xm$xZ@`rEoM`~CIV zNXpw%>zbBS3I{h-m#u{x!WnJaue8U}Aju@~nkW_LFs(t)o$?Ry?lDQX4iE^qJRVX4G|ke{M|Y_oM#djFMIJh{>vk{fxb&Fet4wQ>$`C-BjH0gJ%c%n{at(*(F7e8#*r#H311sz;aAX zXkSSLzI{)R=7Bt!y!(hjt&p{Ji+YUOyMy4_*RXR2Sr?UrqL!bQ(VRXx>xlATQ+*Hn z73NIa{J=J>E?ulE7IYZT4upc^+ww4`ONCC~?p6!D?mkBM?;{D>YOgqj510PxB-SXD z=E<8mjD;DpiHe|T+6m%2pUe&4BbGR1j#%^BmX1B);b|&;>IgyGo9In;If@+xtqAN9 zxZGYzHIo!S_Ujo+!pXmXvIJS$o&+h2Jb13Q>M^eMw@j?=m4C%y2eXp~(^1F$P^dEs zkrVFZXU{*L8bcoNXmpS~0C0a>ay^Kw*C0N0Zi{!iX3^of^P=XegQlNf!VS83ZXQ2R zLuitGMV;Rpr@pM7o2gm6cl)!~f8kRKv`$<5{4#X0SMV6q6wV`dwu5tj)D2BNNR5-! z#&mg(wdQy3zF0O=kf>N_82c>Ej5pVY=HY&TH~^YsAwlZn`=@^H}b!XN-MyEoHTDC3j+aOyvC_%H9*$3HT;rMt-{14Lq`0|xL% z25>aMe9D&GF>GUhx+Hx$$uGMRGnQ=+VZp5_%^;)E5(Wepos_kB8Z>XKk=^}-O@tOm~%;pOUe_6aT z<`5Qf-pP_v&@6X%oGon!9h=Q)35_3l@g5T3X*x~oY>)uc@1(i(f$2?v@&&DI{C0vg znL_|EKlj_niDmX0gwcOI#2}(s@d-Az^jhvmrMApzQCymMp_XiBj9}m&%Hbk#lI$yG z2SGwVQ$QDdz1-um-*pzuiHoG3Iz^aYOpqk9^_b`FxFnh{-9d!}Qg^6x5MnO;GCf|^EL_saGW}lVDtKP5Kx{d-sast-TkfKcGmDLqA z9tx`)$TNzjF>VWHUj{wr%##>5E`@PYheT4gSZEXz$O< znX7dc^#kgu4(P2_`R(65fy>*u)?&g zX*D*ONHp*!@}8yZg1P(XxjaCEGcyktgjQ1iUWts5BJiT;Ud&Y(R|+< z>+fe^YMs&h&5|{g*h^N>PeVlnZ#Ky4rzw0fqq&|D8p5;r=COeg#?@2bkhW=EM|GT> z*r43zmz&wwL39dyhItz(h)RoO>lmgAjpXMx9bwm_VT?#ef0aZ3m^p>30>D0a12_ks zK=<-)n>4yerR0=gD=D90&DO!Pskg9z(*`QmsL*VVR^}u=6K_g&qV(u3M?V}7`j`ze zR!|mx7x|eC0TWeQS3J=mzg(n2Y9#gKCD3qS$HxbQH}8YKozy%ga7a!>OF;WZ3^7;^ z9l<`=s{)NYNFrKMM@p%$0>#uby`jY zuy<;jbIHQ>an^hblfg*46wtEN;CX{eQD50Dv7)PCL>t5Ta zk4{{E?C;>{)OeA(=krWF-TP|$%AXi?yhSj%O?hmgSPct`b~&&y^WHbM}{Mu(Gm_sVnc&>Lw2^v4*XfQs&a4jG}xZfh>Ff037iP z6oJp>x?2c8y+DLbmRXy!Yx9?f66W$q!clHr2iJFqSMLPRe(2gwsybb3LWo~Uy$fM& z|D*1`C~EJ3(R6KB9T<@H^+N9+uD9JXYgdwU%(CR?J25Ppl2|hfwFx~Y7os6$Uvt~* zIVw9%}d5X@{){(a@$=XA#yrl)%O5})(B z3O&3Jqe;KATtsmF33N~;TCU7tubo7Up`xPqlm9eQq}6u59nz+(MqPWyM0AxKbJ&ER zkQm3mYSS1Q@LIgH?&+tR0V^fUMiJuOI@~u_Sxn`Tnsqn(V;@o4v_sD&x;DGRSTPcJ z^tGgRvH)uTj$6%8SFzVMa7++L#I1WiF>j9`ln2I!Np>Uw+^YT5)zhFwuKJE+HIY3<3mu~eIk{n?jS&5&LyExXM63i0dB$%S z(p&dDpTXiZVqSVyTM;1t@>c%IYUJ1Pm2S3@11~`{v@K7|@Q`cpdg(?dNQ$`0X1?=o&4Jq*Bx|gGbc*V%GXbd|6@&pAe4xCjaJ4RZPXBZB(J2xT))@ zxT4f<1zZFA+9Jk8ujV0ckuY=<<%+_EY{tX+=b@|}1p3T1ZRy1~=-2Vu)-!~e6Y-TP zVpjN9!=Y&!>F*9!`!k5kC28w8%!}27Ngz^-K~4F$x)L+c>i$gJ?|rtp@FnkAj#EAG z8fp%bXB!wEuzRq98@D3SwVuA=H=bbAka8xq|3Rw-{@_&e)iFrQ-WB|n zCjZeGgt9-aCr}?4eeD>$2^nAx*}p z66+R~sqJSUR3H7QZP8r}Ol(t%q6&{ZKoQ9Ey*l#^4GW1gTw6C^Z^C%_&!FQfVE*zA z(N4F7tDm+;eldC_l*`Yg81b!CbC!rn%xA3C&i3xb=*2X_0fJ`kLYg(Q6fg2$`#ZY*?0b!FKd zYJgV)LaYGd&1O{s8h4TmtcRMy8ml^-H?IpMU+w;2zL!+Frq_PaHQBw|z{)LuMTZG9 z%^_YJbB;eBHGI8rbuALte1Sk;u-(%@3 zyh~Z4hN!JxMLnEOUr0X=H;B=@@=9xgGOfJd=UA-zu^=qnQJV2!&baT$VG{4A1B`Y^ z@&i{Ezab_a*xg^8n(t44qgWZdV?K;&N@cFp-ZOq1`HRx~xmof`K|x_5R=hP)g4 z=U**>$>xT57u5`4PwFl;+z6_HRFY$r#AHA!slZNO6nso9;hzbpC+UKz(2!Bs)#68} zVbez_>0eqwKDArOI{PakGB#|?3FpMTZk?86bj0CJK*>}M`;B-Exv zP!&Isz^7Cts(9;|1y0vUH-}jEZ2|lOLkcnV&P#~w+BT8_4hYa`kj-YBf&&5)n=~`H zx(gmQNs;Wz+ZHUDNvN-1&MCa|a(;E?P(%=%Ik}obmA`78Ux8w*og<24V3$3t+8+u}pX80BBSXojdvvPo~9uJ5*CpBGCVX`NVJ=83S#^mSN5-xdxo z2-6w{+qczxeTrcyFlQP;+=;y8?>5Z7Vt2X-;Ex$hNsTCrUcp6-#J+P1WXHcImpL5R z7ao$*R4l^!qE1gm$;!~}wr$CGMtHR$0yH=W{A&HDY5=M;M!WsS#{}s7TbamBz8+z& z_(JRHC$o@~CsUG+)p?}{)(PVm>hj)YoR5UIabkoOEh|UG%zBI6QU2a(C0VF(5`Oo3 z;HFJTmNEoTJ)|=oNUP`CEF2PviH%ZebqWVbJ=2Q%w{lyQ{6WrM^H?Bte4`vbrW}6H zB2P`q7S*aN>97<&vf%V0aJl-AdhXr}-P=bgs9(`?N4(*Zka&;lqc|kLahGXA~7iP63kTbstHBiKax4q9@6>*?0@E#kUc8`eioaZ<-c=u;GhWcFev!0Fv?M4 zp!EEG>JDi^Y42%zg913PJkcj07jSlOhyeJuUefSfPH)3+^vi==e;Pu(~8mBOY{#)CKl;f?{Xd#n`SvecSa#CRNRP$D!jX&*H{dUN&*3C&=&J zq{cT%9mB4%T7jQ^Px0+bvGd>5mIN|&rALCaZHc5BY>C1l>C6;TCJH2SA$3}XF#IzR z;(VS6DmGS|eN7-s@RRv5GLAhtbv4gcpCW3LiJWEWw|`<;ACn5dk8baYWGG z;ocr(2Gk3`lS-ch^Cqv8{-Ak30uRZV)0=y-K)Jd7KJop6ZcwtHF4|xn(T;oU3inHb zW&V*49-w{E%QdUF$a_Y{`1w}@v%pm0TL88@%=0x?U;qMwXVo*(L*$Z1Fa?V8Ly;ay zbWVixAr>zSn0v)(&MEK`T@%lgSQ3h|_TfO(2=zVH&yvkw>BE0k$O2!h)#wV_?VvT^ z-&i-A-hOflidg)4+PN~Fv5I?e7c}z?8_b?!;%+!w%FK9zmaEP#7)GLwFL0F$gIEgV z^J2^P80{n1{+$@4^oIvH{&<*kSrl20(f9OnGYSv0T0?WSWcjAH4-JbW)z$oqP*Xi4 zej%gX2%zcF&d+dIpGF;-gSQC&!WZ>3v1!N3Xz(0P)X&BF3I)D6kJ1$_!ow)tDOj{v z4dDRV#jQ@+Qw-8ONwF(H4|?@5nlO%pkt7##O7ey?gHtFwmZAPV0BOoBL@Us19>`y_ z{zyV>;@zNTnIm3ntZ0V5(+ZXGW^{sGogiy7_lt!l+xM^;xD@dt*xrk#0g3=K4zsUB z$3!4FeR1O^z6~MhR-g1~q9lJn4f?T`%ZOp2Q$FK|(Im zQT^4@gTPWsLM({C3_IN+^1d05mJjSwlJMY?4f3|J`TMw8zoqkwn$@e{L62H*UUww; zqS6F--&7WsX-%15=auJO|NIrQwJUofCf%uY+nOpxL4NfOPgD2#RHdx0BGKQ2T zpPv3|P%Xnsr@{UnzlS*n!w{2w3UKbkG(~NbF~W$h4&R zjp}2onlmUKH^J6#&e4Ou4@<5d(^5DPCur%Oh&`|F#37N3nP!*KW!I{tBLHSwqS4Tz zj@m@xXm~yn+5zeV);~*=4kYpp+?-LGKI{P2FnEPSnus($F(tYYAESm;MWDYeyT93n z*A@DHM2&b{xu@h)!YA+U6Fke)<=sbvJ?d~M3t|9h>P~W<^`yRuRlNAV0p|sJlK%^; z4ak~WU+($GbdHDiT-7>}gtQ1vd+KK>8Ul<%oPaMZH28l0&*!f?s%JoP04uYm(c;GdhIc)j1YT|ynVTI^vuGI9XbyKB< ziS%nm)Mu##lM<*?4j=m^donq=Tt#K1RJZb^WVTN;o1Nagj52|_YKLua3uu;uaBMKy znIom8hlyU&0W}Xma)~QVLhShBCy!Obe^8Whk&-=7tinaYdg0jO_X|wCEI_Ul$;3g= zjQVHp50Aofkc+C~g$>3G_A*2A^QZn+%ck|LnJeaFp&6l5P8Vg4X|1o-wm`gcG^R!M z-5LqLx^TzK`A}+Ds|=dfX+2* z&Zm~Kzv@j`s&V&u4&##qw}=@v(9*kSzV5FBq}m6!zdz$&WUb4K{CW!c_z`oNiK>Tp zz=pWz3`2`!=f|ZuB(OweIy(Xx4bpW%4d(_oh)QH44=XaSC69=LOQ`LP3kEAff7hfK zI|VcyVi|H=0hER4p2LsT{zqo3<2G!|zY$^Tpl{yA2-_XVmHn;hV8W|Q=d_u!zEB4n z@eU`+B1gCGbAu*0=aTs!jIy&!3xaS8B8}Ov-@55XPbWkmoota*zNg`cYDx+=J{^y`-l8b)_kQK=ZTYC=k4`gp z#ML3O6bDuVjSThwO&T-5IDBGUasI*@BsX4io^;M};~;rAlQw9E9ziDtmOQCu#8EWf zIDamysWVuIHQKqkiGz!ai zxb?MstJ)-_OwoQFFsT+=l+J>t;P6%EW7S=fFz)U_Z`x(3_^J;J0%+bRRB`qEBv%cF zM+`rtKvm@lKFy`btrKrQ&su1A-P^8m-Q*dj8jPaa5gK@3BZN|D6;CI|g$l@k$=uVP zBDbJ6ma=oOp2%Fs460IV^vVagwLdwg;88Pq^YMI`?dPTybshsK&-ASC&)Ef1=AX~? zWAciR!dIIO|6mnUpEqEeMU%tOiNSQON)ukDwiqvg;R&Neqf)8*Y!&-TSj`5ItJ~vO zVv;-ny$QGq?+Y@c$GTF&Jon#vgnFjq3*Uklsu%$T$xuUI^sUOXwd(EIFYJ*! z#7stjxiuoJ5xO)@YjHnMD++&L+?-bhspM`!UvHP3A3ht{br^C_Sof5MYgsVMNWyKs@<#KlpbuvZf4w@o-xEmal}6eS!OX z%8?Pb@+T7{8mOpls@iUlWgfA3xyTEP$nduA=ktYvtMY>jR%wqLAp33`C$k;jW4u8x z)L>D>l|r@U@ER1TmMM^pa6eO1xknSaG>ukPw!T?hxsg z&V7da`~3a_mU+!*=A7%iuWL%~-9}$Mu+ji$tnQW+?=b!3XxK$)#9IhwL^Am<>2#yR zua5h}{5rgrKF38UubxTd(7PX&Q}eGmpa-MO?8iU66#slpv>d(?X&j`e6)+v>Oj{!| zX_7{WymJ|EVTd=y%1V&b88b?NkhMHNsKh%s%TyGVKu^M=rcRWSEBjBZOcgOxR)i;L z3#MtFd2QEb`q0wh(7o@;bJvfz^|PNMz&JoOA9U$RI85V}mUg7Xt**(B zv|4%C9of?o@>PA?Bq1SmPzZFIA!V0ByBa^&sm#9;Cs|ML6xYR2uTUo4ZVo2jDz>Yr zwdO>4j{ACrP~2}>*hh0H*~e0bTpy=Fcr|{&oecZxZl)qIBOQq&BAlm0aE&sS1+>&W zv9jxUTopebF8$cEOCGK-7z_*3a=|=EQPs{a&U=E14vODsMVizV7{Ps;8nbSbJ^BMG zmMn0^oE;%qS%?@h40Y(l{e+fJ_&Tgf=)#?}YC+qPQ7|)Dp+XeL_54+S^6dhqGvoJd zL0PkuO}UcYMKhzT*-`n9gkI{cH#H1QvXp*M~Svbqm^(P`Tl#ggp2S z?s=`(sSbKQ9Q5#s-v)|UEnHhEUmk$6!}{^^Q9n5_2i|Z=$7&Ta28J$qP?Sh0muF5@bTX&lZgj42d5WfA%xhN;u?~fXA&O0Y zIznTrg*0A)fC(Buw!;I$wj*@!#py?29qehY`x_{)_xZWNz`MXSSdi^*X7u94H#y`C zf1bf=K^-aQYm{-(E%>YEyQIyszSU;rwp6@9_MI{-2kcA4kh4os)3=Zb?Y1@P`EPOd zmUGY_+c(|%tgg-k(PsRc|2$agXOpNEgpobw zqH0bURmc6Cde~Sr@QoPq;wjt)J{J3VmCu@`y;N9$ni>vHUuIFU0j^Y!1E1yhzISVs z27!cU%Mw2l+#}hUAi8VY>;g98=@p;F=e;yg{L+SAep?x-*{!8-k^Zg1f<}IuO#0L7 zy4mvRh2_RyRyW5?$p;*Y1ILTJj2R6A;!X}Yh)kYMqnO5xFN)nFkO-Wxiguhf-XzEm z9S42fP%~NeS1%R92I!zfw0hdp2|P5PlB3(sXoLFi@JesWLXSg=bzsWPG-~`*C6Ozb z&hygIpSQ$Q%B#LFdfSHg=a#C$nxC4RYt3v(5i_a7e9LnzL77h;f(Jd49SE-Y2O0VJ z!~8rsCPKUpk%^*iA_oP&A68g@^+puO7P7kJ(;ieV7JyPrR2=g_^h->}fT(+h;@y{Nv*gSvlpVTJgIS*Dl_K#ar2aH{QjZp;`i0=qZt*U@QL zlu(jb`WDavg#`Gk-jxF}uwe!nt^tvma}_=R`ONX&#?_|n)%6741fukV#aU4@=bJ_5 zMGvXwMO(2n@Q#!yVZ5zo>=)f#22ir9PY}L5UvZ3D4X=Y)tsEswKBlir3hgE1oTCtZasm&9;xJOJZ0a2D!xFh~?(GMD}ZH zK-RP*-OLMGZbtu&|AhA|n1(^>BrN9YJv6XMr)vH_`(dj76dydh(CPV@4jVn!?Cy{S zbC3_@-_7o%aRDg<1v7=PBk``S{{I@7T~=B5J~cDe^D|K>FBMZ_ZH83mby2$H?L*hM zu{qiGqAAR)C)0l2W3Z+LALN>k&=gWC){vImsKQ)s8m)o113H_kCl{eat zZt*8hmftc`J3rNP%-pfj0mk|7#gk{O@zxxW|KyB{2X}Ht5|A?ve4s=B6{zoUkP+3z zpzn6QLN9R%opcETeiI?qm{q>wS5;gj>WL?r&eIHmRJ6%3KQaF-MV|H+n#;$~&IOYD zq8abK-uu_JV}FJVe4BUqN>QDh&f==-m#!?Hy+%PK^@^`WT|0uU1W2THv**HBs^}nI zEkKeM`+q0}YcQ#{3(<$IF$f#eGlqs2X{9Z1Z?8d`g!mm7k;g?4(X=m5E z-F-h5Z&qW{naAF{CXNZTULntHWc7-JhI}*Ij^cN;3EkbjlT5|Wmaj5uo`W{xT~~`d zi~3(}p0iAo`moBypMrZDAQ8b)D+|dO&=$DvK{$}&On)-!?I|rsu9+y&Z6>Fyh(~x? zS2}EAD?nKh~`h(k^ps(f0nEV*k#JpUjN$~`}VkaFaqx7+j^3u{0o|%=TX^VQa*;* z8Psg;@_VtgIQaPB0UD1{&&GY~xGz+Q(lLR@&qj=~cIw}AyZxZhdL#)@*5)W9uzAFN z^o=eEY40Xr{#PHsC*34~foO=8k0WkWj@Y#cJxS!@ub}Jb?$%n(dn$Lc$IXqrwRy|K z=?c?jy*69J*w8^4*Ng2YLi+2vBYk%_E+*w6O-}hsIZm(`Ix)ANThTt2tokO^qzfAC zIjq8CtcIyUYeoOfknFl9N;HKr1UrKe8%7fV`6Zbaf8G?Ort|+5l67(F zwLU4Q?NIQ+zfqqg2K7Yvy)>2ZbNiaGO5i`+B>^W+gHDv5YKUIkzZ`xqKl?oXO4Pe& z9Cn=oJ~G?Y>}P1VhFyze5A8j8tzwZ6+v;!Uf2UWi5(dXkIyaiYYy25v;Ppi-b#Dn| z(4}Ap97C)eh~i@PN$ZjeHgIQi93F5sx&brc9&6cU#PN>*a@2toNIf()OaerY(yxG0&_t&bgZxB!qb-9@32T zF2Jv{_uCQ<+>br~hdrFDC$Y8IZXfn=)_y3-8<}~`dHyl`bIFs9$7zYL-It#EHnOe0 zz4DEN8^4I1jOlrxZ6M8UO6`7rH3XhhM-rV=!+D10?_{krA!uR(GFvw7fnbIP&=p<1 z7|+}U;h<6Y*Yuu>=eOyJK-IO|?2!xRU!7{nIJK>+>u98 zA&2vP|I7pKZGo?)*0~D)M_gTNd_T9>N$M(yI!uF~BrY*Q+thwe@$V(QUv1%H=5&LQ z(WJWD*j5K%io8tZ_-@GG4v*f$r>FAe^bG{hSw9T@hB0C5kZ;+>^N0VDWWTh@oO6sq zNqh_o(U>rPsyM!MUziqd-i4QU(b2G7UCqtux1f*O5-HdWki0ph5odU{th!E&M#mYt zxEQiZEFXyQJ#2)8)a@jHds9H!m(L6tj^WB<#P4|k#Mcw14miz<`ye4B#z?8Gwjxqq z5*v*D&&+N(`X?oc+j!-sJKla+L)gWLa@KS~%e3{h!j|TmbFfBUY{r*Zb)8rKOyRg`gXF;N{ORK& zp;&fN-;e*6?us^W&I!31R%!=lY}A1c9=bV z`i%zHjyAIr$(qP?%^COwI~Bxs1#-^UA(;qqI8T`VXeCfz_Qpt!3?VBk8S)+a{j7qH z12k%mniw$}wVT~q%T$l1(z)-1mUU<-LZ6%Z5fskTGqnQ%WFfRHebfrowp~QxBw@ui zAy}ZNtZMPZ)qK&@@UzKh=VmTVydNa99}*Z$9&QbqWUG=*(OFwhXa?xX*$z({8BC5Wd=)Xk;@6NAJNNDB_+`-8hJ4&uDCl50=51JS!Y`0-bydkC z(4G(?c9kz~Kh)TJQ?$aU5H>Ch1e&M+?m@ugT|HoO-{ibV308{bRE8ze4A3v&!2Wcp z=OaWfYX0;e1zRKDWiuo*_<9q{BHoV_yU(`B`%)-tzoeF#)Aoap+sp%-1q4%%#h9q$ zP_mrRN{g%a#hsY|t4$S)#DzQf2PC4TZ458e_#;`9@ccy$0OxVgXSFGCvI-dn!H*Gt z|44T%P=*K-Tgb^0Fa<&?5(I%-rR*b$%Mec^$l+i;gh}ah$Aj;;a&k;O++$OAo%uN)U^es75T^4A*_e?$^w?be^|zOvxin$6^>iWpdse1ozSe7|8gsbae* zQoaUy(nSVt)Iu(TzF^#(KWSgwy|KA^zd)Ihju&x=IgYT37^{bABpzzLk~N$#N_ds= z>yi6g%>OPic8eqoSTsQmrCuUX!qGsIMFg)VXhXsAqa8Y_9JHcWd-KRVQlDE?`O}YG zQ7)G3{0z-;xJCY+X@E>|Sc8Pw6MOEy%lkFA_1aliPTGs3m3oHU>m`wPxpTLVG^1IP{X^PX~u`s{&Rl?lE;8YLjG5wO_&5_vgD9c`duW2ok*wAFZmVN zGFO))n9N5yPB9AZYJ%}tb&TbP34t8oYxn??f zI97|DgZ<`5S9ev|QsO%La2zCuhpLkYbu)>zH`c!{5Q9#uJQT{z3_ITy!hg{^raCVn z(7L%TlmW4P%LP#zth3aG(gDIn`#z+L4_djDU*Hk)q z4w9dqmtcdFhqF(8QlmD|Ywp{%O}~dtuAw~-Zy(=D?`NiSG5+emL?IE4Z)#&7rU#Pg zyy=Kx{HAX*|5iQGIltiF3wDud`gF$5Iq^5}>mug+mfx1f1kTM~Jtf0`9)wu;p#8d+ z$jN%}k2t%0d`ezh;lC-Gz3fY{o2kY;^W;(SbBpgE8`tAF&UFbs);h>!Ty?p5m;tGk zMIK8gV+un#^u0@`3svSgm*AA0$By-L=ic=-2s{_5NPdS>2SI*KRbJxgEs~+L4@41N z_TI0(t(2Sz#0~?6puVQ~i0B0z&RSeZ1D1!WcE$&Svk^<@b;=)S9!FS?dJkld@OY$N z$!bqR$ZB%imeY&@U6OXist0-ci-T^d@m?gL#7V9#^gfOX_1vjDHldT+Q!%&Ng*NZy zm+@+ng2N?p#&L``9$40J)}PfMV#Fx_QLwP4E^Kq&$Zc8fu&9saZOJL$??DR-op8mY zP%E=q5J}y%_MGEh!nc4N4t#DVL?ec}49Le4gWcMY5EBc&XM$|X&;2AE-Uy5)=P&S#@Va|GI`-;1(~sude?bX;X6=t(oEkX>aI zmvR)*TQ8Jc&we6g!<|@+mtKJ~*zswTTUEC|l>O%SS!k zat8leQ(JgyRk5}lp>L}n&eY1+zGL^#He=9>)O>5=Bws=5r%DL-k8XQ(@N%i)&f8Q@ zY=0#kFaRhNN>ev^fKG0Os|(=9({8yz+V~ZVglzH|Am4%zhVxus))Z1tde|jvBW+wh z)O!BWv49U(k z<>2ABkN!;X1fbK7)zzW{Wx+s^lLt6n&ILP{4}uB`gaXaBkbsYa&Uatv;`7oG`50Yq^Wfhd2CM3~Rf9_*E9ma~b|PR@a@n;sIH2riNV84q zXDTxvqgJC8JawE-f3@RhzgDAKmMipD*ecHDy!OgbV|0e5@ZJM7`A_#!O#`xv)pUqK z&d2%@Y$%#XlnsX7q6h@D>!`v!6O)C<#I|)rhLc2wuPvxltP+nata={2E>I#XxgMhf z(cIL@KjW3R`R^;BZF$AWz8Lmx*-cQFFfFO=C5hA%NI76j9_>f+b8S#tD9fcIQu@3T zGg@sd^|vtQ9J#*NzX^GQ2-#JvKtqgGCR@h-A|_@7u?IjhjMcf%vP7OCSGY}~t-V~) zN)7tBK*Dm;w)SN=FnZ5b2pgsAx@7F=m$0yXP1m6b20HC{V2}oD*y5f*xA)qeu#@rg zp}FM}2;RIJ9qyM-XzvBnq*!h@{BJuwz1yaTy3Y+go?B2Yk~>7HcPnEP?1#TzByVlR zN6>t9bAu)IUD2mTIYT#a+aGKpSpI70i^*h3w3Nsyora|G)0 zSyw>;#u^XJ%b>PL_m{RF4%j!*p{(%7@b`soxE};YbvSe#OKym33*c1xT3z_C# zA+Q6RZRfV`75+&Ny0E_}n>RG2X0ogw@6%OsXe=*NYdfhA^4FFZ|H>BH>+DwF=Pe%H zt>&VhMenU$u+;qY%Xy9}BJ-1DsUFFx2GBC9X@{e8;yD3dzo@DK1DL{MVZ#V&lIb&C zfU7`ll2}`h9^WY~8gPT?jbOwh++m#fM6u82#Wcz3mS26qVm02_mN#F~Af7X1ih6Ov zp8FUhNeI#{WZ9iPTtPq2h5-5m2M*O!)Y8a)YCXnBf8eyEN2j9 zyUL`igP_z&XNPkjb4n(B5zGW{HQg~a+sY9)TrzVpTnf`$Qrs~o(?GY#)s>Y{$YRE2 zdyJ8e>C()D(Dz24Ic?C&a={$c>7yIyCLc&6tMrfHH$bgk&)w3ixs9H>I2>J$Bh@~I z2ftSrGZ4lgOV{&#qP$SyB4j}7|E3|UAIFI6!uv|}dBvm#WBi}*KbK?pMTr1_w6baC z-_;>U=sws2K8c5?AL(plGZI5{{yaRlH>DzA>2Qi-(24b{$)bBm3S&U#ylZ~B|HZb> zhB9j!ljo%Mv@z#iV9Vc9I6gL+HW4C$W8=LM&FU^Q9TgDka+qM}SQ%FfN0eyiYks1K zqGpjB`wu45%9%~l4$}&^z3Ie^b!u9y3|Gk308NhV{k6KL7M%$A`hQ03C8FOAxi`~l zc%Ko;0;|Y_RD*~U{%+R_II2de>h@jQlkrQt37PlInAkUyN-tH?lNEg=a#lhzY9{6} zIcuF={RkombtjEdOeAFu*E8_44#|S&Pdsj(kxC9-pLi-=F{QAtXSMhk&lXC1nITew z&Q3DgwC^1__i0%NVS~s7)y#+P?rH{*{#E2fEr?fy7QcEDh6`kV{)%OnJqb~GuSRoc zgw}z5>heDFJg0MH(YHKPbT1m4@Z{aT{=K6X9})B^J=7xk+;_fz%&#EV;N|hLvbS>{ zF$+lf=h*93`vpY~F?C|mH$D-R3tKd{xLY2yMVw=vJPDjtTh=ph?vox{1vElYItmPk zWB^e<#;soZ=SQTmr7!gWn*#;V0o;H6AvK7P7rLi*Om?El z|Ky@8)@Ea?V%!QmhJR5TlY?B=#F@PxXI9)1haWV#m=qgZ0q2dYC>^~c&3%j*^Y+|nue+{7SHCh^(l&L_UzvYd(^=V5CokH zB;8cj;<8={;Yy+)>x-7{zk8y(!OBHTD|%9wM6S)Q{)jJEE1ai4)gSW3>VCepGn8)f6*oSjpc7twTCv^9*v_UuZ^Ef{EysGf;RGYgga7hw zD!<_@!6n;O>;Dtu`28%hy%$TLguI?k04ou4PNskm7ds5niZ-_P4Z4ke-+4Ysu4oeg zLHm+!_@vGI)-s^vs=J|G1!`d**ssr_H`!RAw z`Z5y46&2T*f|>viD#5J7?p=f3Ap3imO`gpDp$!+t@Tz-I%5Op#t3m~B(H--%XM$We z994k1w;Eh`hYnXRc7wncs=B+`t=?PLc(c%-e81*iyWEnD zWBeZrP<2hcjK0x(exJc#A^Jz{(Kl^7;UiS3*aRE0vUziszB=mbkJ{gikhjD}8Y8ye znN|P7e|>EnpY_Ly-k=uV1e_TjSYCeHUcX)MhliDC9D`PqYHG%_?1_3J= zZ9hl6r!#)5;=M(4R}PsTgd*OY6xIVL;G)djKiNRI6-lFb*P6>bzXm^p*(g)PYD?fu z#^L@`81L+?h}?vd7=`Y-9-QIVahvb$ zH83ETIXI_1i{>YkTN*8$0Ybbu2>UXg^CL%?a~y>CgX~t-k{jO%b|(*;*oWLVn{)E6 zFK4KTYF3}id%j!Uy}(tKN{#$c`!BgwH1S8Dp~=bufwv%3((FQ1kD18!xQSA1EjwON z2Ap`A?M7xYADiOOTVG-~Vf4~ZW^XPX;7Y!t?I)F*y;HT0E_>1IBJIaqFdsgPfwWYY zuX?6i^drJ;wx%EyD9V395PDLP)2!FpStg>}-Hb1?RXp}h3%tTki`}%nW~Faj6Q-WP z*Qeot~7k zEUNiBa%Oaef=B**nITI-$_;N$(Fh z!^8@dRbep`P)R12^amQEUzlu##+Y-b%h5qC_n=XJVoA0p9>;O*`8Sq(^*X&diY)O zn=PS3=H20!J1Bh({Y1iVNntJDY|q;2)_Zmbr;a#2xZyxT_S4!ct!_5$#4#fV9IVUd zE#=z(?q1>kao7YwPRFgCWdh0qG!-pOi`1FiXjQlsWWKc2ciKE8Oh*xpuw|% z-9yKuUbS*T*4;ox*X{|GD*4E_m(%F*`d6Peh<3R67Jc4eyaOG#KS^6|O z>cz?*;R)zLt!-z#MqiSO?e>rDx6_t^CX;_H+dUe^MlET2|7vWdK|NpmXslQ;4>t6b zb{r%uD$b0Ls4o4S&!__OqFh3!k%4BQ%LmU&p#{;Nx2&Lpva@I>!VDDhQ6E4e41Oco z6-X!G=( z28mNT-3LwCvG3k8dS#BDs<*Uv>*NTK&?^6kanA3*GM~ zhOqNnX*lT`ksePz(vW;=ki2A8~t&~$A2gF2n9oE%tbWiZ5BGY*H= z=?!&=CT6kK({jr7tiE3jcxL@#tW`h>Bm0ycEOyW>dAQt?u5ag|BzcKX;y8B zgeD22d)A;!7Od<%Ib6NUcmj>z^1c4I8c|&QIUl3Ay4!ZmnCmPR9R#O!4iR6!lSf5? z14TO&>@KU!C!!WWuaq(5>!OE+Q6Bl#S65)rI9p`b_mI+m`_0u)w2(r{^hu12D3ZL! zbfUj1f_n5XMCGb6GAJ>}@2sK)N-CD1z^NJqQk-)#Nysd6;y_~P#JFK~vnA>^;+Mi5lzP z*mq|l_o(OLV#!|gnF8x!C--pmv@xv?0_*Uf7Y(8p&A2k6X|sQRNIK}~zf0GJJfZ~@ zSx^_UhwWhL-E=!31jShy?m%!d_!JF^t=pCb5Zyp%znT2|&jI(8%cGTIz4H@#zw-ND z*)rc}L{o}N;CMXcx=}7eOHr7nYyFHu@o3(*GfwyfGZd|8R;i+7dN>b#aSGRR3o@A| zwe7YZF}9XzRdyw&gX;J7W{lho#c_^W-2Jnpb1zGP)9pun%8J6T-cR?;^#YTZFJOS^ z1O}{(%r(&NXE0OkM+9~PhFMY@MbCIqZy+;ON)O7s>`KWD?ZRh86L^?2WhmK3qgaox zI7g^D)7rRuc3v;wFWR;@Akl@t@qSWzK3?RIyV{!wgkMl^$GbY8x?AO%C#K2`Gn8oWFf0jQTW#9X&G8ucdsq> zwbvk-9_w?onq-6Zh&?svxjIK&BwCg^dhZM3DRdNaWl~A{UV~?L!z4x)qq^sc&78u> z9L%@cyZF!PCq^URr|N3(tmMc5*65XT6*?R&I~& z{sr24yh}hw__hQSw4FgEg)H?9P2Ute?W6b-f8gUUk@?8oS4{!3NOJ!X;tfC>#WfC| z=e>+21qFR6KNooZ;Q2OT52swp>q6^bvj8`jrk6up+m$r+lcZZVT%%)Zmnss4{WM0{ ztF?Vm>}osjCodDtwLS$4ckET|d;Za__`Y3cy1U!Rc$_-0oM2#LW9nz>$96B!tPYF) z*=!!$H+cG{r zS9g{?b^lTE_B&P}k;iqL44|Oeg-eS^qHotva)I+remI3w(* zdw5f1bgo{Q_N-q0fleX&DOczORS@k123T$L0#mc^OYL3LP9yCd@_{TiD+t;9{>zp< zae^tZDj8Mv#acK7p`VsoKV1kj^Y~a@ECq816;g#CBLDBJrKq^p2``H73T5(nBRnOavqN&@Odu3_?c=i3a&`-PO6qI`55uXDYc{O zb)e@DgMS;no52Zq=)WYx5!2HE(N{o3c^G$Ey=j+VtGTXE3ycgzV3Og!?B|Mmy{9YAC;R|-WU7+^qd6NX+Ykg|{@~g?sqCLqD|Equd-&JD@#`%_7 zuc>z+!++15uS|SwQ!n--Kb;7n&C~_(ewd*ng^2wvka~A*Q7M6M?+*+ZYzmMkcxzzW zod=IPHTsq3}l*e+&)yB|Fc>t9IS<(sk>eEzG?o^Yy^?|rJ zKv!`r(p9kLrx5W}rsiD-n^63u6VKZ-};cP0T>NM6X(`$)Z@bJ^b9@b~ zl8c75yYU-u8_lxV$Q3mHILKFcLu>A2rZrs-3qY&O32!eQ7zg;tW@uv%0Ypw0<8~Ii z2jmE*(T6E&<^8l}TJl0C9y{l}D)KWfha_sjpCxg7)=5jG$IaX%Mha-UJ!z|L*S3F)o`YRlLs}qyCG+ZzKbv z+&o=73-a@-w&qPM^57G7POJD;g&SlFe&MCy&!3#tUS(q=ULQSKe(*Lx*=ZbA*L|X( z*7G-~C1Cy{pTB3KUmi^Xo1&>MLjwVS)cx&|$Z262Z`(XRq^5af2VdYUPOUCK0ayhc z#7ic{RE>UMA5=&ry1OTVTm&#vPxu=Jij6Zx$kW>>2G+{imw(ib96T^{>!)6)w> zekrR9M9x_BZ{R*A#(v?B?X6R-tP~ncoGCyAbd!W;&c+mvVHUB$U_gb(ZLVeuY zY~6XVQsQYHYJj8rG-ksdFHxH`#pBF>W@)(u1FGlN~Ol;b#K)0R)l)2+os z=u+bNB^YYY@?75XCZoT>g47GoIXAKeSsGyHurY2GBjWLvali=Y_L`^t1GywNl!g4$ z$Nm2#70$jpR{r2}2nTh21_kHe=^L3#EQJF!0wnsf2Q63WpBKBe{TdhbL&w{S71V!i zs)SFdcG?5Cwpo-b(dME=Y)yC&bsYFqI&*c8RXK(on!4!^b8Zb=E|pMTXDHqO%DHB; zvL#ivL%#wQ2t5WQwRKbH#yn+7oty0vISRj2jw;=wO{IP}q=>Fcxa7sE&?c!rRtQXb zuM`9ZEW~e*Ceg&j20>Gi;Bgoh@hjLk`li(fAx z^1+|Er9WnV>l2#}#Y)DLYFUustiA8|bD>FZH<~xQ(%vqMD!)xel!hONvv0^AnN;h; zzP)Mr!g@eUXMF-m7~Lemy&+OxPh;e`x5j+Qt!!uVbmFx2(l-F|@IW4e45{%M_K=v5 z$6Ix2bcHHaI$*sgxwsDk#CKw>!8<8Z1qYJF#`p)!s*{XrA}eQPr*^bw{bCcIhTr>w z9;EipS?cD80>9uZGl%a=M>nQUsC0Ztbt}G4>_1`d>HB*pFvWN4 z{+&FW!b$`9g(~Nnz|n{e#fF}@Aof2!GcE(4yIUofT9cYKBN2#Nzak5<3+m+Wc1&Dy z2B}u;BNEmm{jr8?`xwh+E9jil_jJ1<&U;BZa#EQjl8w1hiu0?5T+=i+ZbQ`fxv}SL z>H@wptrDnVz!_SLVasr)M- z2S&ugeOfkYNVF1tOM>y%{SH5-owHtDIxwJ31`>V8(;iRCm44Qr+rmHLH1ts*HDQN= z(5vRw%;+-YD+vPc%f;FuqX+G<#m#>GIi=yKZ_+WQdK|rZ@%JgRROOPt(Priuv67tR z**aN^IcqdDWPGcUUQBUV<)dvZXo|NT@s(?aeIMHhX=7inr{!65Mg952ir6BieF8Eo zAL8cWEx`wYX+#qy$sOKAcQebR+nQG8d*4wsHx$SbAYz8WJM#g}gOgnxD`M|_az9O( z#TgdJr+aODZ8TfNlKWhr6-bSG-_M!aFPJhTofq+GXrTuu7MF{SsON1sM$O)yXv~sl zHqsQyvEuZ<@-hAW86Yl9o628e$_u*kr&UHps(qt6q0Jl}KXYbnKH(nnEloc9-ap3_ zsHR0+z}bUp2`;peP0{XE`~p4oA%J@PS3`r**nR(*&9r6n$AA39Gb?9a3Z^@m>0v+) zya}ia$A#_6n`U_vPmI!dvAVi?S&Pn;nJ*?=o^$8>-CgG-S_E zbO{IQnbph9ho-0A+?Oqy)ayp$->x%=o~ui=psi_c_=laeJE_d~dY>?B5X-TO=jGPI z%cXZ^RtX7UoE>levAUElsI5R17x?WC4%!Yx&*t46&ez%{c((LE-Tc|sC&oW=*w$S1s{KQ2%>j7Fvg>u)CwEDXP-7OyVCwfrPp@4d8lsk|TF7uLO_ zjN(~wo2obq#}HJ3utS#;LiQu~$8b1LTDY~>W;>6|o(of&Wt3rk+v1Hjuyk8PW$ezf z1Z9*gni*mg=^?9QLq~{9eDGKpbK?he+h7ErAQ^-QqKQy&`oaAro-sx-ush&8?GS8g z|FdsYjmaG!-||S*Q!+Nb5;%Z3C&m5Ztg-jBjWMGDMkT7QMvGe<+4}`ndy73)7Wv|y zD=7mB4A`m9&Pb?K>GLA3f(DG<^_n~n)`CsNynvwxL3#^QNj8=*Y=Bd zHN)3m!=ESil<1}3NNke&ypi({`;;$G2d@#!@1gmXA?SVAh8mIWa zf`!&DV2m^|!)!)YATvk$eYTb?y^e8l>z? z`bnK%Gh7{t8~#QD3F zwH&;NNx2DWiy12^T8UsA@wIFGDLqotyt?R6T33w7JCa3teO$(1 z1=OiFMrg~#AqT4{!hb`KoYvcGCA$BQ|GeRmkvlZAplR~Wv`rO*0q1qRQdumBLF`c`SwEZ zQ2SqnSP4P3*4x5Ga!KK3;*;qVsrhicWY&w|SIYH_WBhVfWYQyW(JRu_D)Ipqo4?VO zs$c*(%7w>noPUUxZ#96CkQSC9xuyfN2yeDre|AX~V)l1>H`klvXFMKg$@|Ab`>h{8 z!4@5>eW~~A`f8B?yu~TN3LP8-%f>GMOJJl`I^c%C-8gZ{U7jf81A`;Zuf%v}s`IQOqhk9k>$`vzKLltwJSkI|0~RL_DJ2Y(cUUJj5y z6@F}O?oHb-pa%B#oWC%5qSdV-0g)@W=BSH12uS;kmRKfc*^v zLZ_crtc4%ISjdPm_t>fFy#^b6tE!MPOf}kxZEZQvVQC<>{_Kr`B9$rz@JcSBT6PYv zJv%1XwBm!#P zzgFccPa)&x2*)XNc@@TgO|sg*@N<=p^-%ZyzLuSNu4j~&@NC-NPP|MplKRtVfa9Vq z&qRp+eNdVISKDFGfX86fcd$JvNa&p&aSz^x+Rvd9u6N{iP~hR0YxK5#6W+s&Emwtn z#I4*dlHUbd(nO1AyQ&)+t}v@vk>z-SokZJi$&gdZFao^n9F;S9Npi1YZJZCV(fpqt zHw-K^`P?tD4&!}RC9&pin0_#HMD)CbEJWHr+mcp~bnE4tN~bN(Xl2Nh77SAh8jvm25IpC89-HLPaQu_*EF^3f>i5H6-Ju`V$KT4emwKFpqP9iEx2NG|AC!td{blH{Nr zMr&Lt3r)>DoN>S`Ns8YCOSJ>>AYGoRCiVTFbH~k^~rnAHaUhb{9~8 zMRjGSNhI#k3D<6C^fTn-J2+|?Opa@R`AYo}iiTDlCF>y#`PmoE=@k7y?G>ZI={aYo zYwDj(N8e>AHtgR=xc$Pyss-ZCEPu~d07nNr6*EcJs2sq+0rE*xQfB#HP_9mfcd5K> zMH{vM(2G~t?;JANyF4o#!!^rVQ354w-+FG##w{%a`}Y&k0$JL9RK}M@Id$K5%I@RF z&TX8j+J{M+W1@lbvvJiiHR~ML&v|= zPK$33c^i}>z-v~+PgIK@zGFMMZS7C1Y}Fkb98UW9l-Wzp<;-jEs zX6kpSx0m1bO$2({g_c9QXOQ}Z;{}P;+fm%p6)_@a}(wM^3rpLd{UVd%M z1Y}NArm;9KU63SgZye0?$W`-Sw9Z~d$2MzszsBcV9}lr*2ez2R`?*0Ad5_Y6wp_Wf zCschtvmzT1?;eTT6d>+naeOeG!yME<`F|{cIZVpb#g(Lhds>8@cTFXtKZ^(}?<%#b z_S0kW4Iqrxd+mr|PvqksYp{zjFBbZB>_MdLhb0w+Ip;t>e$!U7?w`y8o2E9{kg~RaQq;Y-URhzhXPi-=sYR#C)xK^_mQlsW#zPCpAqylegVD>%+gz>^H z9G7hpr=^MNuqmQSpE)#+Sevmd0wv5eDvNIEYH4J2>VibY#FGeVVWy!6rbGJhjxXC^ zzmtNT7ab>h=^bh@bB;@K%F@~J60Qp3%T45reo?AaG=gQ^Oq4DWW(_w*VUilZumq9*lWh28mwb1NL8?8uIuL+rpm$C1Ptf! zWEN;aA{n;-Fd52@%;y<1MCp7A5+V6Iy2|9%c%6#&7?)tB6h%@pvDmxF2|4tSUcWmN zJ%jkD-!|)s4MP_M=(G5ZjB~Kt5-t(q?F#g2{!(N99L+&dDm+%LH9q8~uS0^B&Jlg2 z*lZX{j1(;DI>Z_}p~U{XTs_u_f0j93&<>j7;1bG&{^eGZFI{j!}Fy#b(37=N2;2!-pUid#_X5^yYvzxc}y#ovydGGV&9{Dy*wpH zlFqvYp_jK2c*Hsb9>cvsrk;r{kD1rl0({NiiJs2#getuZp?grWtAd zG3C@~Wwt`1EV903hZqohnj*rs#eJ=uG{|f35~&>|TGdjSCS)REU{)J?NuPAu&-j$M z@aRv!TCB3n^it9T_h|-fH1GyB&Qlr0Q%SOWt!AD_{KQG=ai~rf;Jh_%R<4@PzjsBG z`1Dyz1d8Oc6y+(0@es+h43P zZ#_tF@;HK@@kko*fe~e@cEsd!xh8R%D$htF8r*mpv}tEExgwrR`{mFdDiOrJv-67J_Aq~OCb%8UPdg313xGf^b+tG z`9b3YOudz$(G4;wp}G*Vw0CSJhDsW>1eP-*Wo1ehWmX3#!4dsvxvrP zWlAZH+1OX1(||)U)!Of#dz5xzKoGu0XafVs=ms3ePHp2)hRNpji!^vGKb_qS)8Mz! z3z~W_kEwj3JZeavm&Gd<`V+sV1D}{{S^D`_{VIhY_<2?Bzq*cE83{`)bVF;DF8#br z<{2Dl<1}0u!5F>+eNYyru;w9t!m4kf;r-Iu=lQQWL97Hgiz~%IoEOy3k31B?y2(Tn z4STXtJOcckwPmjEa$EjaZ;^1UU;HNOMEUxTQTXVvlcqxzQy{w;c>L*pn=6mlmtZLh z_fVg>p`Sl^?p6$&L^cN#bClM+qWY?$sBQah1WY;mZT=j;+8&dY@i?)l42iR|lop1{ z0(EDi@e!mhD_YFsJ~6ympe1-MjR@%rKpwE{WbahSD$K^&;0eomq(0U>!uGrghl9_> zAQI2#YZA7XzXyABhEQPMN>c+L-c9V#Z3_@hg6BEY20UpTgag@soo|wD{02N?2mwK1 zZ4xZ3x>xo>7F#`lrc2Yg%Y#@x;E8OnRcRiSxF+3(f?}(0^+_vXg7=Z6e^Mh#&+cR) zr@V-yVi=;&1^xOPV3Sg9e2*KFhdj;jtDkIjGnF%_=kte z(9ScEvMMYT`R|f*s9~>4=)omfAR3ybtr~k&VQJe_e9C@t7g|=r=*>Os8r&U$<+;19 zqYs&hTay&QRC`T1_2aB=L1}xgNw0FNkl^vJc4R@RO7?Cmqi?~hsl1SJcZZQ@`S;8s zW4=Zf3i80?ed&yS?U@x~$yI)u6b zVX6$f@8vTU=rVeIhZRgsuxRJZFXgU(_+$%lUr{_(_nXV_CORPXeQn3VD*8rEvR1w$ zz~EFDcLT+~vgD@~3V+qMrxEyWg2kQIHaja0iqNz4!rk^e4QdY-GT#JwS;dPh#`S!VR6(M5Hxwkzs0v@J za~qrK)qN2SiiLhc@_wy;=-_YKZ!!!K@0u3|&_rN3WIOImmvjSBMXFm&N%eiV!N4D` z`Ow+6>5>B>>dp3;*}~hBPd1_NrdK{p@W>9Xi1*cYLk85LQtz+)5~L=^p@_hd2iRck zQw7HQpxjS?9wviSiU=cm`K+kqJw}&JU35%IR=%dz^|F}o4W_bYW#JE+E-XCP7{Af? zd-IMCV2?R@YfOvDR1+$`;2s_VxFVZF9Y`4(>~XS19Cg+);KE2s*8mKwV>}fWwv6X= zNrkFU#GL5y*;LW{QNed|_cv+_eXh^)>*Xuqn#F_iY*xx$`%CaPFE_pHSgvK;NwB5Y z(nZaokO7D`y%_j*8x4O1i}4^rYNotXABkYQeeUeqh<=EL*RA8QZ})#5x<1kU7AL4a z*{9!CU6*aqxE`G4FV9S_0fUBkG8zhayw|?DI15*QP@AuADh>;SThri?Z9Ecd3&24% zzfQ2H_Kjq;OyRk?7y=LZgm#xIT1;7yb+LlpvqHe{^(1@Ktf+7Xo9t~q{M`XRf)#8o zi;NQ3L0!CyvS(D-p$ zjrPy-Ok@d*Hdk%~wO-G4m5R&0Uy?>DG*G{)_w$#=1k@tlP=Xd)ECpXem1`0sVIN5y zSjS#g%<=-~x}i8(=<$woTz|hb@W8`A3xWJmeMB0(iQKpr9gHV80r9g!Jp7h=QcPZ4 z>pDUwczN1eK6#TevZ^6|dObwDs`H_dRLXWC*eelDDU?E{|Ba8PVvH zNLfj2dHNE2=+-wCsE7D0gwzM!h@InbgCqKm11U2XJ4E|!^cq-3Q>tZ!Mng@6GattA zR*ce!cWbK|8zzJ_Tlbj0+ms0TsP#aY2zqdNQ+dWh6r#K(T%o_S}91 zl+<(BO>W>GVjtPnw&Dt{qe^z)<++ggE2z^kGa?=DK~O6y5XRU)JD0T<&g4C}v13Gn zz^5I~eT{#ml?*Br*j48Xjv++|ks-XSdO;QI7Bn&Khoo88$BPS;zsDN>0h-$Rs`PRXO7!V_v-?x)y`%P}`3iSj~ zSX1vZV0Ts!*5-HxLCdCwpY)a(*U;Tq!bkpR*!th;C@Hcjl z?h7h^#i4>gg3vD>Q=dON-AP&wOz8AX6CBWN7_a?gHxsS_x}FLPG7#H&cuxn zbxt;9K7Ijuya7tB*)rEAqlJd|x6s|9j3bKCbPkD%WS9Me3rCLIaXL?CfRP$l`G7m- zWwKSvn7b79`$<5DOa87CH#MLWV^(DUcl6r~NCG0D(mlTSzL?}IT4Q!^y zCv&6Z<0E@5RRxd!z;UU^L0?#^yA$ibOK!iXr?Z=Tc5^3wZ^$3@Z_>P^*7z)=BSg+v+z{IioRPEy^p{GSC5^^jA@E_xOO2h zv&9Ab1z;cFdpo|4^jaFiCo(ok;9mwKSMB1On@0T~&Ta?6I*3jSFtvE93 zr-lS5K|vlNdWwRhx6e+%0PvVIEyd{7Drg&S4dSKK?Fhw zRXv??wsqjAfi?W;8AJFsSb7aBfAkMde3{7(ggD|ul|XEH!q^$rR@B?1u#aO}m3C~W zd#~c1cOThR>KkDkB2x<`twdh!O{8^j#7L(xU;s{1K6FP+%1)-@ic$)!1GnYh2qRI; z+-~+~8cJ zjwy>@N?D>gCmHD&x#K|ZN&eFw+`4VK(!eg8|4 z=s!TQPhPNk@yq+?p4X$d+$4~YV;$icGwOA8MMRZaw)YxOqXUdX6VM$Cr?rZvXi**QgJw1Rv%5;w#p zBKK=&`3a8uCmBio$Q`T^y^9JK%fZumF;9$$0ruWEcg?;?7z^Ah&t9;PeA00s!@IBP zVSW3JM9!HOUJJDb#+bfaF~n6d+YOi1-auCWqBB(iK9LLV@@2ZEQARG?T8kkQQi4zu z!=Kmjz)YTrSjFlYNHLOc{7j}m5^VLtTE7B$yCh=>`K1LS$HVb)Q0CyWn`9kATpCz4 zj#ap|fG3!m|ERz9Dcmvdq7UupcL7#pI@vDEjs$Tazg*0T>=mkJL~gratrcn7#;@fY;&zyF$RDYyyWA<@;V|oRRkF;{N2=V8&t<*# zT=~*LdlDaZt9sTKn0yss6y1L9OX>eQx-)zFc_#O2X$bONZ-?ch@x^VQo7|DH_=U{e zitUGRY{mD3_TYzJ)+k2u_5s-DwijGEkC>R#3i}W z5;zFOe8K>|r_9#et7jD{A}LiouEzLDP0Hrw@AU`8CyT~i_0rBTk1X52Sypq4}T5=@BJF+kC7wpNB%s6rmZrE4YjZ@*3i&n_q*0- zjuFL?bPk_)e=G`2i6Mj_{%9WpP)z^TByA z{z_&90OC@+aIE?-_g;YhxIAE((-TngYPkP}8=E1B`s&iHkK4Q7u;QWVzT}n{|D~94 zXXxx`e--qncs^+Mr~Sn`GnPo^29#=wVa6b*A0~?L7e&i}sB(!51AJa>xdDC8m*uD+ zKRr7t{0w&7#UrzUbTX4gH30Al1nMlv)Y=F34`zjZI<)Of-*pRi`+ilwmE5C>42t6v zOmx(GE)n&S{|hUa;y^V`;@ZuAS3$d%{)cXr-4@%GX)Z%3vt=A~=^8ht5OwQX7{ zmxO*h?ZhSIzr#`YB~c2QQ`BOA?7G~!xDFxGzc4{Wo^$hNsS>3#t5|7X$lxHJPnYU% z$^#33N|ZqHz6q?)Pu#I1XQ=j19*aHH~-IOra>wpaUYwaBXpi7_lBY7&*}SNLq& z4m7= zqFNIw9I+g{m8S!-=euZpXlGJMSs{VnfF|mH7AN)fF_pNx=FJ#KdY4R@8^fno&Q*HD z+T`J?y0*$-G2CT0tfX|3TrGD<;}3dS7yP>yUO)~#adXuI2Au})S-pO^pF5TX@-}be z(M$aK=j2Q^11-+f9*Vy#`TgYuJhf4^P}<=TuIrjBToCsKam}U}`gx0>a5qYV!UqS0 zoBw!qjjikDx5svMP_b`4n12_`pMMw2E=19EN{aD;99(`i7rS74<=F+?E!y{maja<( zbg)pbZOi`Odz6kO745h~D=gPPgJ#Z-?>;pm_EdLIeEVzF1p`5VUq6tt9(E2_dgP5# zb}vw|4f>rD8Gjm!YN@#y@PdqMfB~pzFl2jtQZ{e$CPfo;ry_Y}VlB7!p>s6q?7+`E zGriLas0pim{oDj(D^GZ$0Drg|-!Dy5M|KfCaK~Xe_y?lmH9a8cUXt$y7QOFrHNU<{ zF%oh*ziV}RJRQRd3PpzYhrff3N9@d6MlztP^r3S#X~NN@MuMQUj(D4!jy{=dS#*3H z&T7>OTkVpmVj{{z(i1+$iJ(c#{R~}XP-HDY*mTICa(3GUVOHRXpVDp_cp#2A?R|jA z%Y>o==D3wW_=ax@yOC&mH-+q6Fs+&en>_WLn<&4fZELW!bzMv%Cl`Hbh5-BHjjESj z6_$20E!Tqcra@Xr4R7vMk*`<>@H*M0_ta3$>$ekiZ<77gl%+xMVyg=QcPkQram6kO^&_dHC~ z+nd0X`tE3Tc2~?qc$zSpr4Dv%b`3n-Ly$LyX)D8WNV|%nHQxK5d>3lp}EW0SgKFxLJm)V$$+*JoM zVj1`CbR+R0=MBmYi@PttJ)Gqo#w^Gq!!+ndrR=9K6SdQWnruQJ89)~2g73P;5PF`AUehE;_AZRQ_{Xm_9$>#o zgDb5HobMFY2|M|)J`$3?S%;@M?v`m_=#63L5Z1x4rEDv$3 zl~q0Xj$|QHwdQ=6G8?1|3lX-0u}=}Nr+vIUI`yZ^tt`WPLT1H`3xjr!IlV!zex~EZ zu{Y!Z`tZ)_EK)?|JF)-86Ajv_R*%F>VZQAw=0kSJ_$6D6`_|8H$Mw_bCOPKPswa+2> z^L?(}400$WSAL1t85s~ROm)`@A?e04pP|nF0mz?cIk{PByANvZdA|S zBBifpSvZV4FPn3oRykF)Pz2=@J=dyaS&(bHxh+JR zDH;BluoKcBN6QB+a1T9@0{B>zYKnVtZe_pKfBj0pU!x^B*LLK0;%uLZdR8&(_Mz`J zg(u$W(t1{ls1lO(X+egjk?nWg39(ZM;U#Jk0<18himXI$-M0?HzT67zn3#%7ap9i# z6J^r;to_A3w=ZfJ5Y%aT?t#r;@!*jx_e}M1j-f=-ULD=XN1ETOriA^Pi8Yf3$>E{) zF3THrAWqS(l{@{m>-O1@=n?xYa$J(nV6%gBBK&H-RA&O{AwH;vU)yezCRo=}N>S?-W~`I_}jsW8TDh1HFv880d<>3k}ouvb7BL z@7uqQ9sZqf#>&FTX_RqaBDz$z?PI?!Wg2EZ0=0tejR6LOlqD@%IMzPlqlX&M=D4=iaRN$I|DEAu@mt~XpQX>b)f z?w!7qFP103BV)Nki|6%VYX!}>*SGZj>K3NtDB3)_l{|_wj&rQf7}S*VmU=dN?e#U8 z#I7>Vz$)=LMjIPU@zwIOCL366dhH6qjbCflk-mpoTXj9NwOEFn8U@Y+9k#E*zN z%%{tQy$@;D2ahHSG8k!5c|jA6M>^ zY&d0dK#5s;`hhF2Z|M$r6!DpjhpUJ4j=om*``DgzD7WGg4653n^-S)N7RivxsNk?%p){rmCO*TwFT1c7k~ zagqWtV9clRHtz3RxHvOD+GmWVE)Ucj{H%v^IAoAbzsvB+!PEO%=c(DxKHuIVgrY$3 zbM`S8K*X0aMA?OM%ehtjGw<16At)#tJRF7EKWjiYB{#@|jzc0~m8M74e=S2J>Y1Qg9{R8NW5J=hWrr;-q~FvFA$M689|zt{UhQ+PuV=ve(DkECRfF{V(63 zS^J0#e8OyBtfEllSad-A_NOF__D_N&I%_gkGN%^ob5^^GyzaDMJ{}~fFG=QP$_X2` zN@3K1r_x6^*v{BIn`dUPKGHM(tvUB>e+Q4$#tN@kC;Y@4{xYfJ^nJ(AIJuH%uAY$N zG=*>NhxBw_I!vvNbFZbD%oFen+sJEcDPO4FxjfbJohOBs4rbn?NW~B51bQE+i{mST6;9?`9@b3&+!@%f0b=tT6jj^5)z5)Wbn7}hMX!{fP&htsuI zds)IclpqCfIB-VR&FhQeD{}O*)Xst;c(42Qi;`txtA_i^oApFVD~~r!E?~n`KX3pJ zt51ZtW|0e~BA%}WRegfEM@9Bz6(F;MV0`6xn$NBM299f^POi?vXANUiUgTGf6~gZy zH{&^-=e>kY0_pnhck#S^z;`=Y=08H3J4st|)~&ZTSss!ioBA9SV&MU(ljQ(5J1>6s zic>j8&5n0tibAwCdI^EVx${q9Htlax4iDZa$=9!sThrc4RQi|gue+32NxknXPYTr1 z#{0i{ZY4n|oQrlJTZor*PzQ7q0E6KZx;aE%CB#!PEArbmgxzg?DhiSE%jT}B3EGF6 zw$>W;4THA{5}-gp{bsQM`HS~<^yB@mz`HgX?fWvymq&;3twGOF%xjH&5S>kEbymfl zH%EAS`+3i}(c;g9x8r$PgrIf zV!fAtfR961&X1l#Y4@DIOMzWK$Yhd)%DM(^f2hmR-ZhSGd2xHawf(kDUlbX^BID*H zn?1;z_vMFR7WldLNq$yfyYZRLcUCe&@guYy` z$v^|75REJ*AP{iD12k5PUiI@n6CuidNjl&hFuZROz4v@Uh_g;Nc#M0kn7Syvq;AS3 zxaSEJG_Pp~@Th&BZgD6x$3>@%j;7OR6Fs%Ei50cLv1t;ij~!!Q@xyUkjun zKz*i!RBzPZBm01^Az;i+;Ly{u3y7^v0d{Y8Rv<;h+HNMSh)t&>n-XNqSOoaBO9`Yt zsLJV^^Qlkdqe#UQTCG zH-*vv>N(~b3qO_H#{jpAbuP!)%c(O{g2|p+zEj-?8#e>*=4ZKoHeniRSuYDh;;?qZ z9jJ>#Efllm>3TBuXcu@X3m{128Sr@)hyx8L{Es=k3htKz|6O-Z25sxBM2GhY%kMYc zt96RV$yU6m8g|gp$cER6XN3|ZAz3wW&J;GcxLr*1stDZMktiBvn4z_;&uISB^>m-F zmr!6mga3sXRgx@1kcn>bS4?dpZumhZjX4P+-=;``3TPJ`BKvJI1P)3W3+QA{D=3k4p2Yvc&E@c|NH~*tBIrSg%?p{Ukp2 zm*Z;F^DBizuz(s zpFSi3=FNOXTzBAT7%m`FhOy)YpyhEvgZKX3121?kZ#-L*Zn?P1o?8?p4)k0k<3{i7 zB8fa8L=UbPxIqJ4gLbks!z<=bbqW;*S8xihLT0b|C>;FxiyG{D!AN)8H>z21x2)t-zG2B?SqcC+@A*JL35#72=DQ~R`9{x{ zWNF=2Iy;0}i&RZ#G=5W{gQ5=9HE&-@@}9Ra7TW@9bTVis*UoJ5@IV(+K{qIiQ55*+ zzTg3SzXR{tfxN}j*|5LQ8NBPT$77|9Zno{9qs{15w{>R=UdYWY*()H(+sB@XaT>jhDYvp3p%9Bp}uube6nb)7K%r9mQajTEqausE} zM^syUo{830;3eQZcHIS-!ke=T9A@T^_YucGM3>v2;pSCx)z)_f=UUfkRa^AURRY=d z(m$IF%BaP|SXnjdiOFPR_HUBS+o8Ti>CCf)=D958a8LJPDG{s;bo9^7g;} zwWHgHsj5Et9JpUzsOpFzc6jEBaj%DUCPmUGA=N9FAvbHuz?%8BGWwu!^39VB4IETF z(Z}U7K-8C5aX7e2MEfjVMB1s6s{%DeTmGR=E7TqrLZ${JS&IT9c;+L=_v|5&k}tp;CfRQiw0}Yb$)N2X$GstKA1pj?qC_2<3Ve zibyIbYJ^3q$x+>?$^-l0oz;2l&^>fUsH8C%=>=JA!ru7}^*4U8xe7(1DMD+u&SBna>Oe&&H@aos+$~}!TsZu+xUvU0@|cnVw!h#WgLni!1mC)v|6(p} z3>RXqKG=*T(Sdq1i2scsbMjm)w0IvFSF^n}_dS{XKJK6ul&t z27iH)J=8-4cj?VsOzLk{Wr3b|A}Y;q1vwGL%eIn$=LDgNhWPh%2xnecA8BwJl$zE9 zb(I4VPo{|9Bi1XBuXC-x#nq(ou^7w}GqY@^ji^`xknaHjX!u?;=HyQnE5=?ZHiRUNj`xE8} zWK2n&64F194-dp#-(GzJ8XTLqJ6-{!<>~>NHdYrrC!FE%{q*#1a}hzO?_(Y(Ww6yR zRRnp0PmbbdDq!5}dTdTw*JW;O7*_Tg2|C;&zg<}&{dcPa`p0hb@I9$oNjFO&)^e8* z{N>e4#s20zK+X9-u0dZqsb1NlYyvBc#7%a#wRC9HR!K<=Hp#@?5CYh7bQN$w0Y)4EJ_#(07Pi16t1uQxYHD`n=u#Z1 zhIynv5Ct%aN;-O*13!;DQmhUer$QUY3}W`On0dzEAFoJWh}xN^wqhFo@iWh@&Zk4` zJ`_DbzbFWTdy<2Y()1HNxcga2nzGsI=Y`^NL=Dc_OX%7*S!DAcB{N8^Ade!}Yv+)a zte%OUH>5eS#HA>J;T?D;p3bP{e}PHxU`#K+>fB37fD874i01LT0NeJSc@&`g27X2a zdwB%`Y&}EWmv-!%hfebkR&zE%CTFfTm?BBmmMSlI(?<52kZc;6M2=LBprD=P_Sjl} zGr~KTYqH;K_Ae*zf|vKIVnS;UC=cSWe%uhjGz_0U5hZD>=7S|h7f05a$GCQW0Xh-v z2=ztE;UKf0(SjR!4-rXt25JZ?K|o3kQ~9(Xt!UK_6Un>->rNLE3q-%n2vuEEX5h3H*grm~&+74mIydG@^gB$9*{dJ= z!X)|hk*2BXj7;#K!IC-VD;O+W@K#%Y07|NTbVjl_B=JLZ9|kVQ19DcHh)oM-*m(a+CHfk@Nt3VHhCA3dEl1mw*pP1?3MBaRK9txR z`op>E1A6X z$@$?p(Nkq>>?Fm4N(8Vb3RMB=I#2*CpDuBfBQkj4?qJ)#HR0=k73Bd9{4``Uek`t9 zYxkjafL%_R(j}_$U3R5Qq;7ryRoIS+g7Yav;e`TY@6Ck9cBGq^(@F*<@;c(q&2-_q z`6U?dCbnDOvZLyjlfH%hD1s+}%)Nxu- zePa+!xJ#VzDx&NqD}y>Muvf&(%E=Gcq&XxYoq)$Eh7s=6ZmIfMK6g2hv$5>GBxhAC1GK}jM!!ek}Z zF+LNLD7WUTb0Y>nJ3HkAtT8@g3auTvpi9GpazCeK5WfH3)z>G}{;YZ_s!Jk@?%h!i zlwA8cHZQ@7UTm+XWnr|cT2TUnF8qGH8S2UpIHDjoSHKF?0<&f%!;=?Ao%c<3^kVKB zhS~nxCu`=5O#u46k+&g|G2n>`R4G$#yr@M#1s}oZz@n$q5oEA3f^X&hbU>b3aYh-3 zyY`l}Mj#M<61)|-@5bvyNxbjk3Hbwqc8^qtm8;7#(a{EvY&uhOc@B=&2AeBm6v&aM z`2+w1x2qlsT|1QjKfNPkohghWe4f8a5!xCM7(ETB(RfEcZ0_M(%CpEUVd-nv8mePl zwsZH>f~7X>oC*4XAieP$1jfhs^P4Dz&mTlKC0|5is1S_|fZXw|yRR*|RgB}uZxfGd zz3$i8=N{s@_PaOd3$AY-1~@l8?Q0vFx?f7KT{l0*6U(3oP~r(XBBM+h5|3NF9T>!7 zp=soJkoXJoTQ7g)WH%!U@OZ%B`hkJAr(*-akpqg!Ha~YlJ zdkOGk*Wor1ojF;ogK%N2$Ma?kkl=YOH*e|Zf&14bqB2fF+DxbrbL2$m^z^Z#jyv{8 z$b95|$auJI^-OgEA)TqDl7i62T^+a^;N9`Z4vkfsv9}Xx{8gWp>2DnXb;;lJWR5@d zBzYkhCBggX01CZ$?FPhlr$kXz0}xx;X4VJjIhqLY?4ToI?5x5-i!34FU+o%K8Esv9 zon(44ltmzZ+oAWL((xH!(|THF(tnSJ!Ch#`OP8CCpW74ixcIRv-{Up3*r-jBoJVb8F?;(IcngI>u1z_QHEcq*Ke6iKWT~`+?2FB3fpF!HIvcc%4-sD-hvM%{hzgF( zjxxU!E!@U4KduBLckP4wASsAJee&jZj70OEsUmOZVAcr#qo}+)c0tgeT^h}N(aGK&eDAPv3XupzpN#fUNA0*;tI_vhx zZs?s0j>LX%!m)L>^c(yxC}k#B&9c%?Zw2Lh^Dw@gMAJ4I>b-DYfX2G(A*^GH0m81T zvSLs+fmn3+OU1+nTgee?1+Hx~4cHYt)Dlg5PI~FdEB9MpCi{^%FY=dJ2TewpBCE20 zy5K)`kq{4+VHkhagjh_AS~waF1dSgN2eepcCsL?c*wkrOTX37SXH~zA^^n^br~}lh zofL}WJeU@mk1b=xYQLu0XSe%)`|%L|O}!QtL-&BVFN+uk9pAi#;-KSmBGpf$%}`-$ z{x|*G#=ukF%dzAGT^8+0*2L$LAl;;L1jx1-mdm4Y5CS#j;-B4xkaiCZ?iLIRJC`yJ zDUfrDa#FEbS=_HU-xE|LDG*jb!6DvJ!XAH;;|e?Gv-#KgSt7ExNI-Qr4|Q9m?^BOX0G z`Hj4=^e!!@zON~_aqJodze&}CL=POR+bsK&p9_$C{;ufTN?>!!{wKftE8M@t-o;NO zr#_h}dk+Uts2VP<(%zjrd{*I$56p>~K~dczk1`}-svru2qa*tA`XAiVrWpt51WKB5 zT|34!_)rhnbOSWJS~WQ#O#k4TrBCL87~AK+=LbW39{4tgD(O1UP|HrA=);TbKNf?<+RFP^m)`S`-0^kpqSbC0sJ}a zO@P+tZo{{KG?e_OtSo{XW1tsmBMX$(pUnL?BLuI+P-}Mh}VrRe74s z80L2>?#0nf8;jk^2cA5`ENyWdm%0*HB`s7MuQ z$fW95iDNguc`#0QJ;+b6=Z_5*XtGq4|E#o`dX11+%-d+!cvdY3DhE_e8&asM0e z%#N@H(%{#zxvzUxX=#hd%^d`u*Zg3cAD!?u7{=3jq?Sj>GyOe>|05(7Q8pV=Lk;q0 zRs1HKEa;qfz#y|HVR_s4k|6Ijfd;P<=pRP-aA_@gISHa=bUo6pvaTEGVArkjli;7F z1?B1b0c!*BM`c>~@wGb1LhJFO0{`YL$=o0bS(YigTF>VaR@%*Z? z@mJO%41T}i*-8fY%$T+1K5C{%f@}?jIDLJ#JrFOoAsq? z&n~ZNelu#@al5V!YW{^dR2j{BIJ{0C{>duk?+5Y2?c2B6G315*V8!s}B&i&Nx54uH zi9m};LB&hxXGJl>k8Y=WeP-M8ujvitWSG2MC3$D|pyku}nLaTX36%_^1g$9;I~nU^ zKJ24km|x~cul5ELNXLsuhtKNbuNsBCzO3x#W_sUI`P)$PE5w7xG1$ry>+BgS%=kFo z(+=Kr^TP}Bb_9jS2e~Qa?nI0Du?s)cX9;Eb)8hOx+|?WmlMzLYhrQy!uXiifflcg6 z;P`M%)Ys~Uur3NI^D8W^y=L~+0O9*ZlZE`V!2f7o!loL=z%AnZP5Xe`qsR1J^TEKq z){biJ2hzeA8GKeolhH#lP<>o1b(p?wlAimm-e0iEZCg;JILlEQG))FKZ$*ga6R074 zG^3;DYp>j@Ukq<(9ET_AcONN-rlY%Gv%pL14U~?d2GUi4m7=igO}1h~6bP`@?Er#& zKXM2;8|=nw_AMZL8Y)c%ZHH&wz4&lnliDNioHP1@Iw+}Ft zEl@yPLQeJ%QD7y)XFsjgUH&*7tC~eU$0Sq;#rF8;( zm%-bdplkmh7IZp}_J=XP^thp~2h8U`M}S&{;!Z_hnge zjHJ>4lmBGO>DB3(&;M%y=zS~+tO5KLS}T}uOwSQIeUtKz0YNkxQgd9dAd=@bny|cD zqX#9z6#Dh99cAxhX8KXU9kcwFZH?(pHsWCo_cCRwFyC!0%Oo)mZ=o7bp$W{>R=2Mfhl6Hp*^D%HQNgwo5Dr zE!~a1$~-|2%1|S17m__b1qs>klumO6j_@MtRCyXt>l6*eOEU4G_qyhbi2%J4U@h*t zhkT|@@`uYQ2%N{y&;v*n4MS4_sUjfNsiNfc_)z9bwPPtOqtDbK!pWyi!)^@t?sqPO zytKZ~Vj2^nzHwG8S3C)9^ODR9biw`CE%4x03@0wYz#V_Rz>a2t>^lE+a0EE=sH47m zJcm!6cIE63EPiif@$>#{Iy5Fee2j&`C1YDlJl=b`0umi#5sTRmKugzsJGIy{ zqd7Q5)2^_r#yQbUkU$51kvTlp3bUimv?X#!_=h=G zk7>oN0~;s}Ufx~_=*dl>R0%kI>lb2dCwQzHMdp zT3M98x@5*Z6{r6u+&jMHB}h34zas6|_e6kr_RuD1dd`(LrXmas@POSfq*u-$S!Fp` z-*U3#1SnzX9zy*~T0{Wr8z7qHuL6^GHL!UYCFCu8*`A0$gIO{0W8cIreLW-DTx@$} zo=U_WEvGF6@g`YXjO=LTd0+j}*fY}Ne(b(rba2d#lPmmxGa>L1D@*bOW_3QF ze}~)|QI_Zx3*s$I+{+n``kleWz$|b`@VN77AgdA?84N58w4OzkDLs)W*~4Q6*uJ%Y zVn$0~Cvso|K;y?RbmgVc+55wD*$$tyZf8YuW<>z89x!o>RRLXFv35{!%xK5xu+B!p zb)EIK03}2(fO}z%$J7A)CS*2{8zd&cvvPGI@uwb7@rtAm-Z;tOsPz8Zjg31&o|lDe zk**^okI!#`ZE&j5v0-3QxfCKs3Ri24M%wshb5-xRQ|z$eCQ2^?Lj4W@`MhvUB-P!M%err8x^<@4q9@ToNAWevXJ0KxcvO zYS8=TKFX`4GktE`I3$QxwMG;_Dk30L0|OPL^0$K2h%bo)wFJQNI1P-ZD9u<5%LBWA zQmO=EM8b6pmiGLP-mn5cC3s_Z#$_R?6pCQ}UZMM8)d;S<5^Q=3j1(+iL95c>_OsiS zbV}r(W+RJqp8K`N?>IIMVr1CK0X!eXx1!^k~g*Z z?fs)>sR$6n`&;w^Fn-o=f`4HLc}2&EyTYPYPz?vGcNUaO;^4eH+J*Wnmao^>g2vJY zhsMm9dZ(^`ZJrdYjr7g9(RbdUUJ*VB`z1pB*Iu*Z6TCeD%ODNjPvT3)psi-)I@#jP z+bP!-{;X6{f-w_;%uS14`6FR&(XqevSvItd4l_q(t=bfq*2;F;ady!wUO#Cf4%CF% zgy^Sq6K&L(B=Q4W&qk?d?qk-ft? z_Q)n%BvB}P@5spBWD`R69_O6j<^B2oZnypdo!50;&&TuexIcz;1u^6A7VQ+wv`Ehs zI?%TLp~HqvrKO_oW4?AJ1`kgBPJzm}_Qd)MM4wFt_tfeZ7LxI`;2;xN-16h`+4syV zVbe!@uU`Ml)4+KiT=Gg%!0qi6PW(yd280hkxgV9qjg}@7Ygm%bB>V2((!T(7aru25kjhoyu*xK z_&8F-oms+CFNk)gI@hp5VIEH|E;k*Y9dR$71aEB4X6E`evJJF(z0yk_$Ne4MDJS!i z=BX`0;!?13kc4F%Lj~n+Pt-A>e9WpNLCgxgwG`r+)HkRcw)cPeZoj4n-i`oM``3|8 zOeph~5Bt|^-mIv;Bl@R#KQBKmUf>yV|MI;S5+{Y=tuN~5bG^$6jCs@+5391gCK#K( z+`Qsb0Z@cl3DFzZads5My1GjCex=yO?kl=i-OHr%^!g=Qn{^3cAmCe&$2E z7-noE0%{K&8{N)(=kCo-gJKM&3{FYD`ITYUydU|;@xBUu01}lTMShTG4K^i4pn#a_pC_>20E$h@&aZ%WR3kUUj&K$} zFDP$uk@>Byn^3k344S}`ld(2?pv>xcapbgLdofU|SA2v=i_%+>+aFUB^1t1QKE z(8T62j%t=Ma$;1+WS zKtZwIVXgU3=d5fcc>bVqrn+)M){}RHtSP-V!$LwdCRtg5jTpM@whD#!JeI8Pd56ky2iN zXBsf$lG@xSPg3=BX|9u2k65-hr)UuU`i~ zOpmZ(pp0#j1iffZ=1pvi@8^EHjr|hxtD+tKZ0V?v0JFI9&`e)w@`_PKKR6v6v}u7X z+Mm*=HU{{{x-*DJUqH(_cBkYVY_i=fqzfNJ&fOPxCsW&{NQ1iR3tLJ675xznLINTO$oo5fZA&lhMaGd@2>wenV?PQO|ASUY#{IpH# z9>tP*%EGhQ!P~VH8lJrOpu~-;asq)%_6Fm!+brbRsZoS!;8fNTBiU+ziU^vA{LkDC zoQz~HUNje1d#U>((M7MxxpBm|u?2>n+*~Y3 zhW-+xYY0RbxRJN+LFNWo$C~e0G~j-daDs>bC-a+Q3#yt&>qK(ee~reCcz?O{mO(&Q z;!wzyxY>1Dk0)1iX^pUsU-Q!%uEnd)pm_?+{ab;jZ!<3|KQjA!I>Hj^fV^!3fPut{ zaxC~qciWibh=5Mfp9cv%(}jQQt(5he_&=GkhVMq0ML%N^pnu%OfvtS}gcq0wXg=mx z{~Il$gglWepukPkFomGr)<1#ZJoI$?LQG4f6y5<5&yThC8~aN=EhD?ol1O%*5=uoA z*T2s^JhV_9l2f%+DpYULqDhMAn7o9Vx?oJN;i7jSC{d=?+{#$MkS9gzHymbnRApQ;!H@q-~w>ZD=sY~ z3VEGQ&eDirZLpNH>?bpwv1V#an1>6++}7alr6&?B&M&=jfy-wkPuG_0-(-5^KwZ`8 zEYt37op6rf*|_)D!1VNEGa0;F!7n!I+$m|rofoVL^Phe7i91>BT_GbWj*}+^I4tKY zC!uFqcYa)teWQXf=L@bDb~pKV!H^r+v;!9{M`-2&0uTjAl7vRr?yY10o!1_>)SVQ% zd{E6LcN!OWdHE~{X+VzinkXSGihn#I+c0Jrx=;cf|A&`G}l!VYu zlRQ8RzM0C4AzXq~io;y%c_QoZKTmj{B2D`-V&+raSpVW4ot3jsRayaW3Q@l=hidJ& zCz=SkV6@%k<&%!>jaoCzL+&<-W_0b`|9zO~q$=(M#XHgnz=wJ^| z_AY<^BSr=NH@9~^Re7(iUPf1pB;Q6cux&lwvR=)l7N4R@-MJNEBo}cbS0b5z<|nI0 z@eCeR#2$dZE?9{H)rjMpwgfSo0?R+c{yVs1A8{?@pcWO9RP}_Aj#0!Zu%@Xy{1r8| zMXdT>*|jQCb;x>Br_}{FwhCV_0&KkpNeuxcj9uh4k?|k_V3Fs^T1EtgA7{-PQwNKD-s{e3hpU*u|= zP$;$Bw{LqR|E(P*^1CxE5V{EucJPeCl+W)Rm#e*#a9ZrW8N$!r6-OJsc3&7_B1y<5 zLrRyrNf^6YN(y|+pr2f{J1(aP8Oaa9_}%gioh~p^PTg(^`dkkDKXon#^FkP`Nu3+HMgv?-uM^`jm$QF$1HA( za93o#ji8aUUL8}hHe|lqa~sZ@86BG4{Jk{yVtcRd3qQJb1CO`#Y(b?q*ol>$W%#`l z1X6D21Ch3=9M9ok2{JZsyJy*Nul)5K8iaJl2zKNkWLFMcV(o69!`jGnAr{FmfKOf&8u^LM+Q3qi#?-xE$hm#=d1kR>EDBOmMIhEAH}pgLK%xPduX5G zM4Q#>34i*cH(EExMb76QgkP6~M~F*~^G0lb_GPt_@UNnFfKFbhjl{@;uHjYMROKUM z4TRmi|NWH3u#Vc^tIae-a4++4Z;Au9W|=%LSNVCXEv#*^8-7hcn1fQVvk*!8?csbn z2GaB%8pfv6X^)p=>2u#oSLjbd9=%!@&T`hA{>-DMjE#@XzXZj6dTQeuSZo%uL}jQ% zt7c7S1pE;#`TmQ*yOb^D`@I?-nE#?!;1t$+0t`9RB}p|$i&;|9->7V)aTk}eM*8|5 z#-_DkSYoi`a)`@{uHmN4zUF0JxqGv?ql={5vdikC{^aBgI*{HW}(i4=~y z`q-Pa_b%#si0>7}SQ^<3iQk~Q!raelT~4v5#9S%b!%Nw4#SyAon$&*np#ThLnK8dOus~*n{X2D$V&JV z+p4YnJWg8U29PEVz~YeB_Y)V#XD72q`2!fy?b4U71q3 z3h&9cv`~p}k!Se!KjvI*VqoCK#~v}m3!d%YyRJ87eM!tSF~sIX&dmv)?0stlI@EIF zlzJ0OXN!AfhKl4rxK(l{K#Z`D`s?b^7zG056*uwJ19Q}*AF1%g2H5#lnWwuJ$VjaA zlpEfZ35`xzUW&cUsNj{n%RlGxWsq;I6;fe3{O10k#)05M8T!MjiSN|O+kd{`IDBh{ znMEDF$$|vH+GgXN0Jjzwi}xWa4R(8;F*yL>S$EB0|dbl7)oQ*p(MI^=@-8(qknL;{P=UBN`*y@i+6k~)#u!D~o7c1zs zSQ0*d%p+6RfLC0#VbDLtlvh4lQLG9|sU5Mae#SbCn;eV6`nr(1n9J<|S zDE$)3@XUv&F)`RpZc{N97guM6B=_V{;|pD}4v{~z&RC?xIo@Q=fa8VCPlN##Q=Cu> zguwkGx0>R5oQj{R3A}e6Fr~G<Ke>hWXvWK%o*57{UK&WD5)MwC%^j61+b?IY&%APyFB=?`bqf2w9~W(W)7Y z)fU#CpnRoc4T4uyn!r(=2(VuVIf#c~_ip=5Rk#E1rMFwZWqp5$-hn4N-pnf1Re8FWMvxWCzO_?3( zcm9l3^O043M!wpc>3UGi`H-)`JV(2Z>&3jusG0Qktv@OP^VK#E+27xc305?91>~6e z4LjUk+D^Rz2`W}Xyx#RJF6Ml~28vpb@vU$$8y+1I^u35))rmn(iJ3`Vq7& zVT3UaDR2JX5<4|Def8E4CdzR?Lbf}mcvZ{kgga-^T%DrqaD7MPW{=}+9ee%`P!aIE zl$@$7!O~~PKZCw(*N>V_4c52|4SaOshM? z&&8DzMb}j5bg39;U%jTV;8m);lgQYhsaFsHwa>tAl0jC5bxT9mQq({`+4L1RG}2qKuVNy@HJo3lumL0T8m5g&{#A zEbM&gz8_C)nN1*&PmZ*&%q-vbm;EkEz<>)Kowk~+ulx?zgI$O{P&*=)v{Eog*hJxt z1=?f&MPH2#-Kx8_wAe%2yxlm>veIIl<605y%qv7Eb_J4|d-~`!@*TvcFK^)8r`@7C zzO5O#i-t#=ofrMK?C%>>bnHJ=^H?DM+*nA|kDhtBF zVMqw9^aRP(KxR!$23GnK37*^UzL*wM>uIp8lZ%i^T{*+q>0*+5Dhb2EEF=CCc)mfP zcy_HPam)26-p&BQIwxEjyd~UV?tDc`KaDOrw7QhcSi*HD%^;eNc4*1F&;9pM!hLlm zH1g^~eKGTfO)Bmp-)z~=LI2?!M_qba_~cd~eMl0^?-kn1c^ZZ%ZB;vs(0QL@!yZr2 zn`&L@K+l2Am_(WRD0TyQEb9q}>3z6xj-v;dpF`ztvi>(tMnr4YepU2Ag^IJfD)r}k zzujGu#f9Mv+i;_RDWf!@vS#_NKf^wECJjByg~{IFiEJWHjF$&Ml5q`3(*osnDS$VC zArFuF4oL34I8`4o^>$19Pxw_$aZT~@8$%-&J}Agr56V8O**0QKHT*`29rXKzC~W}N zZ~HL_`@H*j^*ON!SSW)rdry})RR}ahfPLavn;s$4|Mvov%cbbw?JHnH(G(Q*r@P^% zkhcExI!3?bVTtb|SPIJXz_iwC7+86_!yu#x1u8UpWIF=T7YrfZGV4PiC-M0+=u?F_ z&SGpeA-h5JU)>PdGY3BB4PAn{`H#~EC592%TutURW~rv(b7}ZUI_J&VvljEMK6z6@ zD9xemYm>)Ow1NVhq+nVt)ntK16#>-kIRfLSNE=0ZIy75LHi*n~D1)z`Z(oF9j?V4? zX=3(KEJtx0L;D;S#Tn-Y}F`FIV;%g?@dDyhDK3zp;aVaY+|rJ(H+GBB>{7 zLQi>fmrsZtJs=g|az6#D9Jg%Of}lx37NkIivCHrGqE_l7rM>YpsW)j=$Q-_QjP}T* zRZOFLT)9v4!{}C7l5S6gD_ZWDpz34L@r4@+EbuO&e7+=fwB$$MVMs+0SSiZ2t)@zW za7?glWr4skzt$RuEmsTgUbkNv?nBZCor`gcbYIl_llg13kp ziT}gG&5+(${kuiWkGJY@I@}YaA;G^7|9$Ci(zF8>^`0mvOu&`Q&1elz8#yj~WS)jw z2j`rf86lE|A>2DbrGj ztUN6t2X>BZBZgGu{ovs#duRjL_1?xmy=S-ppY>_c&JQ`xt(E?+5|3r09DJ4}thST4 z%)taipDMam)UAE{Xvx?HB8XR|2dsxit`BiG9yTP>om@^`y6ukEW|^zLg0=ung9!U3yboIeKx)3EODu^n4H zT4+hgu>@{N5U#9_IyiR!0seT~9zl{kI(pyoc|8nIOw$5_s{2Z5upI6QHLHmFBka!> z`3=-W{|JO#BX<#90ReGhomx=uE6JNDCEQk2xrRJ+nX%WV#=xXLN&Kwg%vkd0cc$u) z=N&K2q#tRD8;<^v2h@n|%Ir)00w!4QIHm9M3+@YRT#&6Cuy-JnqSk`|7uB+P>mpBH z!Ch@^t%a6Im0nO-l=ti~dfWeZBKq_69XCeM#yG-4j0HScf=LkRUbvBaqLJFa-k@#f zb!<6iNe=N8E3(Hep@=OdAx7V^wDdV=dSR$6_2-D;UYQnruKxB z(@G{WKT}v}^N0ZTauSz7a!(+n?l$zlmZYj5==kNeHIOWTsC}m2?`HO@Yt59$4xn5z z;XwCCi}C@F^7I>BVB`aG@0EYpO;9kZNoU^40RHH=FFa(1yMj9Oga-!R51*VZg6XGO z-pt!H<5AFtgpZia2LY+v=_V!kSKuw61ZxLr$}Rt1{gwsmIO|TQ%AJKt>F$pGBxvE^ zm#MW3Gs;rIGLKb}iqRpB<~rw(rXyPhTBHD)*$Gb_F`1tG{xdP-V zzq3S~;JXJrOETfMcJz@Pdt5sbwXQl&8m1Q}-CqQ3dgcL7n#&#q++VdNt><0aX9D2$n~7isA&OB0 zzOfcpa_3AAvh8~e5`B*e!uYmDP0-&an5s0_2hja4t+ZwXmr~DbExti4*1l{$Fd6^x z{s#+^MT~?zNA|s&hP}7;9)KMdpBx<_X_Ldt1ps{`T7*C6i5VqIwe%~lyHhF*`OTnByX9s0BOT!DI1jFc#UqT(hvM&?aKJH{; z(Z!v7bLL*&%w6dDAvCs_+K-xTGsh2Pu^|5{CZKU2AYwq~Mpe%pjgr8TB7y}99uKWw zabW7GjYzMEGc|%vqyg~=B+CJR^~Q*ij31O6n)+%U5hD_2v56*g{vj!a?LdVksxGel zXDO1EiR&~>Y;n+ViYJ?+4%te5!ErK*=yZ@RIP$m7NE_jjn_zL8F^nBje8WcRg(VigSJbjERoDBePItkLd_^f$Qx)Y?wGPmyv1qowgHY*TH-wV1EV7=jDKp z&!DymTh!ifn}MIyNPIfS6==07v)JI}*zvWEhcDrl*mI_2vswgx2YmcuDu{3Ulr$RN zF2yCwSDfNFTMls0CTnAIUBO}?9eU4jh1o#g?fhBmTV`V;@OvvViM> zZZ9#|{g;nufH&Nu_Z*dg;@=&ex&KF91G}G8s%DlL+@@EJ`0^}mCCbp?HX7K1RRxH? z&=*?Ao&W`JOy?G4l4lfbFe=atl8C2I+rtnejp$g?R?YQ|6=GWJ%R-`OZKfffSnYpr zwOR+6Uw$AWMf})4JXNCxdLt5D0Wd8eV!PmSl`gW;BTcs+iE@72?Y=|}_P@Y>N(Fa~ zJUr+eGTj^AhtQVP{;`MBRT2fy?B#p*W=0Q^K{@cDibPs^Z}O_Xl+URozgIL82_Zj6 z^)Z2I#kn`C92idcO=<- zdo@Fl9TtgVJQxoNjjGDedA=QS1T9QBNiT`xl$vT~n9^#9!M+J}H?;0tEu$M(H_<3h zO~@qW;$WJAmSh-Tj`+#rqsv2nPlUu*7LPS*mYo9I9j~n-T)BbpnNfmC`SIT&=~93? z5~n=;3>$(BIn-3h&N8{F5dpm%1!AN?kD{f#=@7UB?wPZ?)|?BgBZiWjxPE6q&ho`Y zL@P$tqFUYg!EKPD?w2FKi(!Ll1X@NRSSulO{*Dpq^;5laPqL#I(;H^rb&oSV%#6R@ zehqbMJJ!9zYiKu@!hKxr#gk=!v0>hNP~Z(n>T@-iZ;Np`U{bWFk8!`QgF||Cr>*gx z;m7d$QCc5Kjc>(0Kh5#KqRkx8In^q5&wS6D3q;5JoN5LWQMb>5B@%OC5Vd$`19&;{ z71Y!>I9(iF6Z=7S#YNw$T5Z2ddifO-(0)K;%uRq{**^YzIrmvvnvK=nSNNayvZ}vB-cJVc>S}Ngf@(Pn6f+-Uz6E-@g)iN(aE1qSN~9=geB$CDXRm`jBNKa`h;0# z!ONls|FjHym>gD)$Gv4##>vUd`fWlG0tKE|>05?Ql%Xi6QkNSPA=Fkx>%rS%o|(s> z%fngn&$Od1fbC5dW6x?t@fHi9SD!<2NxO+fF&6Igd;yU?4=1&Z!x5@yt(l!;tF1V$h+ZX^T+fK#5x3XiC4kf^x#=2J5gqx z4##lZlUVnVsy?^(96ge;9*8X(XapEgl~cX|poN&7AsZo%c=rvmAGnNz0D=RMIDjEL zko*I+vnvz=7ONn32GocnuJ%5VP0lgpz$8;sRflrF@f#J+(7Nnd3pJh*a@|zkGJOuU z8L<#|a&@=C66-;yd56m1k^4>}gHwM-GPxk5adi6bHq`fwn~XZ;`;noab@8`GP*B;j z4j-I19>_Vs>DMAfz`g~?Z9g*{$|+m(twPDzKsswSo})~}ql+9s6?@HWNwzO#L>?p# zEZ^rJN946#r7~QtuLssa4Ox@V)q(Y+569gMaY9QR1=_g# z#~mb2qABzZQtBAe~6rUM(T92;hyfrDz7LmWoYW z1s1|b zh;-{t!G|}@S`ogQ$Uw4iUfO;qCg$f|7SrFzMO=+{FR3<)FC3s!=MmA*8-1MYvub*Iv8`6YYQlcUf*b~E9B9+CHf^^*( z?S22H_E%1VHIsf8#PSQjwlFInz33IO$C#XIm*4HBp+zv9fTAaI&{=tCiSiv{Pk#}t zt8WEVu!YZtJ5Ni<=sde&V4<%gjvrLqnaAS7i5Z(oUv4|MUrkkXwm2PFohihBzM6}C zKd~rv=9J0e9o{{cSv&ME%u&5ZLwJg{aD?xHt`>SoI#hgp_W5I(8s`B!Ce*IfOoFgW zsYPx8uELk&96Au%N&Z!ft*`{xZ3E&z0bAZOm&GJ0)dgj3J|ZU3lp03BsTWJrXC_x9 zaOmbvw*+(h+pAM31>#RHql#Y~XD_8xJxubx1trV3s$NolXwrMkCE4yMxuD5gIh$p^ zDHUjAFe&|BRqtbqe+Z^z@|9oWeHLIiuPAEg1#xKeJGS6Ytj=Fl}Qc+andW97OD&_CMhVbD@#{E zhNj4w&4;iL%de&pahsS4CK3c@`)@sUbLFn>hDg}f%+t~u_g_6-repITMp#d*W$0MO zLTSQe&|zYU@*O#JSy2B(W7AMvj`3Dy1;LM&cNN-HgE-?AL3b-7cvb&oa}e5k&8CVU zc$ZC!@Jo6!VM=PjEz-9qGjDGE55!mgv7+C;_a7^KnJ~q#lvB60(g3|a?F1q$681-8 zxQyT4BDS9*ZRAj;sVYp=86>@>KXoR1M@$mWH-~?nMY1-*{}+$(JJqa)x<1ES)He_` zOmZw%$<>W3`wH8~?*0@P_q!KTxVyNh5K-*t#{S;ZUln-fBL`SJj<|r89@1t<-?fSY z>}SYwaHXch;N4=}?z%Q`{4D}ZmOeMH1P_SRRJ>*xn#fUOOAc&@XJ(_>g_iUEM!1#r!mZLc) zpzP!-6|~j(BT!cpGZ%C=ORHCW@NxbaA&;2-PW8uX`9VjB)jK8+vAD9Q{gxTj&u z1S5y#nCG?cR+w|V;rZ`_a}PU}#<7>^KQg7;&sWz*x+iy?rt4dQ0y>AjaC7_5vcqhh z^O_P_jd!HfwthkL!R)T9o^+3%A-z=DfQJb0v_|(|V=n|laJN*VTXul`(*W2%pp_AUzCf0m-!|k`m|GnB_qfS? zcnG*n#=f?__W1!vFz+8yT32e4cdPDdk)-i7!H@qehAq~fXD*DVt$A%ELuNj{@;s*} zwnNS{nXrK%&Q+ghmpu zXmeIP_dpu}!=r5uU|>2&tNr<`NL@6v`Quc}R{OCHw;nKr;k>ZUf=YLdc{it)+RL-` z%=~6GA;~=>oVmy|<;&}}kBa--j;7v-Yz!gCgn@( za%U*SUThBmrNzgf$Dj)R5z?T}73Vl&+?c8jK?I;y;(;*<|wQqGI$RE;QIK%a+mBjpQCEZ8XG4Po7C6mXi;IA-j1Q^X!0w0oOiE*j`*Z@CxYYk>nXg zTs%-Xf9C=#D#w6=9m`g&as zeB?{-PGGS2VOrfw1-G;icrCs%d!+i@y=17a-|DSS2;0 zfL$>||85kn9w!AZp_P(x_kuK34h0zD$_GYL5K#oSYwrlD+JqJH5j-Q>K6G#DJZJBs zxn}u2@GSP-cos`dv4=&%&0aQf=RaslPLls5!B}|EIhbetc5=qK8u>43qAE$64sR4o zbgSdpR~*rRLLuJ1|8}2@J zAO&3|GKsxRnmCrY#=*4xtR!n6b3~o}`s^>qTlEn2Z&PWdTCp-WRezfv4~zPlFPNzu ztuysM0WlN5=wgpYW7m-dgceODg`55Kk7JZ>%gDiV8-+Y4W~7t%Iz2Hi`Z6zeJd(x= z_*jTO_B`X%rl!<0QczVQCj?L?&|0o?u;vnL1e#P{wkjs1)2SW`@RtLcC;zG%bjkf* z!Ujo(aS&%4l;6H7COVE$@w;L{DP2%}{WS@3I^1ob(5)~4w$7~Yq)@;t{0B#A`rLeZ zqxtOMCM4a2QhyBDs93Q43$|R}VL^JO7hz-d4+fF{D(?%83Z;oZE&LieAr{dn?GSbk z210-ntc~uOpu)!)-ZB56lb1RzGRI3Z=_6?N)8BQf)+n3fnr3tb8zvWhR)I`UVFfvI zsPS12FB3w&{a6b%udiIDLA=DrgvdzC!mu>-xzDoyyICMNGY4JGSQ0;v$hI4kR$o#^ zn>r4LZSFN&9hiH%nmqhU1>u0?e&xK!Bahv`f#dlHH{`h_E=aX%wx4|Z1Riv%#7gOB$a<`*fKVNCZ<{kMw$gwL~ zbvoiiz5S!gze&sdiTULVD{qO_9jaS55@8K^b? z*ObKJ7h0S^bger33HPUuE6>0G;~hZ3+LFK6v4w}adHK#>;x!DuIBeTEblhI_GHV5v zzNH%zdBa&N?$%4bcU%SXm|?`QC}OnY#Js4Y%cEj-cFXy&afRv$%*o>NWN098b1#M< zzCIVYSo7xf{h#oztu=vl!x4SAbzo{L;QRcKtFnmkZ9}0-vP&*!ez=Jd=%k1x=65=# zT3%4DZst&dzdT49RXDT}hw$+L2qedXbm2R_ytt}O5w+!M*^1H&D&cn;SoKZK(qjA4 zn=K(>@9I|Z-_jEZyc&kbYD&fa#2D9IqPGig-g*}kXKUE|fG{f?-fZw>%`|p31AD3e z%^3Cn_W}ee5xsgxG4Cl=gE#wm_QA4TO#%s+r) z`+*2(?ViHpBvMucj)RcE^ZF%73GLU_s?OJ$D>?6fTnp6lfaF_VvYie1UOcYxgs#i1 zd9xGMCDgGE>9Pvl&o`MQA%F2q!j*_X%1Q(8NXK9;qt~nM%SavxUA3fr_M9ZsiR*bw zXUR_V_?eM<&Dhy>LcJ)y$8T{4I}Q+@UeS#_k(MVP##yLIyWcb8cW3G4J<%K&jNS}O zED__Wl&1;jyE?PN=^f!eJ{~;0MDmdSO<}AKGPTsj#Op>$h&m$Z)xJoO3BR*8WeV@R zL+YLw38#fFfDCK$A6&{@T$a3!a-)2egg@^pJcCsr&eP=JW~(x)jXm!_LtE<}ZSU!k z$;a^bK(Dr=bXz({4QsyEht-l^`_^Aga-iAZ*szZ%M^+?S7+KyXbO7xNSI>H(xG>_S z?GEC1KIgi(Kn$w{#QJX$tbjqUkL%}Y8hh_E`TW8T2f9>7;*2hk|78Bm_Be3-|<#_iE&W~r2U zYc}Vb1!Yo)pOvFdE9+73Vpzi)tmhw|$Eey3neG=QDpwL-`Qx%a`yulV=7$mn+@DT| z+t;F0kpAd~gu6FYFxrurdpE@ewL>n_JS(k5uLUzHf|dyRWN4sDpUs%4AY6EI8*kaB zwo}+@MuwSvQ2m_pv3c?BLZ7Z;C@@DEDuPb`+Z&s+OfoQqGD*=IvB^yF*C=!+k4b3? zT`Pr2!PHrc%Xgsde4>SGSYJ5fQ%Oi&A`3O51hpFmVr=l)LgbMw=Le?uYN4+B&m_52 zab2p_%I9ni_e21;1N{<7r>NS7NQJ5D% z2w(PjNX6nzgk|TPt8kGkXCWK6f3*j8#&P5WFd(18AA`HY?lp)HOqWnKHFbIiNL$rM z0nr+0z8W2G$`?m_xxK<$O)R+HwU)U+KDYvtLMJ?_}*d?|p*MN|?ZO0AOhf=j-D!{+QA9YBet4F&uo zgt)0)8t6-Q{(OIc$h4|%^u&C&5nPo{*X)hU;|u^#-#K@prx8iIB0WklD1**Tv+*uzbu1B>C$rt8$P+b6u0$X`EB5VU7%A0 z;lTGgB5%diw9T_Uqk0Ld7q%iW(}6yw5|Tf0K75Eh-^0wWUaW--a6L{;w!jS%MB)#( z7^rbCPAu2{YCfGg?)`->tta13L$`5ELBcsn9F*4yxW8R%o@7vHrjMLZ9e>~6>n{Dj zHz0H0|FpxoQ~o4~1U`@X$yt~Lx0?RLUp=-yT9<1hqN5BZTVkCQ!(#}?W>*$$@|r)o z#K0TA9{;h3LAf_=Na1>jne6;hu!EPmJs?5hq1?xY2ihK|1HKGN{rx!k-`&YIB zz9)-zf3|rmf0<#(4*j+D0tkZvCJZPv2a8axp(nhlMOWr}QP1_UqyEK(d`>F$IO}D* zn9@xT%*JZtLcP?bqwU&?t3+4oiR!~KA+Ld}VZl-O#(#L!{c_Tpq<@Y6RNsLnk4jod@yRk0D$Wh_tqx16mLe~b>EP9w zq{OfG>(|gO)WU4S_njx%&)Q~Q z9kc@_cHL&7eWd9`J2*QRDvKn7^BLXVw0}L2s)B`b=Tb7~{O900?w)h8OOBK7c={v# z?e2bMm&zCu@^8I?a4OO5r2;` zoK-~?0C&VQv4PaMBi;c77JAL9gAJB^%p*AQQYy}IxouVXNi z?!M&u2RHoUNsWbTN+lC#t&4HHhy7Pp!|lDgc&$o75#(RXJKSpxFA^KvU#e^>_kck& zg!~O_Ab@XxMT+7`+-Jfz;$*&63~;Wmadx@VS+@>>A~t|VHdVt8yyxsLbg5{&;*<#y zjIa=^K^RUzAi-2^zwVFK!+EEcyAHLMA!(OO!werP%jMMt2v&Dq@+{T7+G(h9;Yr7=fZ~uEvX2IVZyIIxsOer@%38rb@+hfQ5yFB@m zaBqGn>JzE04Ybw6r;XbLBRhMEss#JlCQQ#I;pkmlvjkE1sY@bu_!)}*jOy*Eq{Co9 zlu!Pa`keI%cXPW_#BzK=rK9WWu_E?#;JoL8lK=C|wFYcf{KpIxMQNbfqeP#ls6t*( zj9l^j@I`EQw+|7~xl1CZAOZA^fv5Tdc=rBv30me3(X;o@ib&YBTS6HLq-Ip_`gWTQ zz2^%x-y-#$A?%3ta7W6t?VHojA_~U^uk9p-P@a1EF8y$lOXLVoV&F*ZZ_5iW2% z!?3;i({?U1lj+oXOty7@3?Fx_&2Y5m;m1Ar*MFM>nP(s9HpPys%zM3*A`wl+y2f|=8-TlUxYm!AYXQw+ zB4kMi40sTd1SJ}Uh3sZ#RwYwl6Qy9Pc7hf_{|wxjN=NhEgEaU?f25SVO`BdlY>^Hr zb0uk8ZbdG?dgR;D;o9MNz2j+dH|mAcf^6~49@)GY-}$J#CvdZNtvo4a@;}Hg`c;>Ok4=7hog=j~`9&K_^H2SPFu3QVx5hy-icD z>rLtjN@e_U%+T!;jq;j+D924S;IPx*Gft2PNR&59-D_RBCQcB_tGu9E=84`WYYMrI zyb%NY8sZ(@MZW1CE2GxBly9x?dbu-OWz;UqXM8w!t*_oVg#x+bAw9!xFl7Tm*IvI^ zpPhO!IvH8Q36ke(O4K;sb8Ci9!Vew{QiOrr$h*fOM$}c2yBkeM8OH5&r&o;I9#IoF z56Knho`emttp>iecQyD+L5Ox#j>gu|LV4{KlZjBS)_fr<``?z(U@UwS9a6IJ(@2!% zt>oH3=6`9w)ygv|gn%{O_Ag?_;6Rl(XcOVPnHJE0-W0Gad#_Lq{V4*DDLhq7m5`t6nA%r;ts{VxVw9CyZ1l+-h0WPkPs3GaL(*K zGi%nYHHGF@_F}7%muNxa`WrBH8R^A1{u%=Ghq+=KBQNsrCbC#Kjr%lW@bTwbF(%T$ zu=1_r1%JJ~QhZXbyyXNOcGRRvIz^fnC|jitQB3}{Wv(vl^{kc5Rb0j*akXZlZ2tm;-hhAPh+zzFLH zVqzH)Fx*LuER4Os>pa6jks$ID5r)J^wj_pM+h-ZJD%7kN0*wmroq%53^hNMGM7sJV zA7^xl7V+ag$|M~US$@5*rgmqSLSinrWq!RGyy%TcX7vQ*_eO=`OrwKg2lnRaGyw=> z^_)YVD?}f#cH!G|05(EQU?OKHUj^W3ZIrYn0bAWQ1GckPayP@6k8I$JU;L9e*ez11 zgTxlypQK*;FG)v%SJ_kB&#DIaI6Sn^{YEIq7c>nO1 zy_W_}gq$qflE_hevuYO=_T=(gw2X*t8PD-^PAnj>MD=+A=61a)n>v#gNhoa~g^-a- zP2&qve=UB%JYr(_P((VP_r3f@QT01Ig8ZYEf&VIg+tkOOTrJQJxakMqxlW}9KbTEA zh<7L<;O;_Q5wuOVM4xcuf#7PoKTySW#j$?dClrpor^o9_dLygNjQ!KN_MOmSrRZi1tf+3>PC%Em{Sv6p%~sbf97BymQwl8PISN0 zKk!9F#)mQ1lm{?BY?R?kAuL?U0(3?kdzv_2_VO2$S%yB2@o*Ep5=0=8A!`}u-{~5B z5!O?UEv)p<=Brq57~=8keSEt7zjph{>A%s6Xrgc7Cy09rJP`xFLX_5h!V@vtsEIG% zynn>4`=QItN@blaJ|y5Xz#03eL%6IO1#9#M2LP@Cxk}u*T7b+)uc!-y4q!Yd`W!*_)J{=c@X+NCiWXb~bx44*B5uaKjwV$RZp-?G=#Z5ILU zY_aHrH0IvwEL@?D{2M<&&4Bl)aquSgrq*R-M4N0)p*Y!Q*{Zf71O6RqK=w;oJiwJ( zu;BuvujK&ss((CL507MOloBUYSRiC7gE)6#tYgQAWD-H4kct{BU^ zzd&tMQ7y8QTz?Ov!qy!9FiI1^9@ZhMgM2}PDe`Z1!aG$ipb~4~fk)~;^IbYL&{|Dzm zG*-?{9CeZIA{FX`M-_=(7oWzC;17chjQ>KGKg7M%y*Ygi+>kmq$!9_b$~z8svVv_q z!-%NZb%8(XkKMFnXIvLwkD~!*(ifu37=TZSWNec|z0Y}hEOBuu(x=ZxjdC@5bea{P zZ5oLc9cN{s9Qk1Q99QU9UAAh%3_~WtR(4ng%%KP5HI39{XU!meeAWX(uyFci67dEp z0`%q;?gaJre?uw&4Zso@S3oZC!<%^_?cCx{TyPA(=u#ah?M%!01S$JQNM)of6sW-$ z`L+t!8c*sBHU#7&iO&cDBU4E8y&pM=8L*z5?-{kqF#yn&fRDWxz&Z5eUlOTzYF(df z@AS`yEt35w9hA-J5iks2LWy36{xr{Prc{A-NCc+eVuBvuVzvEqL{A9^ojYdhrDDeE zQNHkWJD>>Lo))3jhok4|!_Ik2A$peqtFD+CxLs1#T`W80rLzmq0Lctcd(iIFWQK=8 z3bgODQct18Fci4}A8>rz)N#GIFz*AP4M20`2YC4vlre3&aB+=`!E60)0mh*!l z6z!k>fZPkSpuumt?s!b@Ja9x-&Yk!8eI7yd`55oU*s{<+6tatS;vCSiU4fDF189Ih z36Vm_?lDIr?UAozLrgf^dEBqL(5L(D{nHMyc8_vc?KY{&lhE7u4#(ocQZnDOpR$&e zPy)in&EElgWn&y4X1Oi2_x40PMlW~$LICp&A`~##hnrvnL*rvD+C&;2U?r$@Oaye| zC;zZWah7EzMapizzowh=JEtc8iBIMZuo}{7PE-iA!fYnHe871GJjpb#-^%)T;eccH z+9%Cs^1AS59;hFW*8SNPL7GlGq~V}{mUw}?6$4yxUT5q3`^M2f`>&M-D)XhE~4N;hzH0`R-a0 z{!pbL0;v+DPF$4soi&53f_AZtrlEAFs#nqt(8TxM%-Xj>{hl8W1>i*7{cd>w8LI;C z;g{xl0`duEyw~?n8qVKoSsuCLpFc#*lq+O?$NU3NZF*ea)G953^6u%km0d^ayKvdu zL=16wtO%52QBEIUy0b4zhC0jSNuj3}A1ydZm!R5IK4{`Iu_*4DEGjTj{-SGCuejXF@ev!a`~-G( z_pW|q*a&VzM{>o<2p7(s0WB?F(mtp^Ki=TgBj=HS2;+6(DEFK%iNe_!hd+%FUDvxC z%0S$%_lCT$u0*c|ebdZSM6J3nphL?)%mEvwv1RK(&K8{BAuqc4F&fC2rL#fBsn+Z5Ghg-<=(VSYwLucH=bz;+i=GP|#&UyZjcYuRs+1C)j*iMZ8 zB>?ELSK?BU?u%(4CIEJRvJDRqyn)htm$!FsQWnbddh}&nHtAaFyeIM#1MxDJ!E=SC z;RWe7K$v8(n^q%XAF(>QZGNny z0-9>*{R`&5-Dk7zPz6x&j=sV>z&ZXuwsQClZ66dErON$d!y8G)ZuK`04_ghh&8x0f z!hdk<5oIz5xzfNVWpU)2v^oZkql;y5XN?x;hW@NmAo=6s&zW;_qtH2RuitU;zud%M zQV>2#kB0G(5B#307Lbh|i`yc&axKwC1Wx|fUbY&VVnlN!-_guer}FF|ZSnkX-(@y3 z^oWVchQtHHbShM;*w;9U>BL%ko5^?!6i(&00)VR4vT?NW=bUm>Dtk@F)D#lX8mmHZ_D7C56*^nX9+dmtZcg?wTkmS6Ag0eIHRms zVQ6|6s)09OAUL`53rK1aV!TV$s~ih|b}K+Zp$fMFg&K#Mrvv~t32*U%qshj`k*WWh zIf+4W0N6juwj7so`+A0@9pE9XH9!OqZ2XKOxggA%zB*G&7919{7W-hx9SUGVH2e>4 z1U!uaq%rEL69-r5(J|7{%;N3b_NGnJKp5$$7uWRi)Pto;cUnfg9UDlMO z4`=)B8emB97YHKjy*#_v=Vc|SV2O|5oG!9WQyS_atLHjd<-}LOz~v1wpgIlkU6BMIcCqsBmx zJYt|82wR(_>ZF|(mVU~E@5^zfuMNW7BBeX7r*6F8X8RvM9s_sySAXE2i0LG5-?ShK zvhns8emIzM7frewi5{x0L5S;n!659I2;M|b(2uyJ+y+xcxrcNabZ6w1ReG<^7+~iX zclG|;9_@Yc4a#N_WFt^P7kFw2a8vsP6ynf_{U8|h4w3}q96-%`&VUvy4x)xop)5`0 z3oV-Jz@GA}TC5_wQ77N*Pj_;S!8Dy+NVN7_{RW(z`3VSU%!dqyozA?N1)s2-2Z^9N z{WlZBuz|{T%1%FkVmXnazY1(v0>nj6((w5EJj_BmV;f}gCBJ=Zkpaa!?h}+M+;naM zVbkMvUBL1$07RcZQX8M}s#H)$i!Ww0c>?fld6IC1mxMdpTQ~DGLLy;^P10!Y+y&O2 zvw#(T2U(_k&u_IqSqxP}Z#v~_CAYVe`rUYW%`se{mSMum$Hg&o4=LPm>;m|=dt*-l zN+PK2r$@}AyGvQDtOtd0ddsl){zlv4F46F-!>E&@k=XE~weQ>#ib+wkrO7n-$$NpFP7vLn z4Sp|nEMq?3JEcalgi$scxo%*2*63zyoMN&G-WdN4FNB6sijqx>m|Q@E7>}`d#Ov>w zY}h_=d1Dw|Y$_ft;W#DX*9b2r_n2hz4zRKru?^X!?e)sqj)_OR)0g9ZjomGPbmZ`w zpB8jN?#m~hU5B#a5!Iq8|EHHJgP0@oj1IYfj(_oRxZYYP*|mCvjaRoJJc5~{V*N0nv3WjnyLvY z0Dq$@IO^Ef0?0|f&C(1-u&9D)mLh-(mTGkGdfWjdJdwgl0-q!Nie&k9&B=njzewvWJtec(Qvk5{=;&)J zy_V!VyU4cyC41FE*Z5QH$G3hDf|8^r(t*$dwX(B&=JK4QblD~q)hIP zPve*{cG}7a;(90e>qilvX6zSR-0uWe#YCxPNc;snP`!6C=ud67z|8Dy+2M z=+GWrY>jnWUD2v4i7OUrHse8^7pX2(}nr z2w_(0{;RoT3^iaI_qAluzyL7?1 zKTa1O`Gy%TGUm^J=mX2;UHjuzAy=e8*?2n8@WbkN+l{a`6>l!w?0V)xqGcLZTjevi zOLNt1jiH>FO&b$jND$L>Ym*gqJR7aV8{$uT#?2GdTA!|h1G?;iI*5%1j4pA}k0$me zfxsE?{~UP78wx-2HDp&Y3RdLliy9*}nItCY3|bI8GnxG~*Z-2C={IuFi9l-*a~E~Q z{^O;R4ko%mBx)%?ed3DL?we0}|2qz}+Lt7gZ{orV>U}Q&)R>)_y9kRI`E0DC-KHPL zO$Xo^>cB&UCClU15-2D%>|DtKwej=-OTJb4A+nB-W_1S7%S6pgS}3p;an${l$DN{ybv8YZgYg zz+z4PZPV*WeVS7!kum;{3m_=aUWuvcTKx9IuS=OXYV%pms_0*+E}Bp-vqaA>fJO%p zvklu&(`Q#}!a(T9;tU*gh76@I#b^og^1~H6jZT8GF28lp z{Esg9nqLD=7t`IT6e}j3Ik&|i3ID2F2i&@B;{9b}WCbao0pxGC5DyiI2O%4Nq|}hR z7EUGDQ+2~y4(;B9?*kDEK%~!yG`d?fkv~;cFPVF+ncSOaY+I;8-D$W&FRfS1hU%%L+YA@xv8bOO>;4tqIO{w zxMpjjo>#Y(h>%93zreZu-!9wV0C|Kgr&;ue51DZ~sD(g9bcUVu!MDMT-1rlBm!a6a z;>bh9E?<8Nw_7JsIugQ@`+%V3iQoIi@7ynD-ANN4Wu+0M)p__$c^Zmdv$bLXYLRBr ztD~38y<`#1Tj1nOD1s}Cqde1dz3fFNaR1CPsJD_is(;-;l0X5AcfK+H$gBm=Y%I|w z4bM+|voE{DR)c?I?`ZzP&&YfoKR&iSds}$i#1%BJe(U(zts?8q`qS8d@(>Fz{(x!B z6yk!x;ko?)NfE{?L*b0=XXC6;1?dp43Ba^cG_X%!AkO^=ACAbzq3@b@FxlHLXd=$> z4Kx%O)~L2I1_dS;SVrw9fn8Yu)H_w$s0O8`30P!nyo4(Tc#Q*Jz5`F#DuMn_=ZAo| zCCYf8#j#rQt5;ctT{CSR-^CRKz=L9q;ca4YyAn4#X=Ny{NZp7aBGl|h4cEq#gI-*JMo&TlQC|~N^htG!f6CCJ$rcd-J*hugy{JxTPmGA!K_MZX##yB9!19O@XU)|hd zz%vDKw2_txC8nMFqYRggn;jGKQk3&MOE(x!6JF@l{#)=jxY0sjX50}=d2bR2viC5q z%7Eu*i}i_EuP)j8(^XmSyMyqQ;g266wg9Ce2B;FP8As1t2z7vc64W&`6i^+aXOAcp zA5SJ$V2L%odH0~t`UR*pql;d9R-)LZA+elwR-t_`iSACTvVH?KNxC?Gq!XfpFg;Kn zL4TACgL-j6=hXPezR7&{=eGYf(`mT(0UKe1&=&E%foQQme+31i&36$d8Bf2W6#Jz- z5}COtTHUNtb| z{uxWab4v$oqKfPQxVViH;!i+bH!e)OAV7qat3^|`*5G+c>3%=}{v=4=R}qBUyFRbh zfP;M7bBjt&j6sMjn1>X}Kn4;KyV{EYt(T*)_lSsu4YfQUFhlbN(B^LLxf}dR{W@JS zY?xR{i#Gh=tIh{rXvEwvqL_(btmmLQ9W+|WBlwgA0cvxZtI9m@l8&5&ZW7FQS9_A?Gv_8`;iDG^)e_a z$;{&>ee0%}5OwcbT}HsXePc&{GRq2;iA%m3;RvPsKq0I!1I@~e6@?_k-n3p2qKD*FpUsFF_f4q88UNxhp>#|~<`-bwXN&6d6fB9_V;wM<;lWs{B#{h=)eaG(dM1; zjC>j~Vb`;j#r+McQdjuMfuS?l&`=ni607I+L7>bJHUU8rCr<%WL4~9?UOCIbGH7W3 zk1Yy6*2uM^^kHrb_@DuVGP1brw2;WvwiN3&Y$Fa}=N~S7Kn^$i_JO;C^f426*+VFm z8}3LH!n6B}0EvZ(C|W}hUiiK!Te`bk#92(Z_~h8wR4?4ckqfj zH81(lWz^)Ti4GHzq}SAU<$l*(pA`l-?q(T2Pc$&zHyebkRMiB#4t)B-)^v9t7bNGkxb&6L)J*wQk*^`aRiU^1vIdrx2Oc6f}j)DT~eb9V8o!G0kT>gQ%$ z+{_A%v66Ce+-&Yf_hW9hD~Z*;@xMR*fDhbZEDDf9OkSH#0t(9VTd0t{Z6waAXt4KQF5SJMNy469Lk|zhLvN8n z+uMI@k!uA>Eh_sBlW+x)KcDd9uJzIBmNs;OssofN{%>O)7lp7reWF zxXg9*y^OqBPdgVaK%LybNuU7*9Uydn1lhZbv9@t>Tjz;rQ_Tc7RdAzqY5S$pv-}7W z+WyW(rj*>Th$kiN?%fr)O+B%`x^EDJ0=FizfUb(z*rCs?(1TsD_Qc4Z$x`jnNLhEv#2CS&Ua?)> zLZY7!DGgkkl|gaXAy&nf@cF%kj!m}9Et&$P+_;VXZEysfs>Pom&K{=)*%0 zol@1$RoFti%5Cd%M-85nm|3TYrhi1`w=yc}$rUw4$Lh8tLhgM3_bM4B(-A zlN71P=bk_TXrJGU;8CQk0>sF2(E+U059A8lE)w^f*3(D(w<2QO!PphC2x4LN^3UN_ ze7g<=dKj}#n7bBc$SxzSYfMi3??u!8W*0)tx#7w)XvL^Z>O8(b2pH48?h<}qq|fwm zfC9IbE0zE3%Pku%S!R@n3-`|1DV(R8Oj)3@ycjDU*a#ooy(c`aix{*UQgas*_ zJb3qvlH;GzOXzi|l%_aw%auRoCj=#P;tCDN)gHGDX(p+Q5V(aGtK5N z>87uwIdKLrP|%4bRfx*D&+Q`wA|slVio~1J;OxD0s!)6>@5$OYd$@tRdZ{g}E5C*^ zm0vm?{hj|d3;5$qd0rmZc?$MxwXkQ&r;n5|$P5@)=hKXyE+ecxZLyrKkvlk4^Cew< z>a(h!)vFI!`JzXvt@L zy1EMdf}~g1CWG5?)JoAZWSP+d?aAz^{EkQ6Va)nJ1eiKhiT|AU%~#}}ypBgq7~WEp zDiB4N-wA9^Q%~BaOvY>Y`n$@}Zcf?{_>17Yc!&`DGXjtFXlGBB>X!>YN6khe=XCcR zJ;gS(gv}>Wi0^2rbP%WSlA7ywm*+ zokCc6|8iSye7rwWn#0kD+#F&m2{U7GTa4!_dz~~EB||*bm0Aiib7h38M!s^zF{NJ3 zndDdJfdq{g;E09!@q-e_7t8F$QbBSJYzmO*0lrlOrW5%mr(4@s0x*TG(F9j(uBBtW zcmCX+1{3{aA>4>09ZFX-e~d(YFQLDRFO!A_(lw%P;uv-#{e{l&A`a}hSh zo{9I2frXV8a-x>U}1LYVry z9rMXbNgIWHO?LS%_=#!wTT5H%vQ%iV`Vx#=FMu0PeZ^lEH(TkLNeUEZ9$~u>R&ydD znAWHfm$#^jlYK0vBU+|?UiYcUTm{eY+s;)BX|Lnx^fX7D<=^PmMr5CZ-Q~7>-C8c( zf${0Mw+b7ZoA^I|gpy@M3ACm=2t+!U!cQ|-gJDy;} zNUqVQ_4SyO?ZqGnd*b)KdI8)9KKk#r`!d5*U%r5|KF$Qx4+1X=?O!TryXu{3aWWP5 zPNQ47Qux_-fo06gp|GM*jg^je8N9_CY%;0-zCQUISa>KF8<4?&)?IN-TSm6lG$v_0 zO~@ph;zQA2M2M;NM`S>%r!%2)&uXX7Nk7ha@Ty}9<>&o_v3kde9F@cdgWi$nO9g z4{s%DVFB{1l?<29_cS0Y2mZ@Ln~P|kh;XnQvI4$KY6!5^*K;P6Pe0I zBuxr)^!VnXJ`>$@j5vH-Y0fcb>g^zg;~9ReXUe7dEd`r&$8LJ7UXxoVD>}+|1c7Kn zPRGiSFTj09M)693|05VwRKu0ge{w3Nt1HhBBsJjnzW4aOxEKW7kSg)~D3yISayd`n zFMZ|Jd0FTCT$r0DfuihdK}_J$t2-9eC|W{SX+?hnC^6cHou3h~{tN}`ATp4|$>?vJ zDQjj$4{dTWXFdPWFFX{jgD7j*YV6D4OKv=F;O|fv=E~52N8=Bq)P;!1*2Y^RC8JC- zEKeuSt)Wjq*b^xdEBWf#3$)%hqHVUySBmB!`d8c4;YXtC`uLm>f}tx~(EFeB-jI@4)`0{Q~P|))fcT z{KrQvm6N(=2{LG~dynT+Toz7?D{(y!NA>Tz0_r`($o9=`YfO}x2HQVicB~!UkQ1RN zrNX&d{3H6LEPp9X6)FCF9$y*R+Y}h(-Nl{b?cJ85f+ADb2tIm6j-AgP&w+f+(sy>G zO!*MnFZFKiL_*ArYFlbu;chZpwk`q=M4k z`z3M11>R0^uW9#w64HxNyQ$&wzTMDyA9t5U9^|y0Q!p^kUpm52_wW(i*d{ZDhVaSm zemL^I9s~A5xq(n?AiWdPH?5NPuuJ;Adyi3*lX(U>pb9y`dTo9+bQyM4$8q_#gqEG? zq@We{z|mjo2CdNcsbYlB&gZ~&0V!JuZGh-Avm8oO)QFKo+uyedar?KEfpfD@XgofCOMD{pyT;j7VE3=pFt;0Xc-YFc zGaf*4;};Bd->6U~hZx~Q1fxDyMwOgveOKE) z_z|i1kdwFcac_y2P@5H3F?5v_aj7=Y#sF^BV)x&1J!-n?ocKITy%r6Eck?_^8D&%P z+vsvLFDzp}w@5zIwp_kOv-1O=( z{xqp&u*z-H=6sTj{jcwA=tiv`Ml~@NDDkuvcjo*;TIDGD>v`pvD8o9OWapVIe-wkrMFkP5GnYlI1ft`4tIZnZLy(kyL1X{xA_dC&0`yDAgOg>?ctimSo^(W=$JP zfyWY$K>hnHipzGQ?k5U2lWNWoOZ_);569xm7VF~I6%|BzPS691x7w^|*;Et<0oZ}M z(?}|NcMG^GUCGz${AMJ*RI+5_m)s>J8zMUQagJz&gp-Q1m~92Q9qRPQNm2YvmLScJ z&c-D~PpZDIQf^C$ebo2y(!q%5_m5r1fMgDnpW!QKJ=MvtlmGHw3ftg&@w3$#(f>tKI$+;Srm z@e&`gnxEp1bR~z!+9y@1PMj5AS553!{dtN%+_l3JX}ipRta~Ydm|W)94ny$fs|(Jp z#S8q`G70;`-6s4gL_{dE0-Pk{+&fa z;V&rb&wIWnCUa*TZBn%DhaX3-;!v_C@ef=dD1Pj-&FYlJHR!$iR(V|KXAMseY~I-B z#vf>2+nK8$iL85GtXStHj5wj+jPtYbVl$WJCNKA9p(-jEC!38QW}e)8D+YZJAF}tL zTa$2&j+$eHsTYwe6QWKU?H9VmOpSM9FVFsXO8k{Xs)VKpNfpmklj=FzTVlB&`6W{x zgUP{0XyGX%)!q8@0B)f^t9LcIe}`*cm^{HLu(Hn^7ctS%^F8d@8*TfO^czsP8hp9Y zGkr80oC4_h^CM3_YW1rEqj#U*Na8zzP#oiM>!j3|7F#~nEk@$AinNk)jOpup<2Td)OVt|yD_Vm7m-4}+dHs5xWu~E*L1CFAu1SdcvK$1l7sTT9~ZG^quk6RWVN~PwU|ssT<6VHZtl0p4RSddkPZQ z4&^1np*(Gk47CMD`@_s!nP8Lqs;945SQ@Gp@Zd*MIV=~ZGU!A`iDi76R!-K)4>rFF z=j~Yr^LOIiJzE?KsPsa7xsf5|2?cm7Xjy#M-c&qY;i((}Yps9obOtZkSQozu!5(U= zpUu%VHR8B(YL=@0JKK^^-}TijRH$U8&2mN)36Yr5q}1X`Fa%I!{i~kdd(f0_CrKO@ zh_HPy<)VY^yW6!zg_8}JqCk`}O?XXed5b#j_TN5J#1k#ZQwhH&cpAmo`qD{^2AJYzimfL z*sKS4BrU85@-CWQJJH85sp;%9Tj3HLq}6E@T%gww|3iDw?2~B4Hh0ZG;u^p`SC``5^TtOq|vsuO)hH;%FZVco@x_2>|rUr4lmcE}Z(+@$*%TZTKsLc?c$QDMkeBFuo2Xcqlaam>SC+IlNY|c2hPBCTk<1U;Sij%=~vgI z7q!#iH&_z-%K8^ijuoQ|Zf9!?{&<~ALcIP7v|^q6gzu-p%3uiga-`PAGUdY2NB5}_ zf%HYh_Jn`b%vn(pav6{-7mJ__GzqnW`jqa{WxS-gD*j%7#UYBzm|L*ltVgX?<9 zY7<*2?-$+eP`noe9MoB>u{ndLt2+U7NlX;#h6&WkU9$S~3MGbC3Sl$!-CPuT5O(KA7%WAQ&4d6t|0CtVtSp1ZoO+SE^_p#E0G+TLriGBf>ZwQmlgDE(&sj-j#RxD(BTs(cA z`FSbf3F;;3k9hXnyA#6QS3OR*>-4HOQp?~y$C6ChZ9SJy0AcMs<5Gy0OQ2`#zRT8I z?er3^4cTUjz6m*}RM4MPv+mIxfPP2?jr{6-fPP5@mHlFq0^-pONpBmxP&pBs^?tX9 z)mkV)kWIWS#kTh;BCeoIvO6LtIryi4!o2s_W%lVq0^|F-;ZXb|Xt&^K-JMpum9vAm zzS@Amlh@s+&qav4g(s}s-w7pV{B0X@1;q|Dk3D?Ekqe~~B(Pp_>OB~R(4RyNN~Pno z<~oeGo#!1O)+|Xa-ZbYmY)dWsrwKl>s-Ye!T9(xbyh4^(A^I;ZDT2ygW0!jAJ2v27 z%(QBF5Y%}>uO>_^F^d{UH!<||eDO^AIcd03=;s4i3&}JY1UZJukDKFkz81gK%Q_j> zWGu3vo_FEZy{{`Bxp6LfzT7o8BX}KF%FsH~)H|!rl}#R%X+izli(t3jSg~)|7w1)) z;;E^iBRa|;5)T}s)zA{NQ+B!d_CwrHXFdJn2|RAC6?7rToQ$)cV*yI1I1huhDC{%u z_89m?cYZ=OXjI7MpHim*FcXM@m9^>sroTsg&c`XsISwvsIuuODUK;;fc%I zLI#CeeM9nK3#=&_-pRqk^;UV=t-KhMlF7F%8@G1^-EhKxA-z8`;V(Lgi0?;?$zt@y zsz@iDgY_+eRHsKmV*9ylsW(9fDF^`al@UWLcDeg?8ho$^reD@j`?_0AJXm%?;f(7bDgv(OPW&vOfzTvg-5aUlX$p>k}Cn-Pf@ z>)ib$%SAhuq_U}euczt4lHdIPi>rEj)o0x7>I+s$FV9b3y1rd? z{MjYoF%9RNs@*j$Rh*qv4@MAt>tc-m0$YK@{+xlzk7mJ@sa*4cG8|m&fT=1OrnNlD zo2u6k4(${UU;g}ZUi(tS4VP%?fA!zz8mxb3;k&C0e7WpuvlO0~os?23>c*~=NAYjx zV!FQs-|TiT6Xk}O1vs7NiPf&1RBF_}6ylDRifY^>_K|zR3#7`OJ@1dNn;`>lh*!A$ zSNZ`d;(#lY0wlGRDq(;xd~oImUjiK~6S4NVRxG)FshytcW%J*NXS0HfUyw)xuvK_d|T*q{q^SN8-936#eOu>*U7$ zr&-lrb`%9(Bu@UocSyne)6qc^&I5s)v@bOvR~E-VbedD!K(rx-3gG z_xAL^*UQC;y%9=be1`U{Re{*;*LdY6En*_CAtB1!E#0|_-}-g*JqhH`gpg&==e6lpvQtsbNJHgE`*jrEYK;3d0I(Jg9pMTOH;rf+)4tAzyeV6E_C1l81 zHoDlR{=}B>s@xs4)0bI{icc>n$|(D>J_=;fRH1%E#q6R}w!S{&Z?qe>fJq(({Hp(r z?ek_@F^m1>w2rexU-ui2jhyBEo5seyM_XbA5ZmaU(~CWI<9a)-Zz;c?T7{$zKj_G9 zC*lybc|yE7Tz-gJnMnEDEU5ICX>sxAFIsP?u3C98vV&_zkN4RUoO2RK?k6AGZl4UT zGhjeRQh#dS0gI;ZGRk9kEyHGY3mk3V&86f4*N;wjQA@fxKf53ejfcqA6o-Kj6cUg|8ip9;b+ z9mdc4wsgm*0B?Do&+r}vQ5%h#PHd!R7|s5+aIK+$w#(K3;6cq;T(X}rgpMsrsV=D( z^TZQBtx&n-Z$_QEiipY7;IrlI<Ixvjf?P7XaPX&9xX zXKQ&$c)9@xY}-$&mW8vG;tm4p_~u)=eIN=QjFde;G-~5!_gx(<=xKOs0wb`^Mi=z{ z_jOBHqpRgabj0D~%%@PoHe`Wa%d)KFUz~lsIX^rV_JID_N^im+`e$4@$Cv?GeCB*d zr*}MBXV#^NBJvBiW{!Yp!3kLqY>t( z?FboU@wh6ptcsi(Zd+&8SJ-Q5ZwYJQ)vtZnXST-vrS;kSVi7#>ow2oUBOnOh@Q4O6 zdjw)R$Ii!&pTjz8eyr*FVG)Puls28?n;R=|?%Qxu=BZ;7S2lT0u=^El`Jhs0%(n5Dg47vo>5s}wM^1adisoh$xH*}TBeMH82wQ@ ztAKhZ1<+E)1RDCI4T{)DhDD}IzF&&=R{}Z;rfB2nW$NJSjkm*AsTC6sMG~%yqXgAu zsh#d~7}yensLD4^UrL%-V-u)VI-Wf^BA5q@Fib`|v^#WIWRX;(Z1E{4B@_?4Zrsk* znb4lqzA8C*3`$4uq9c#j?Um=wR!`^TTTR!`WNC%&w+FpK`xjwGbaYznZ7aM}AlLe| zl>JM>;0$4Q=N6F_gc1-Oop_p@HL0Mr8g9OUnCVS(U@BbSHgEo!{Vzvv6l!h}R|j~T z;)%b4V=1YtH~kLA_7v>Q)6f>0-11Y(58KjIQMt9TtlMKhV=W`r%8s|oz1x0a8}(sA zc;<tOTr5178K%{UcAkSyi8M2`CXomyiP@N`O9>EiAvwbct%z!W|$dS5I={2wo_ zPzuPI>v$W&$&}FB>Xf6X+$qB`!%MwJnX~_{s}gVsq|({g_kqM;%YOYJ0E8XTJhng^9qs zH$Gw?gBq|=m5D7UorFsqD*2=f0ht!!TvliE*2Qz6m7H6G?)?kk9deLF7>}}Y-_@>S z-6bUOPg{vJLU!qwzq}kTi_WHJDTD+~6<6<Ew#8rlXoQsEzH`iNp5Di8$;%;gz^~^zNBvr&{Pn*QVk*_(Z_ZeR>_FEjg0!J6STn^cH+$}Co? z@I5vBGAE|gEFt2#bebo>Kx?@VVPZsQm zGX&363PN;DO{p%)yn8>-ld|~Wt#@k z1qT#|_0xP&a7{VnFS!YUBJuv4`xzv>RB^+#ESXPm!=>(7k2I_UGt4PUk9({Tp6fcb z#>Q+8Y@Zl)4(P8~iLpe)U(Xe`+@&oKa#3+q&hnO>>#6;rZkP~L=f|{Ywmbc@_Z{vp zjsFuMS?6^XsM$cu2NfWw6tMJ1qQ8j0N=;-6{fs9zExU$l-3{ipEFTNC^YWz_GpNWwlEWmB z_^-6#dmo|ggxE;{)OSOY*=J50SmYC577`eWrT5*D!g1Mk94JiY$C0fC#dTOZx9n6# zLiY)3-U@4=caObX_l! zs2b7UT&*R|lmKS?1e>%loZVL3kAJ0e=JDUyE6i_ne(tCfW%lGa7hPEk*u4Dg9`My) z=VD9lZk)iKmYG}h*Cd{6&cJ30=ntz*z1^a^Lykn4x$}w^FB(JB<@#QJPM^EFOxL`} zlp4B6*}X0P{<)xE#bL80Kr9L+1N{M8@caF5YTDfWIs>-wf9~gjE5&G28)h&t^^P8%H~adkF-}6&qQ-Ufg6tI zK`dy&h*#H5WWLZe9ov@e?Oj7De!FX$zsoA9Xp5x$_!B`I$y!^tOB3z!rVNn#PauC> zSG4;0O(XmgV}_xEYB%$0wtGmS;XJR{B*N0(kiu;|4x`l^PR-iysV0s^={j6jjUL`T zW^h>B4TR$$Q+U+ioI6CS@uNu0AB)!P?8$RhZ{kw|OiB zf@LIFwFq*y^a%Cio6)Bl>Y^4TqS~;IA+-){qln9L1S<6(R6)H<fa_{5Qea12XIy_?V%56@w52l;d}}5jX^Aj$XZYWTshvBZFised z;lY~Sh^q2oHu(EYZ6|y$50B<5s|fn-_dQ^5%Bcw18`ZLe=U%%sU1G~n0_wD+#;?GwY&n;MI@u=@(djMoDnJ6W z1hMbOGMk+3(Dy&NLUej%mXpv9-rbM9B_H_K&i`L$?*Y}++I5ZY5PB~PNDCmvhJYx& zSrJiCIf#f5ihxK9(xoI=DAE)x^jHv%B2A=7OHhhPQxNGSfYKqM2U7OkQSqGryYKtm z@n6T#5CiO|tToqMbFKaCsH%}h%S-u^2gP<&ZZLxS{~eosE{Z%kERt(W?T>dU%2xfM z*;Tu?A?gC0S}*m-Eel<~5QO?0efhp*4%J4iZQ5ru!k>mO|6C?Ef>2p_>)y3(YM2(# zxD5I2>vDR#5uu=m^`s~mn8l*@LJ+1#^-ny-!tHx>&MDshq{tKZmlb%0#h0pD{G^!4nrY(CHhCFg3@8?zokQqR?_LDfaxBa4UTG$z}R! zOY-ARWbYjn4a9P;R^LtKLdt0+@TH)Wb##iTt)JaMSuSHB!{XAQeNV^*|0Ib*bi`)k z8mRYG_V3_mFTB!iL4zRHh8-Nn`f)&N06etH1R{0CBb`4YL8QaYcU@d_+?^hKYYZTA zQ1GEeLxfBAwxI1ekb3VJaPb>VP%Pza)g&*}sWQ#AuRCHo>?eJKY9WWTDtDW-RE5K8 zP)7@Pb7b9}bo5$?=D2>v8ah?D@P%0KwyQ#NpPiQauTAD^Hg{d{z$V-mYgC@l8UptZ z{wo4bMje8kvitfb9k?)<9z9_u4YhKv_wyK3ei>V{8QvZs**UcqFr)wa;KYix_+Jl` z`XtKStJ;wnP0TzR zKcZjE*G&>Ua(h#(I#MLR@-2jP+e!n%zrobnuK^dEAaWr%Ya@GfGOIZE+!Y};{NR*p zh}wMt_E87;R1HG5QW*Qt#hm!G?$zhT@e(TILTTl1qBXhSgXKZz>>cX2*E3^3;uh2*+HeA+5jYzsya&QR zpd)b6{H>(&>v{dEAFEmk9IYM5R{G?lRkYSH+Uz$duN@H~-dHCXAlTI6fR86&+FdZg zX9&-fYi|mc9K5=rpwpCL<=+{Yl2CD}hDWYJVzEsZedH3GLuQ>?i#9al@C-7A#b+VC z)y->Gsn>Iu%7QH@Y(4df?YqELz38R#c~=Ip{N}7r$oS*-vcC#*1;?72GRm9FXQnio zt>-cWtlkw#jJzsr&4`NbzxZH#VSBuVm9xo0RYCV5twig%_+AMIC|8sQ##h|Z1AsPG z*bBI9!~Qd$M7@hwXF?c^{fU^d%#Q{7Pv4B?eDcWfSzRAm{6fq0j?+6ZW0X2)&G~dO z*AKM$k`y>iGK)hsx1j`T`dJ*`zF2(LXI@_TR4kM8T;$U0hOA1$>mhkRH0J?yn5-F0HRW3eRRkyi$3SsC6k(dGEz3s6l&p6H3C1Ac4z+ z2@LB^2Vqh%?O~!YwfEuzm`peTNu6?{+1?@AS-7kyq=WDkGZ~x%)vM5`a@r}5pe1)Z zc%u2VJu8cLh?u{e}da5o!ZsI>jGb&SyRK`7h!W|1S> z!!ku-d}eLDfZEUspgl{exZ}4mcun>7W(XIAMA6ueEDu|iNInm0e{yq?SKFmfun2Y{ zMkNS1t$qS;wW%Qih~Z(e?2sEi*#nVrna=$^23&HtKT{wKITQz`0mPUq-5`rNpH#z#*Snpu`*o*e;;Xwi1lvauf(dXB4$t>w5h zM(6P3H>8XTrVdg84x^au=91Y+&x;}s&dt%(Fer5clh>Df z3rL{%=H?5o;%{qOV3<}emmplkFX|P*49n)!8&Fz@=DSv7!!QU^M^A2JmE_y85i`hWdg%zOY#+bf_=9_ZjG@pVj$bhCt>`qB*r z|G`BlUP?jRW8crz+TW7S3_`D)URVg!TtH~tg=-Lnj9~s}U==vqPdoB6mc>zxIC3@P z0JZ(R``NQ|fYgluR?KhEgvJ>&uc&0n{+alm7>4P8S8bANmqu-aVKSj0^J^Ln-_*N- zRF$ zF5a$+l$E5^i9KF{ocKiCqXO4fXc39|u@5?w>i2pli>GR9UiZ{qyh{0CqVYF zxrn$j#GbN}Aco(8;vX_6ht?>@;%R`$MS%_fdkYDofMh! zl}qguGDYdnOuneP&TjZtWgD5IJMPYIz%Eako;H;S%rQrayHSISoP8NOJULwW8%fL_ z2*@i|J{dyJkQ44R0KNVi`|qR@^755I=7-&MWaoq!WOQCstv;}^<;I9b_bN@!bQ|QP z!0nyD8;;Bza~Km9e-D@LtTcli{wz>9St^fd+=g*pl7nw;#_cIAT-L60a7UjIYTKpG zUU%S%G|>Ah@}JMQyK@71En|elk9oiq=v3QSRzD7mn>27C2AHxohqAG|s*pqeG@2iC zp~H}mrUU*4_E6(tITM(E3bfYH9vI`88>2T2u6jm55v8XbS3j9C_&G>Ba@X+Z^(an& zCl`P^j3Ks@mGc8#dnb|!TnqTR2*@0|DO0ej826-nT~kZ`mUr5<#unflq1-S7@{lbavgQ4K(+pD6 zB!@IM397u8;hH8T;X6NA)bsDu9@5Y=Ww@5OSOQV13-8Y09p}_)!?$InH!5qp5sy0D zgtX+XA=Zs5?511e-;L(EW`=)X$TEWynrR;1!#@UKf&#MFY1Uwjjv$&QmiL%{l3i@t zlqv52UaQS%KpbW*K8e?vutqa1NwF|Se_j*qX_5JeHl^=zrYa-!j#^@>x~ugo?~Q28}P@O6)X&DzpR0 zFU!(-9&3J?do3aaWOjrvK7YEuMLLWng3X=t@b&k*PqF=(m3Oku2pFRf0P<=FRbEdG zb{J+L!S8!VIWb?owB=erBe?m=Ph3On-uJI^9D9qp%Dpuurx$UcwjB+bJG(mWKX14q z!G}BCZt51onuixcrRoAF#lZUu)mzso@pY{R^QJG+chNz|O^E_&Ap025rq8X6w*?C(?D)CcVhVa-C!7ScH_u}ESA5nQ2Vx@4+Omm^{p9`R z1`!Tp6Cva3LKf8Fu`}90HBSvB1;`J z-u*8DqA0{ry=8(X60-nbH;84?u2|p)fZSB1qm=NVA(^Gaab{a8Q^ovk>rUNQH0S1b z-#54(JasG@|9MF78c_3&ba~)`?c%-a6ia#jdj9%EjGwS04AQHAFH20j9uS4!(WFj( zuuJy_g~MJ)x{ge{>Z6@4lWDJM0)(}yUWSq52vu5COWp>;QtJnvOp#2HBePTGqw!}ocNO*jxi^odZL1OC3^B$8>C z+5HuUdUQi-A!nMUH;uE46^e>`27gN#Kdm2PE)ZD1fRdEgOxXSpF3?-LaR*w%fjZlz z$NBzt5jXwVBeo~x`DRR}`2n=CiV=3AEo1ul5>;#HjD6~X#!7iE(1_jqyfR+J0nzuo zD(A@`^AJ^5ihYlOY`njUCgpZ@ab>`Yti=di!WogRKP@zr#|65{xZe9Nu3(g>a34_b zV*T@z7ZTvz{`29pAimYUbZ$YVLzt zhnYgp|JCY0lxnl`M%BTnR4NeTF5UU8eA=sSA!4QxpU*M zUjGr*sJ$}?JG5g+NA_;l8+c&0ea!zcUt1bhPfACss{f0cuC`yPcKJu;FAjHh12XXY z;6PBF5BF)@#KW_+Q@BBMhHZ7zIt(l`D~9Yt6_^fL3Nd85UfUQVw0p8fB=&Q~a*xW9g~`zUV>isV;>+!ES z2)prl+z zf$8=Q;l%ystTl)}IRBQ(${iDP<;TSN*MT`?PTjx8Y)4>%qj>SjgS9b}7Y!S+7}^!L`n^Ef=;cA! zHAAQ!1L{@2#w4ZJ*J{0)#OU!F=RZ@u&cBt6U2DD8BYS;EWKC<0*qSl|fMfg} z+m?Ay%8BxsdidyibBvtnUw>Gq+`#yB`sQr~5-8)k?i#gbNX=G z{IZ;?p-%mnvO*7#eebJMjq&b3e5yg7xpZE1)_pb};8%{sw1tF6HXcED0SZMG2_u^k zJg-P(MbP5hCIz!F(k#(s$W=oPGn^%<^vYk*6VlgYd2WMjJ0+gLTGp{EoLco493s8lr%AWfJ zI`ZFv)Es^c2R;LD3xT%TL%MA&{E2^=sqTB|2FFS_H2?v0!V#wSW&~>de~Q(R6Lmp- zpBMgnGU^18mt1_>IAle9_8%%aGItnGKZeUDcHd*G24o!T+?u3`@V29(+nDm{FOPpP z47eXN5Wobf;oO>b65kKyl|TEja!Lvq@9tB1^YXZ1Ln^O#KPE;@O(x}mYNdh@{EueP zkeRAL0|kS58Jx65B9YcNeptWuhM{X%g%PwDbe;;w>Za#uCDq#+c0b62mOTV(=>T1dy49mz41;Rj!u*P<6z;z?_LYri)=k0zS zRLtV-oCozh#mTFd>aIsK$5(FEutwb5Pgy^C9=7%mn_uMB1)A_S zP{57LSs_&8OX>yn?M*(I=>QS)s#csr$Fw^*wcpPd_%D(agdn3J!T48(w%|zrIX}jk z=tb;VnN%^80^aSpL7+|>eHP#_{*f0e-@HS_FMcsyXXlU!#1;`O_Hw3NyAY6Y@$>$> z>5Q_|)O@CxwDOb0OfZ6K>Cl7RHeLU#!0{|E9VmT+Ho?!j(sJwbT?0Fb;$fcouc#G5 z9QbUVj&0-mzO0n5Lu+^>OC3K&jXYE}Ahxx|H$KHcCK4;@<6N^Ntv0;a&0jG<5a2-Fx`|Pr1&8r`^Bti+-=)L!M*l@4 zxi752_m3f-JU9YnvxQ7is(+i94|5fT4(vHf$ksn2lgIh%*!BQ!{q?6M5!D)njKsu9gmP zcDmCb)0z7fsBz)lGES7k_>cw%CJQrc@rmV96=i)LPGa+Z4(Xb|r&@g{HjdU ziu$^#8xRxtU-UC4dOE;wN&$C}8;V0GYNXFR4_c5Kj?mRjJ#AsHzy8JH4V@p81k%JY zNQwrvG*q1}m#|`%^5NS*7IK80CRN*tDusX=s=2iABqclRlhQ^h~LV`CT+VPr#MB6M5x zZ%ZnVmn%(1L$~4%iuTv;dZR3Eee87WQ&zn>pbsbgPET8tMX5V3xKl(3AA~0;d|~b5 zu!niK2yI2BXOr=!w?P?29`p!nC`V~@sG>VL z@!$|bi(|}Zqp{`AXf!^&tuCIbl3X0SH(KC+4*OeSHi&%nLITEFH0}C)(Fik%^I#IQ zbSlAW5bDACZ?;*zxN*37GNlGu26U7!BAADApf8`FBoXl)wLze*R$F37>yrI6LJgc~ z3!0vvCc1$aM+=)4IZG{xa%6T_j%l&}lc!h~^1u_<_dr#FpVm1gWG=jhJ_d2pJ$?Bt z1CLC+GtI|?^+T8QEb~6PMSNEWu(W#Xz-}1yFkMl-%T@hyWc~$soBWW#$u8JJa?T%5 z6%6+SGT}+;BkZ9DHnc$l;%>?dM_FOeZ=l3H**YJvJ`(+$<>=-)AB^j+bsTmy$ae{NyN|B9e~J@M`S`)9)!rYVG62PWq3emG_puJNYsF z9bg4GCk~Gw;G`BU(cXX>TP}j$^&O=)h9@5P8)3JXH-*KVJkR2t62l^~Wt0sQWdHda zrpfD|cNGQQnpyEYm7~+{xCwgI&0eORpHhY11efMPS~x)as%#kMEEe(n*^P6&qRvRh zy1*QXZenpDs9UL|U%d$)U!i8NeC~Xhm^SPLrgdR!9fvS*hX;jc2y7$%lL46(F(D2j zdWp_Ty`+e7wtViz=`R-t?=f9kq+dK@Es9o!UB3Z?hqWLCaU{J5^3 zh{Pjnil^(pnh(vlMj<1S$vOC%W68o~8f^-Cq~^Zg)H|W6`q=;A0ss5ST`SqYQ z*@%l~i?@cU=2ZBOb~>6FMoo-|m(5d?1yIxD;X1djYlhYY(T`A)n^k)mGxObAgN%Xs zZmJ8?3_+4CXI3$M`s%d8!mK%rN%P&kgN&y6?ux;>NAo!AA#kk@oE@e)K{fJ-PGq$a zK_vqhXc+NsWA@uRI-{16h9imxi%sWahLTS|MuT_KSN9|8B{vBvn2GwGJsrCOst!%dgS+xU$w^I_n z!pN^aq+BVelD3+;@q?LdySXVQCZQ62LtF8dW|eF;SOt0F@#Me$@Cqj@-bl;j&!8$C zH{UV_W-Gq{nqOqWpqr(y18=YBH}WY7W!la>h%JUqkf7WtI8lL*cxMGU{U`Un$gce5 zg`Ts_CK&Z0LwzXY{Z6u(=K56$+16U7gO3w?Vj>rh=3>^p-m>`)MHERd3 z*PN8+-StmwJ}w46#-D@SIP1zJ$QMmj*Vk$6JfWG*urS)Rs#8H++bh;WSh>^UrD3m0 z+Z$QbNV#+}f)~^!Zg&7TOYT!~=2#mSmTH-z1Cg_y5TAQ_AQD==hg>zIq~_~%>?hW> zc0(&ARP~&t3k%f?yGNwbj`=-&^VS6-%J`jr5t090-e@B7huguN-}D z8L7=(K}c>F*jylma$vBuFGUaF4i7J%en!EMweGrKnR()b=Ymj^o$xt)b(vhLi%kBx`QG?jW)@d=J}`-nEz8Fp`Xj zeZAmrwkJN!ck^#7UI0+y^^m0)TA6Ja{`sVnf6);vOt!IB#2c~qdT1zGLb^^{N1XoH zh#vNa0wTc4?|`{nSh4VBMnboFr8E)WY?ZF^UMwy$hW| ztrJCANl2(0bCr&KM<3Ev>t-CZqv69Do#+-bFNi)%eQ;e?!Y5+Tl zx@miHrDg|0ZQKJx@M*&F&?1OC@vYhw+=&=(t<&j%G*p=UwbxK(xR;sR{Mu_sE@{Vn&ui%y1yxSY5VfQk+sTsrK05m8=~%GO&G6vJ!+>Q6Yr~I4j7d-vz3C^m zQzOyS=x#l)Ghx(wQ*j6EXq(Zo^YX=4$xw}{6{;~!bs0f@BR$Mt`?InLy_#$2Lo#CD ze-ha*g4Pus)hjt)34_EU8185?3rb*a^g(U6hO=@YBj`PhT!J<0QmdnQRlq0@NmaA> z@6Jf^ET_5qobZu=zS50b*yDgyv5N%fR&0Hw#2%&K2>QT_l4BU*X^=;jjJg@EJumt$ z3SueWs{tA`Ed>taqL^n~O)vEXpt>%5HYI8eqc=Snu{(gh?cSd{@SLcX4rrplg7(Sb z0eev+*J<}Nu{< zS0)LT${6`ATIRGK8=3FFh)z-%0)wRO8$&b#7xbjC*EMN+So-Gd<(r7j`euMePO6dT zFh=yPFKyDXVP9#_kt=3I$88oS_ch*!&rtBm97gO)so@w;1+6bYPjL318kmraK*hZh;~ceh&s7eRIAxt z8+@e%!JliWHo3oeGFG+4(hjqmY)>rw(_2wu83*zt7lZv{VCyu_=jJf>^t0!S4JQ4! zB4(6FO0;c|oBN03v$nzfZ-ErV8Or+#Wdy0W&e14hp+(Xfy#j9H9a%{^kx2w`$yLsZ06KvlYy^CYGDY9Ep#+baPu%fdda7bbRc8zVw%OUvjo-rRRif6 zTz2ZI4w}%bjq?vNJwLg~tqn^Y(q@qv591>ra;3?GaD_%hKONE^zYHvm8r1^D0-1L8mztP z3H{Sy>$SV*8v82H3o`>jrAFBe>X#dvy8GrLJZpA*@bK;pk@W#c$+z#u_m^Y}{LYg4 z&N)puf~FsFi!Slj-Dtu}3{`aF=?-hcdJySy(JEuYVg!2bf|pv~{15E>QZ%&`B+qPW zGzl^8929nFLeP8M{eupM`+Tn?x5Q3nmevb8h#WG0o6l85rl>LE>@d^Bt zBswJQ+JdFSoZ7*{GMH4b0Lu8hG!Y}6l>VE6#HcuyUqvL((FkVJ01n2`b+5xoHoHb_ z>@-?=>bpinY{rHTHBlPYzX#FKOU)#Baol|XI(MGppjOiI{b07a5?i36?9HY-uq=;_8r?Ag-;{vVrEK9H2ao)WRc1Gpmjtm8^U_oZWML&IG3ogV1I# z#fZTG@me($u?5~fw2u5H_bq})AA%K4MU%D5fz-!lN0)iLcVA?#fyyQtKp77j6JtNZ|-esyoDx5 ziEYc5|b&_OL&yxmZjsw13Em237Vu$bNi%|lpc49?@j4sL7^R7tVg)Hg^zG1 z3l2KSB;Gy;$Q?FJZLklmtuEE5UY-hBt)3x|j-)SSr)6c0ETm2M)4`nlnZgCzL$3@2 z@;cs4(uzil;3GGwwvk$Za-{PYr-B0MV-5Lnj8B|XuEyt2Fy*WrFt``?6Q}lf>hp?4 ziyg3AuFQ9r)?UVA>dP%$Sfx~``uE}iLf0p}6;Y}K4OdO2h73*OMb*Cvo8@C~ta!4M zza+6IR5l|JwLiL-PO}4msHy3(!+(V%T>t<{bDgAKbJ?9Gu4lLAR1&LrNI!o(JI%5o z6%fwURfES1zJcZNZP6=wBUc$?weJ;c8E8Xn{7lQNM#?WAkH4O*kTCr+q5TCTIVU&& zZ@@Ut>;)Sz0%k6MDYlD^jcU=;?^IP z>_(pH#iw2g->%R5;n|2TWWUPJD(aEafs3Iuo}j#tW)8!uM8z{FPKX6;-wyOGZ@+f_ zxfEZ)sHUGjQjm{MKdEYX_2ez3I!Bn}} ze|9f)E<$ZP!vm0x`0M?x@JgMYDN3i%3>Dchzn%DOeAyumzbCk{>yi>jxt^b>9;&m{ z{m9Jmpr}YkKP-DkDpm5i5-NBl`$C^hu^DB z2$)pN`GL9er>d8`~L*tHGclte3aYpfFELuf$H(*ojH z?J(VVueWbuQT|rH%PdaT61Ojb!UdN=Gdx=+k9JXTljrjb7a4Ptt~0&5A8#S50lYIV z=yBoSECBtfO-^>sKE>UH*hKKSUx)6H%Tp<0N8f_{71lYf|35oZ%;Q2laF|GvhZ6LV zOtWltQksg(%Yv_(ch7|6Xhj_ayfLNLnJVe6FX|>;oW$Z;9 zBPTy|RAzNt#~2`keqWyoHIy?IWOioZ2la8?#Ah5T{ID~j4%!q5XKpd;ijb?lo25U% zc?fqw>q%mkFyWI1<6)1~u`kLm6)8R3JW;aIZj|w5$UyKp|bO*S?WePS1vwrEj^aK`W58q&S!Pdoa`T4IpB_?Y0Po){b` z(yke3n{#^Ssp!{riWT@qHzIMK2=BdoD8uN`<&t|sXF2i#4+llE)srJ` zn_zH_%hIDKuYWV-hW5iU{2#|=!>SY2ElzHrVUvotcpM%}BM&^ zH?R|9Zbwfde(MsxD_LN?EV)-UhSsCD2Y*1#OmH*wi*Uz|me-Cv3w4iN-BnuOysoof z4Wf5(_$yLlTr;S61Ehf2SwlaNESeHDLjOzi!pE>ZzDDk-Z{%K)M;!X_%!X8@eInXD z-wIy}Jh6gR%@`qC6#&16wejEV z3J6b2TZ@_G9t|rxOn%R-}BgW?6%h{c@14Ub|29+jx9cKtf31EUf>q@u1?@} z@%&viVHY5DN!(7J+{@~Vdwev(sAwz@Hup-g+|_k^X0G0u;%({u=-Qe$^ThNGYk)X4 z#D4ExT1E)_!M2ipCD$($KU8SHpz_@HY|zyPMR>x!J$@{yPhRlcb7R}Z`8%SCZ+ol^ zKhI;19{Coj=paf{$EH&HAk4i@R>n zlNin#S1aZjkK2K%xjW0=8h|+)6q+#JM8Qre3s$fy}NHuu&B2< z5+A(1!jkn2Mo&6ag`6%fsO=bR0ze1<46i{N#R5H4552w?P|N6I6~D^#Ny8+Zoqf{& z=B-fk1UnAhPg_;S41nd~{ARXnZ1dqtlJ5$}*|O5E!qiui3FTyYUA|uBz6`xHI6&Icka9E(|kV z?C(%;Yo|fb=4Vff3h|5Cr@L`@*N0uBuN~?}z0VvOMl-Sw$Q8KWl@(5%Wl`|8jlsRV z`I|04=YNA|E{P<&4?U(T?UniTSXJaay%VOI-hbTT%f~&pGw%o*qk<};?$Wjcm4`mM zF-RLXV*KgDbkhjSfFV`_sOq=Z@}WDg8S1X_!!tsB-tb(m0YF4u@biemw%<)XQylL8 zE6W$2T9J_QSN5q2b%B$ZIB!ieCmw7BxnW@KMhd^M zb?_mPOwIZ5Ak6}h^)ZOVam|SCrTS7Ib0~_e)ZL&eI`jGb%nhUO@T-r z7`mJzh|$9@Bogw4PqE#-EgYGnB3PVazm-#X z7LeAbtPkEoymvXGw4_K({%~9i%OR?c)Tr2F&X+84arjAE<)N27MIrAA;VXf50c=16 zzm_BXYLw)sHXiq6{$3T+xaQ>7XAijTjL3_!OsKyp@$|FfkJGFJ8j&8|dWuc&XRhkg!klvE+xfIcSw0BH>yF>Kl>~{>gGKzHS^Ex;>xdO)N=Q#{E`D>>P{qF zNB~cG?uD+XYJzYsbulfcZE)C^2G+Va5+bf}VJwWoj#yuU0lv?}2s}9F#S`t1xh~5e z8_!jD#ajT%zSYAC8mw6uOT5=aeAjVy=+q$yB0HCZe2~4fP@WRWEHJEGC2%me4}xc? zv})9hgaFjz*ZaBYjUM$u*& zRsbx1c8cvX8W^GT4D%C%lh_CS(4=|x>-^=oAUz;BiHQ%LYb6CZ#N5XEuwi)dT>c~@ z0>4&ESexeXBt+{mR<9AFeXw=7Nh1_>`hP7d{lEZSQiuu;O`RBY5qzoAbmQ zqitZN$&VU7?N5OA&219F5({NYCr-HrWF9b0KYNm=Qsutl-byRZGW|n0Pda3GX`I=` zCH_oNv@+#_arM35wIwHV%fJA1a7Y;1V3SSp{Ze=a41l1kHO(c?roOfDU`z7rdyQvf zq6?_sXNn8ovH(s-OkWSL;>KH(4)q(+lJBJCRxZDQWE^KbjPLOocjRM1a%33`N46d;)yx5QgH zJUrWrRC>L?JX`D5%*sIJUl6(pMz?gYCoWWi;h-i5-jbv*68Ks=+UdEF4{?uNmDcTZ z4W1uM&Sm-%E8k%iuCQgYn2WH&Th&o#m0v5|dO%#m2^ z^u3$0YVeL7Gb$eS?i{%xYM;viUnJLH~|bwdutVwf8IYyn|22%?R@D%VBc?b^)^N_roT@ zZ~~_U%wo8r`h;=L(n4P8CMx}far>p&@ck$9&`RDGf}dbYTO2_o)Y&U)hDAHPs(PFf@%?^2pubpexyiN-5H!hd z$hf@&RFb}qyrUWl1>`szTfuB)>Uz%P|R z{VAoSpLc}#`$6|B|Ln{A{7=%!k2frxnkstdb9epWM>nd9HjP~|db{5@r?axE^Ioxl z(zgdYa{x>wSMW^Tm%=)%qRriN39E)Km!@gQ-*W@bw|}tYJ?lmbYajj0^|1`TRG%Y? z!#-x~;~!67f&aAVhJyH@k^tRqs!DPQ@mJCPj2_Bm1%KGzVkma{?ZnG)8UC~^wsBHfQL+1+|tzeX$QFVvU0o-CE&kwH;5kjl$GjGk4hWQ0YoS{4g zHy>=UzJAL9tQ*V|coe=mL=fm>dK?`yPenE3?B}WE`R?^~8izMFqH-;uZ#)Rn2O<$5 z`@+Wiq}1@$z{6GAXpyVOe$c}j3#uCDA3f?_x8{6F+c*%Op$KI6t|^zNZh!q&-R3fN zT)^T`mHIN0`ur>(IU4b`hFown!oB2i^gSiHhr5alF6A8R##Wqj_?o3oR*(0+#T9Sr z@P0@slB*fwiZ^{{H)iF3!b7i4_CZ*A*uFEEpVWIf1~MtCF;w+~{p?coqd`Z1RWSL1 zN0^?zrET+!?QAe(p!Y*WtI=ND)026nbDBO6Yj*q z^Ds5&nCGTR8|MsaeUKN5WU?6g3Akf!rt`VQ$jpA^pd8$fm81R~wP9O(0>=0qn`QD?<$No&lc+E7((0_})=3I%&G7Irkl$=yqsc z^nzjBFDbG*t8<=>SLweoSN>?u7dtPg-)Dw@(kuJxP9g2fZiMxzVq~kkk59kM`j6&M z&pwRAcc6bjAv{``!X4al6mV!sC~GK4XKhC3jr(lp`QGsG)js3PVmgPMB#qV+tN_MX z-AhTsCIMQzr*Dl~i07`|=84Q6@l@$Z{bVHH|3sO9l7sy_KD*Di$iaW=9UvX zg*^&R7Tcnp{2+(Asnr)|-A5&$^&l7TT=vm}_N%J;2_zL4HP6fRYS!$QJ0!}!`0bvXEgWtc#NS|ZJ^eOM#$s3sOH8?6g@Nq5t+h&`1{U9sc zfSt3=1mjrYb@S#EQoE|LAism&)Tpv zbiyeslo(V(`TAC(&p?)b(AtQ2X?!x6cYq}^HGI!brUJ18X3}c- zQ0Q}`YD#CFPsgWb06+1%?#m9@7#Jq3zxG6{&AP-{^*r9c@Xx2Rts?J+?tee&^2F(4 zUBSiAm9K7TN%`DxYmYE7em`7Fe&@z-^Wn|w%O^|QhCrHg(5H8T;m3CX&qz5VtlS%C zhvPvGiMiL3#Q`1;v1xoZs4-=fBve|A54GPVyP*Fni<9AVF?xVM1) zaX3<3yzg>Ek<={~Nqkhbmw0)0-{(z9*QR{j($f(Gihuz`F;WDwzZC7+d=J7OBs~?^ U6v}-EKz~e+n;$DY;&Ai-0a$j3WB>pF From 1597f3c4bbb6f06a545a04ae77b651fc1b4e051a Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 18 Apr 2018 22:29:12 +0200 Subject: [PATCH 143/487] remove postinstall step --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index 809ab84acb..2f03514b9b 100644 --- a/package.json +++ b/package.json @@ -16,8 +16,7 @@ "build:linux": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js --linux", "build:windows": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js --windows", "build:macos": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js --macos", - "build:all": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js -mwl", - "postinstall": "electron-rebuild install-app-deps" + "build:all": "electron-builder -c.extraMetadata.main=dist/bundle.electron.js -mwl" }, "repository": { "type": "git", From 03a0c31dbdd17e9c540dcfbb6053f94750b99bfc Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 18 Apr 2018 22:36:52 +0200 Subject: [PATCH 144/487] update icon filename --- app/App.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/App.js b/app/App.js index 37c6cf8623..655db6ae50 100644 --- a/app/App.js +++ b/app/App.js @@ -17,7 +17,7 @@ import styles from './styles.scss'; import compact from './compact.scss'; import logoImg from '../resources/media/logo_full_light.png'; -import logoIcon from '../resources/media/icon.png'; +import logoIcon from '../resources/media/512x512.png'; import artPlaceholder from '../resources/media/art_placeholder.png'; import { config as PluginConfig } from './plugins/config'; From 69c16cc55a5e6871ec9ae72d849c01a48d7bd02c Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 19 Apr 2018 10:21:09 +0200 Subject: [PATCH 145/487] Render multi-paragraph reviews correctly --- .../BestNewList/BestNewListActiveItem/index.js | 6 ++++-- .../BestNewList/BestNewListActiveItem/styles.scss | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js index dfb588e192..49528e5e66 100644 --- a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js +++ b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/index.js @@ -55,7 +55,9 @@ class BestNewListActiveItem extends React.Component { : null }

@@ -66,4 +68,4 @@ class BestNewListActiveItem extends React.Component { } } -export default BestNewListActiveItem; + export default BestNewListActiveItem; diff --git a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss index 38b4829cde..f71ba11c63 100644 --- a/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss +++ b/app/components/Dashboard/BestNewMusicTab/BestNewList/BestNewListActiveItem/styles.scss @@ -103,4 +103,12 @@ font-size: 1.5rem; padding-bottom: 0.5rem; } + + .paragraph { + margin-bottom: 1rem; + + &:last-child { + margin: 0; + } + } } From 5b80f39dd602149608773e0d7c8fa651823afcb6 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 19 Apr 2018 22:43:33 +0200 Subject: [PATCH 146/487] Add loading screen --- index.html | 13 +++++++--- loader.css | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 3 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 loader.css diff --git a/index.html b/index.html index d984d1cc14..19818f72c6 100644 --- a/index.html +++ b/index.html @@ -7,11 +7,16 @@ + - - -
- + +
+
+ + + +
+
diff --git a/loader.css b/loader.css new file mode 100644 index 0000000000..bea74675cc --- /dev/null +++ b/loader.css @@ -0,0 +1,70 @@ +body { + background: #282a36; +} + +#react_root { + position: absolute; + display: flex; + justify-content: center; + align-items: center; + height: 100%; + width: 100%; +} + +.loader { + position: relative; + display: flex; + flex-flow: column; + background: linear-gradient(45deg, #43CBFF 0%, #9708CC 100%); + background-size: 200% 200%; + width: 15rem; + height: 15rem; + border-radius: 2rem; + box-shadow: 0 0 38px rgba(0,0,0,0.30), 0 0 12px rgba(0,0,0,0.22); + animation: gradient-anim 2s ease-in-out infinite; +} + +@keyframes gradient-anim { + 0%, 100% { + background-position: 100% 0%; + } + + 50% { + background-position: 0% 100%; + } +} + +.loader>span { + position: absolute; + width: 0; + height: 0; + border-top: 4rem solid #FAFAFA; + border-left: 3rem solid transparent; + border-right: 3rem solid transparent; +} + +.loader>span:nth-child(1) { + right: 4.5rem; + top: 3.5rem; +} + +.loader>span:nth-child(2) { + right: 7.5rem; + bottom: 3.5rem; + +} + +.loader>span:nth-child(3) { + left: 7.5rem; + bottom: 3.5rem; +} + +@keyframes loader-anim { + 0%, 100% { + border-top: 4rem solid #FAFAFA; + } + + 50% { + border-top: 4rem solid transparent; + } +} diff --git a/package.json b/package.json index 2f03514b9b..b684863b87 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "electron:dev": "webpack --progress --colors --config=webpack.config.electron.js && electron ./bundle.electron.js", "electron:prod": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist && electron ./dist/bundle.electron.js", "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production", + "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production && cp loader.css dist", "build:electron": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist", "test": "mocha --require babel-register", "pack": "electron-builder --dir -c.extraMetadata.main=dist/bundle.electron.js", From 2556a88f00bbc6444aa81731d0857900fda8a0a7 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 19 Apr 2018 22:51:54 +0200 Subject: [PATCH 147/487] Add loader to production file --- index.prod.html | 29 ++++++++++++++++++----------- loader.css | 8 ++++++-- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/index.prod.html b/index.prod.html index b2e1ac553e..2c08d0c579 100644 --- a/index.prod.html +++ b/index.prod.html @@ -4,23 +4,30 @@ nuclear music player + - + -
+
+
+ + + +
+
- + diff --git a/loader.css b/loader.css index bea74675cc..a52dfab060 100644 --- a/loader.css +++ b/loader.css @@ -26,12 +26,16 @@ body { @keyframes gradient-anim { 0%, 100% { - background-position: 100% 0%; + background-position: 50% 50%; } - 50% { + 25% { background-position: 0% 100%; } + + 75% { + background-position: 100% 0%; + } } .loader>span { From f6c194af73cea5f2f6eec32bd2766272cfb835e3 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 19 Apr 2018 23:06:14 +0200 Subject: [PATCH 148/487] Transition from loading screen to the app smoothly --- app/styles.scss | 12 ++++++++++++ index.html | 3 ++- index.prod.html | 3 ++- loader.css | 8 +++++--- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/app/styles.scss b/app/styles.scss index 37d10d0340..4b26864b55 100644 --- a/app/styles.scss +++ b/app/styles.scss @@ -10,6 +10,18 @@ height: 100%; color: $grey; + + animation: init 1s ease-in-out; +} + +@keyframes init { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } } .panel_container { diff --git a/index.html b/index.html index 19818f72c6..3e136fd5c0 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,8 @@ -
+
+
diff --git a/index.prod.html b/index.prod.html index 2c08d0c579..f8bbd37665 100644 --- a/index.prod.html +++ b/index.prod.html @@ -20,7 +20,8 @@ -
+
+
diff --git a/loader.css b/loader.css index a52dfab060..bd378f4388 100644 --- a/loader.css +++ b/loader.css @@ -2,13 +2,15 @@ body { background: #282a36; } -#react_root { +.loader-container { position: absolute; + width: 100%; + height: 100%; + background: transparent; display: flex; justify-content: center; align-items: center; - height: 100%; - width: 100%; + z-index: -1; } .loader { From 855dfded7c45207205d066d27db60a72e1058a56 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 19 Apr 2018 23:22:08 +0200 Subject: [PATCH 149/487] Update some packages --- package.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index b684863b87..66ad509da1 100644 --- a/package.json +++ b/package.json @@ -45,15 +45,15 @@ "moment": "^2.20.1", "numeral": "^2.0.6", "pitchfork-bnm": "^1.0.3", - "react": "^16.2.0", - "react-dom": "^16.2.0", + "react": "^16.3.2", + "react-dom": "^16.3.2", "react-image-smooth-loading": "^2.0.0", "react-router-transition": "^1.2.1", "react-sound": "^1.1.0", "semantic-ui-react": "^0.78.2", - "styled-components": "^3.1.6", + "styled-components": "^3.2.6", "uuid": "^3.2.1", - "ytdl-core": "^0.20.1" + "ytdl-core": "^0.20.2" }, "devDependencies": { "babel-core": "^6.26.0", @@ -65,7 +65,7 @@ "chai": "^4.1.2", "classnames": "^2.2.5", "css-loader": "^0.28.9", - "electron": "^1.8.2", + "electron": "^1.8.4", "electron-builder": "^20.9.0", "electron-devtools-installer": "^2.2.3", "extract-text-webpack-plugin": "^3.0.2", @@ -76,7 +76,7 @@ "lodash": "^4.17.5", "mocha": "^5.0.0", "node-loader": "^0.6.0", - "node-sass": "^4.7.2", + "node-sass": "^4.8.3", "nodebrainz": "^2.1.1", "npm-run-all": "^4.1.2", "react-debounce-input": "^3.2.0", @@ -89,7 +89,7 @@ "redux": "^3.7.2", "redux-promise": "^0.5.3", "redux-thunk": "^2.2.0", - "sass-loader": "^6.0.6", + "sass-loader": "^7.0.1", "style-loader": "^0.20.1", "uglifyjs-webpack-plugin": "^1.1.8", "url-loader": "^0.6.2", From f5f502a05ca895125d4eba93e40bc6c339f2cb6d Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 19 Apr 2018 23:40:36 +0200 Subject: [PATCH 150/487] Replace stream sources without removing streams with different sources --- app/actions/queue.js | 48 ++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/app/actions/queue.js b/app/actions/queue.js index 6ec343c51e..e4e8c2bf5b 100644 --- a/app/actions/queue.js +++ b/app/actions/queue.js @@ -20,13 +20,13 @@ export function addToQueue(musicSources, item) { }); Promise.all(_.map(musicSources, m => m.search(item.artist + ' ' + item.name))) - .then(results => Promise.all(results)) - .then(results => { - dispatch({ - type: ADD_STREAMS_TO_QUEUE_ITEM, - payload: Object.assign({}, item, {loading: false, streams: results}) - }); + .then(results => Promise.all(results)) + .then(results => { + dispatch({ + type: ADD_STREAMS_TO_QUEUE_ITEM, + payload: Object.assign({}, item, {loading: false, streams: results}) }); + }); }; } @@ -41,20 +41,20 @@ export function addPlaylistTracksToQueue(musicSources, tracks) { return (dispatch) => { tracks.map((track, i) => { dispatch({ - type: ADD_TO_QUEUE, - payload: track + type: ADD_TO_QUEUE, + payload: track }); - + Promise.all(_.map(musicSources, m => m.search(track.artist + ' ' + track.name))) - .then(results => Promise.all(results)) - .then(results => { - let item = track; - dispatch({ - type: ADD_STREAMS_TO_QUEUE_ITEM, - payload: Object.assign({}, item, {streams: results}) - }); - }); + .then(results => Promise.all(results)) + .then(results => { + let item = track; + dispatch({ + type: ADD_STREAMS_TO_QUEUE_ITEM, + payload: Object.assign({}, item, {streams: results}) + }); + }); }); }; @@ -63,11 +63,15 @@ export function addPlaylistTracksToQueue(musicSources, tracks) { export function rerollTrack(musicSource, track) { return dispatch => { musicSource.getAlternateStream(track.artist + ' ' + track.name, track.streams[0]) - .then(newStream => { - dispatch({ - type: REPLACE_STREAMS_IN_QUEUE_ITEM, - payload: Object.assign({}, track, {streams: [newStream]}) - }); + .then(newStream => { + let streams = _.map(track.streams, stream => { + return stream.source === newStream.source ? newStream : stream; + }); + + dispatch({ + type: REPLACE_STREAMS_IN_QUEUE_ITEM, + payload: Object.assign({}, track, {streams}) + }); }); }; } From 7ea94dca4494a85afc87247209929e5bf6994e6c Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 20 Apr 2018 21:48:47 +0200 Subject: [PATCH 151/487] Add windows icon --- build/icon.png | Bin 0 -> 76880 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 build/icon.png diff --git a/build/icon.png b/build/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..645b73de291ae41c8c400af754393ea37e81c74a GIT binary patch literal 76880 zcmeFYWmH_-wk}$Qy9aj&8r&TcG`NNYcc*ZdB1mw8CAcL>aDsc`gb*M|2=4Cg)Gf%` zd#`ife&@c^+PnXDXn~q@_TEPy-}t(WF(E=tMGg~<6b%3XU@FK zQ?K!B0Dw^6M@!dD!^D%?$pvI-V{bw2=IvxbZQ*5O2>^Iam!;Ww=!qnRK+T@CA`Eu9 zaAu8(Y_44pH6%$-ecjP^*Q-;A|JWdDX)aAKSq-A~OWkb*8~=j0 z#@@+>w;TUFRO0?}vSh(fARFXmh$b4g5z~?_H|Z_r@1N5>xwCS!Q!qH`ux*zUC(@3D z(NyioXPD@RNpO48t{< zw98vAbnsS;y=kpU#Brf-i$OCw;HLA_MPm3)EomeuVE(i8UBil^wF!yKY8O2y=;Pgn z{%k9#`69jCWn-;jR0PS@Z@Hf8WGo8$ZFoa+17&$=>Y9XgeJ#|cAa`&pu$-1=zr{4o z(eEJ6yDP?D(VjYZE3EM=#IcX3TYev1Z)sh~$>8hH--W#TuPcBkxECr)NCa|L)#%?W ztfDS@gqC%`samazOH1^F6~A#f(B=OJOd7lN-Ue3hiBDssnTS5X=;oObinHE=l1*Fu>j>Z0j5na_}Y%?yQ6 zSYd#K`)*VLC~ve!0)#+Lipy16j@!S0|b)<8Mg z;~E_7UsYa?iyy6cydgBomxml&nt+=ggI87B8Gh?{aol{_YIWr50C3NnQKr%hU3B{} z=)`_g z{4G2y+hi68idP#T{JVLQ+y@iaJ3mVKWHQl(&r`92C*17Yq3EKr*o%4MucWvs2eyqW z;5$h;Bn>A&{~iu^4~75gFoph1sJw_jX&uLFXPu!#nH5Dk-X{kB@eCs5_O=s4w~vCxsRC;SBOSkyqhQlI+<@HUsLIdcimsXx&7^#}R9 z_sc0=+J*mh&AAWBc5H>v{?^=#$ zS|0SJ`a^A%vZTuPl>D@y6CC9XFQa)6@J$0e6?v_oLvH?WpgQjAn|GWD9H-IA zK_UE475zc|Z;gk2NTN628t)5{xR5{7C?=C+^yCJ|Aiga8+!1S~t+wG#h#Mi#X-0pC zn&4b)O*NAWKIk=Be8&*7|B09*=~#XIZbO5&9l@eemDKC`9pQZ3|QO*OX5uTm$2&BL#qsUv6$Zj(}f`UXqV4WONtgM|p2@3u;f*^7bE z^V+0T=Y2KqYve|fBfH`zZq9vs<2;hk01Ywutg`gy)6D67>WmVV8OgK?&K}Ogzrd{p z^F^Ip@{KY&oRjY(E=>2T_Rw%~Lb=$lJQZDrm=hD|0^iZjr8W{=N*&XfiqC%Axt{Fd z)zim{Cf|Ot!{pD)a&0?N^kq7je>o3| zcf(!MK4((cZFI!W@E7-gp)^}lzEN=Js&GH_Gv

o!5r-KK%vwn~EmtV*d(~209&s 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

6Pw}NVOyjrZ4gp$acdM?a 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 Date: Fri, 20 Apr 2018 22:21:21 +0200 Subject: [PATCH 152/487] Workaround for webpack quitting on non-linux platforms when detecting unsatisfied optional dependency --- main.js | 3 ++- main.prod.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/main.js b/main.js index a35d39ba66..f6901ba2cb 100644 --- a/main.js +++ b/main.js @@ -9,7 +9,8 @@ var Player; // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { - Player = require('mpris-service'); + let mprisService = 'mpris-service'; + Player = require(mprisService); } let win; diff --git a/main.prod.js b/main.prod.js index efb02fe0a8..f63e4d85b7 100644 --- a/main.prod.js +++ b/main.prod.js @@ -8,7 +8,8 @@ var Player; // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { - Player = require('mpris-service'); + let mprisService = 'mpris-service'; + Player = require(mprisService); } let win; From e744416292050c65999dcf1cbbbdd4b6669daccf Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 20 Apr 2018 23:58:53 +0200 Subject: [PATCH 153/487] separate build process and main files for linux --- .travis.yml | 6 +- package.json | 9 +- server/main.dev.js | 94 +++++++++++++++++++ main.js => server/main.dev.linux.js | 7 +- main.prod.js => server/main.prod.js | 7 +- server/main.prod.linux.js | 137 ++++++++++++++++++++++++++++ webpack.config.electron.js | 68 +++++++------- webpack.config.electron.prod.js | 70 +++++++------- 8 files changed, 319 insertions(+), 79 deletions(-) create mode 100644 server/main.dev.js rename main.js => server/main.dev.linux.js (95%) rename main.prod.js => server/main.prod.js (95%) create mode 100644 server/main.prod.linux.js diff --git a/.travis.yml b/.travis.yml index adb742ca5c..f51336e568 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,12 +24,12 @@ before_install: script: - npm test - npm run build:dist - - npm run build:electron + - | if [ "$TRAVIS_OS_NAME" == "linux" ]; then - npm run build:linux + npm run build:electron:linux && npm run build:linux else - npm run build:macos + npm run build:electron && npm run build:macos fi cache: diff --git a/package.json b/package.json index 66ad509da1..71dc914d30 100644 --- a/package.json +++ b/package.json @@ -5,11 +5,14 @@ "main": "main.js", "scripts": { "start": "npm-run-all --parallel watch electron", + "electron:dev:linux": "webpack --progress --colors --env.LINUX=true --config=webpack.config.electron.js && electron ./bundle.electron.js", "electron:dev": "webpack --progress --colors --config=webpack.config.electron.js && electron ./bundle.electron.js", - "electron:prod": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist && electron ./dist/bundle.electron.js", + "electron:linux:prod": "npm run build:electron:linux && cp index.prod.html dist && electron ./dist/bundle.electron.js", + "electron:prod": "npm run build:electron && electron ./dist/bundle.electron.js", "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production && cp loader.css dist", - "build:electron": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist", + "build:dist": "webpack -p --progress --colors --env=prod --define process.env.NODE_ENV=production && cp loader.css dist", + "build:electron:linux": "webpack -p --progress --colors --env.LINUX=true --config=webpack.config.electron.prod.js && cp index.prod.html dist", + "build:electron": "webpack -p --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist", "test": "mocha --require babel-register", "pack": "electron-builder --dir -c.extraMetadata.main=dist/bundle.electron.js", "dist": "babel-node electron-builder -c.extraMetadata.main=dist/bundle.electron.js", diff --git a/server/main.dev.js b/server/main.dev.js new file mode 100644 index 0000000000..5848cbe764 --- /dev/null +++ b/server/main.dev.js @@ -0,0 +1,94 @@ +const { default: installExtension, REACT_DEVELOPER_TOOLS, REDUX_DEVTOOLS } = require('electron-devtools-installer'); +const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electron'); +const platform = require('electron-platform'); +const path = require('path'); +const url = require('url'); +const getOption = require('./store').getOption; +var Player; + + +let win; +let player; +let tray; +let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); + +function changeWindowTitle(artist, title) { + win.setTitle(`${artist} - ${title} - nuclear music player`); +} + +function createWindow() { + win = new BrowserWindow({ + width: 1366, + height: 768, + frame: !getOption('framelessWindow'), + icon: icon, + webPreferences: { + experimentalFeatures: true + } + }); + + installExtension(REACT_DEVELOPER_TOOLS) + .then((name) => console.log(`Added Extension: ${name}`)) + .catch((err) => console.log('An error occurred: ', err)); + + installExtension(REDUX_DEVTOOLS) + .then((name) => console.log(`Added Extension: ${name}`)) + .catch((err) => console.log('An error occurred: ', err)); + + win.loadURL(url.format({ + pathname: path.join(__dirname, 'index.html'), + protocol: 'file:', + slashes: true + })); + + win.webContents.openDevTools(); + + win.on('closed', () => { + win = null; + }); + + + // MacOS specific + if (platform.isDarwin) { + app.dock.setIcon(icon); + icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon_apple.png')); + } + + const trayMenu = Menu.buildFromTemplate([ + {label: 'Quit', type: 'normal', click: + (menuItem, browserWindow, event) => { + app.quit(); + } + } + ]); + + tray = new Tray(icon); + tray.setTitle('nuclear music player'); + tray.setToolTip('nuclear music player'); + tray.setContextMenu(trayMenu); + + ipcMain.on('close', () => { + app.quit(); + }); + + ipcMain.on('minimize', () => { + win.minimize(); + }); + + ipcMain.on('maximize', () => { + win.isMaximized() ? win.unmaximize() : win.maximize(); + }); + + ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } + changeWindowTitle(arg.artist, arg.name); + }); +} + +app.on('ready', createWindow); + +app.on('window-all-closed', () => { + app.quit(); +}); diff --git a/main.js b/server/main.dev.linux.js similarity index 95% rename from main.js rename to server/main.dev.linux.js index f6901ba2cb..785d154f16 100644 --- a/main.js +++ b/server/main.dev.linux.js @@ -3,14 +3,13 @@ const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electr const platform = require('electron-platform'); const path = require('path'); const url = require('url'); -const mpris = require('./server/mpris'); -const getOption = require('./server/store').getOption; +const mpris = require('./mpris'); +const getOption = require('./store').getOption; var Player; // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { - let mprisService = 'mpris-service'; - Player = require(mprisService); + Player = require('mpris-service'); } let win; diff --git a/main.prod.js b/server/main.prod.js similarity index 95% rename from main.prod.js rename to server/main.prod.js index f63e4d85b7..dec330a72b 100644 --- a/main.prod.js +++ b/server/main.prod.js @@ -2,14 +2,13 @@ const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electr const platform = require('electron-platform'); const path = require('path'); const url = require('url'); -const mpris = require('./server/mpris'); -const getOption = require('./server/store').getOption; +const mpris = require('./mpris'); +const getOption = require('./store').getOption; var Player; // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { - let mprisService = 'mpris-service'; - Player = require(mprisService); + Player = require('mpris-service'); } let win; diff --git a/server/main.prod.linux.js b/server/main.prod.linux.js new file mode 100644 index 0000000000..dec330a72b --- /dev/null +++ b/server/main.prod.linux.js @@ -0,0 +1,137 @@ +const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electron'); +const platform = require('electron-platform'); +const path = require('path'); +const url = require('url'); +const mpris = require('./mpris'); +const getOption = require('./store').getOption; +var Player; + +// GNU/Linux-specific +if (!platform.isDarwin && !platform.isWin32) { + Player = require('mpris-service'); +} + +let win; +let player; +let tray; +let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); + +function changeWindowTitle(artist, title) { + win.setTitle(`${artist} - ${title} - nuclear music player`); +} + +function createWindow() { + win = new BrowserWindow({ + width: 1366, + height: 768, + frame: !getOption('framelessWindow'), + icon: icon, + webPreferences: { + experimentalFeatures: true + } + }); + + win.loadURL(url.format({ + pathname: path.join(__dirname, 'index.prod.html'), + protocol: 'file:', + slashes: true + })); + + win.on('closed', () => { + win = null; + }); + + // MacOS specific + if (platform.isDarwin) { + app.dock.setIcon(icon); + icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon_apple.png')); + } + + const trayMenu = Menu.buildFromTemplate([ + {label: 'Quit', type: 'normal', click: + (menuItem, browserWindow, event) => { + app.quit(); + } + } + ]); + + tray = new Tray(icon); + tray.setTitle('nuclear music player'); + tray.setToolTip('nuclear music player'); + tray.setContextMenu(trayMenu); + + ipcMain.on('close', () => { + app.quit(); + }); + + ipcMain.on('minimize', () => { + win.minimize(); + }); + + ipcMain.on('maximize', () => { + win.isMaximized() ? win.unmaximize() : win.maximize(); + }); + + // GNU/Linux-specific + if (!platform.isDarwin && !platform.isWin32) { + player = Player({ + name: 'nuclear', + identity: 'nuclear music player', + supportedUriSchemes: ['file'], + supportedMimeTypes: ['audio/mpeg', 'application/ogg'], + supportedInterfaces: ['player'], + desktopEntry: 'nuclear' + }); + + player.on('quit', function () { + win = null; + }); + + player.on('next', mpris.onNext); + player.on('previous', mpris.onPrevious); + player.on('pause', mpris.onPause); + player.on('playpause', mpris.onPlayPause); + player.on('stop', mpris.onStop); + player.on('play', mpris.onPlay); + + ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } + + changeWindowTitle(arg.artist, arg.name); + + player.metadata = { + 'mpris:trackid': player.objectPath('track/0'), + 'mpris:artUrl': arg.thumbnail, + 'xesam:title': arg.name, + 'xesam:artist': arg.artist + }; + + if (arg.streams && arg.streams.length > 0) { + player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds + } + }); + + ipcMain.on('play', (event, arg) => { + player.playbackStatus = 'Playing'; + }); + + ipcMain.on('paused', (event, arg) => { + player.playbackStatus = 'Paused'; + }); + } else { + ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } + changeWindowTitle(arg.artist, arg.name); + }); + } +} + +app.on('ready', createWindow); + +app.on('window-all-closed', () => { + app.quit(); +}); diff --git a/webpack.config.electron.js b/webpack.config.electron.js index 5518182607..d772d21845 100644 --- a/webpack.config.electron.js +++ b/webpack.config.electron.js @@ -2,36 +2,40 @@ const webpack = require('webpack'); const path = require('path'); const HappyPack = require('happypack'); -module.exports = { - entry: './main.js', - output: { - path: __dirname, - filename: 'bundle.electron.js' - }, - module: { - loaders: [ - { - test: /.jsx?$/, - use: 'happypack/loader?id=jsx', - exclude: /node_modules/ - }, - { - test: /.node$/, - use: 'node-loader' - } - ] - }, - plugins: [ - new webpack.NamedModulesPlugin(), - new HappyPack({ - id: 'jsx', - loaders: [ 'babel-loader' ] - }), - ], - node: { - fs: "empty", - __dirname: false, - __filename: false - }, - target: 'electron-main' +module.exports = env => { + let entry = env && env.LINUX ? './server/main.dev.linux.js' : './server/main.dev.js'; + + return { + entry: entry, + output: { + path: __dirname, + filename: 'bundle.electron.js' + }, + module: { + loaders: [ + { + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', + exclude: /node_modules/ + }, + { + test: /.node$/, + use: 'node-loader' + } + ] + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new HappyPack({ + id: 'jsx', + loaders: [ 'babel-loader' ] + }), + ], + node: { + fs: "empty", + __dirname: false, + __filename: false + }, + target: 'electron-main' + } }; diff --git a/webpack.config.electron.prod.js b/webpack.config.electron.prod.js index 6062ff37d1..c106626c62 100644 --- a/webpack.config.electron.prod.js +++ b/webpack.config.electron.prod.js @@ -3,37 +3,41 @@ const path = require('path'); const HappyPack = require('happypack'); const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); -module.exports = { - entry: './main.prod.js', - output: { - path: __dirname, - filename: './dist/bundle.electron.js' - }, - module: { - loaders: [ - { - test: /.jsx?$/, - use: 'happypack/loader?id=jsx', - exclude: /node_modules/ - }, - { - test: /.node$/, - use: 'node-loader' - } - ] - }, - plugins: [ - new webpack.NamedModulesPlugin(), - new HappyPack({ - id: 'jsx', - loaders: [ 'babel-loader' ] - }), - new UglifyJsPlugin() - ], - node: { - fs: "empty", - __dirname: false, - __filename: false - }, - target: 'electron-main' +module.exports = env => { + let entry = env && env.LINUX ? './server/main.dev.linux.js' : './server/main.dev.js'; + + return { + entry: entry, + output: { + path: __dirname, + filename: './dist/bundle.electron.js' + }, + module: { + loaders: [ + { + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', + exclude: /node_modules/ + }, + { + test: /.node$/, + use: 'node-loader' + } + ] + }, + plugins: [ + new webpack.NamedModulesPlugin(), + new HappyPack({ + id: 'jsx', + loaders: [ 'babel-loader' ] + }), + new UglifyJsPlugin() + ], + node: { + fs: "empty", + __dirname: false, + __filename: false + }, + target: 'electron-main' + } }; From df5f46902705e948d0436f110040dc2897a83f78 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 21 Apr 2018 00:01:53 +0200 Subject: [PATCH 154/487] Remove wine dependencies from travis config file --- .travis.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index f51336e568..d79c0df8aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,11 +14,6 @@ matrix: node_js: "9" before_install: - - wget -nc https://dl.winehq.org/wine-builds/Release.key - - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-key add Release.key; fi - - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ -y; fi - - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get update -q; fi - - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install --install-recommends winehq-stable -y; fi - if [ $TRAVIS_OS_NAME = linux ]; then sudo apt-get install libdbus-1-dev -y; fi script: From f4e1902ccb828dfad830f3573c07a4718d8bfddb Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 21 Apr 2018 00:04:06 +0200 Subject: [PATCH 155/487] Remove -p flag --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 71dc914d30..09d8f40248 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "electron:linux:prod": "npm run build:electron:linux && cp index.prod.html dist && electron ./dist/bundle.electron.js", "electron:prod": "npm run build:electron && electron ./dist/bundle.electron.js", "watch": "webpack-dev-server --inline --progress --env=dev", - "build:dist": "webpack -p --progress --colors --env=prod --define process.env.NODE_ENV=production && cp loader.css dist", - "build:electron:linux": "webpack -p --progress --colors --env.LINUX=true --config=webpack.config.electron.prod.js && cp index.prod.html dist", - "build:electron": "webpack -p --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist", + "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production && cp loader.css dist", + "build:electron:linux": "webpack --progress --colors --env.LINUX=true --config=webpack.config.electron.prod.js && cp index.prod.html dist", + "build:electron": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist", "test": "mocha --require babel-register", "pack": "electron-builder --dir -c.extraMetadata.main=dist/bundle.electron.js", "dist": "babel-node electron-builder -c.extraMetadata.main=dist/bundle.electron.js", From 96d3725fcf273f41dc7a281e0381329fc9af691e Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 21 Apr 2018 23:12:18 +0200 Subject: [PATCH 156/487] some extra build tweaks --- package.json | 9 ++-- resources/media/icon.png | Bin 0 -> 178104 bytes server/main.dev.js | 12 +++-- server/main.dev.linux.js | 15 ++++-- server/main.prod.js | 79 ++++++-------------------------- server/main.prod.linux.js | 9 +++- webpack.config.electron.prod.js | 2 +- 7 files changed, 47 insertions(+), 79 deletions(-) create mode 100644 resources/media/icon.png diff --git a/package.json b/package.json index 09d8f40248..65940645c7 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,8 @@ "electron:prod": "npm run build:electron && electron ./dist/bundle.electron.js", "watch": "webpack-dev-server --inline --progress --env=dev", "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production && cp loader.css dist", - "build:electron:linux": "webpack --progress --colors --env.LINUX=true --config=webpack.config.electron.prod.js && cp index.prod.html dist", - "build:electron": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist", + "build:electron:linux": "webpack --progress --colors --env.LINUX=true --config=webpack.config.electron.prod.js && cp index.prod.html dist/index.html", + "build:electron": "webpack --progress --colors --config=webpack.config.electron.prod.js && cp index.prod.html dist/index.html", "test": "mocha --require babel-register", "pack": "electron-builder --dir -c.extraMetadata.main=dist/bundle.electron.js", "dist": "babel-node electron-builder -c.extraMetadata.main=dist/bundle.electron.js", @@ -112,11 +112,12 @@ }, "files": [ "dist/", - "resources/", - "index.prod.html", "dist/electron.bundle.js", "package.json" ], + "extraFiles": [ + "resources" + ], "linux": { "desktop": { "Name": "Nuclear", diff --git a/resources/media/icon.png b/resources/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d3193755a1944bcbf26f2c3bba3faa9736081e7b GIT binary patch literal 178104 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%0AwObc2g$`+(NA9 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

9*m+Q9M{Z;7mQ+jmS=nY|XY|l6}Y7ou^ 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 U6v}-EKz~e+n;$DY;&Ai-0a$j3WB>pF literal 0 HcmV?d00001 diff --git a/server/main.dev.js b/server/main.dev.js index 5848cbe764..fd7d976061 100644 --- a/server/main.dev.js +++ b/server/main.dev.js @@ -4,11 +4,8 @@ const platform = require('electron-platform'); const path = require('path'); const url = require('url'); const getOption = require('./store').getOption; -var Player; - let win; -let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); @@ -22,11 +19,14 @@ function createWindow() { height: 768, frame: !getOption('framelessWindow'), icon: icon, + show: false, webPreferences: { experimentalFeatures: true } }); + win.setTitle('nuclear music player'); + installExtension(REACT_DEVELOPER_TOOLS) .then((name) => console.log(`Added Extension: ${name}`)) .catch((err) => console.log('An error occurred: ', err)); @@ -41,6 +41,10 @@ function createWindow() { slashes: true })); + win.once('ready-to-show', () => { + win.show() + }); + win.webContents.openDevTools(); win.on('closed', () => { @@ -78,7 +82,7 @@ function createWindow() { ipcMain.on('maximize', () => { win.isMaximized() ? win.unmaximize() : win.maximize(); }); - + ipcMain.on('songChange', (event, arg) => { if (arg === null) { return; diff --git a/server/main.dev.linux.js b/server/main.dev.linux.js index 785d154f16..6cfbeb3e2a 100644 --- a/server/main.dev.linux.js +++ b/server/main.dev.linux.js @@ -27,11 +27,14 @@ function createWindow() { height: 768, frame: !getOption('framelessWindow'), icon: icon, + show: false, webPreferences: { experimentalFeatures: true } }); + win.setTitle('nuclear music player'); + installExtension(REACT_DEVELOPER_TOOLS) .then((name) => console.log(`Added Extension: ${name}`)) .catch((err) => console.log('An error occurred: ', err)); @@ -46,6 +49,10 @@ function createWindow() { slashes: true })); + win.once('ready-to-show', () => { + win.show() + }); + win.webContents.openDevTools(); win.on('closed', () => { @@ -115,13 +122,13 @@ function createWindow() { player.metadata = { 'mpris:trackid': player.objectPath('track/0'), - 'mpris:artUrl': arg.thumbnail, - 'xesam:title': arg.name, - 'xesam:artist': arg.artist + 'mpris:artUrl': arg.thumbnail, + 'xesam:title': arg.name, + 'xesam:artist': arg.artist }; if (arg.streams && arg.streams.length > 0) { - player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds + player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds } }); diff --git a/server/main.prod.js b/server/main.prod.js index dec330a72b..f5fde3682c 100644 --- a/server/main.prod.js +++ b/server/main.prod.js @@ -2,17 +2,9 @@ const { app, ipcMain, nativeImage, BrowserWindow, Menu, Tray } = require('electr const platform = require('electron-platform'); const path = require('path'); const url = require('url'); -const mpris = require('./mpris'); const getOption = require('./store').getOption; -var Player; - -// GNU/Linux-specific -if (!platform.isDarwin && !platform.isWin32) { - Player = require('mpris-service'); -} let win; -let player; let tray; let icon = nativeImage.createFromPath(path.resolve(__dirname, 'resources', 'media', 'icon.png')); @@ -26,17 +18,24 @@ function createWindow() { height: 768, frame: !getOption('framelessWindow'), icon: icon, + show: false, webPreferences: { experimentalFeatures: true } }); + win.setTitle('nuclear music player'); + win.loadURL(url.format({ - pathname: path.join(__dirname, 'index.prod.html'), + pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slashes: true })); + win.once('ready-to-show', () => { + win.show() + }); + win.on('closed', () => { win = null; }); @@ -72,62 +71,12 @@ function createWindow() { win.isMaximized() ? win.unmaximize() : win.maximize(); }); - // GNU/Linux-specific - if (!platform.isDarwin && !platform.isWin32) { - player = Player({ - name: 'nuclear', - identity: 'nuclear music player', - supportedUriSchemes: ['file'], - supportedMimeTypes: ['audio/mpeg', 'application/ogg'], - supportedInterfaces: ['player'], - desktopEntry: 'nuclear' - }); - - player.on('quit', function () { - win = null; - }); - - player.on('next', mpris.onNext); - player.on('previous', mpris.onPrevious); - player.on('pause', mpris.onPause); - player.on('playpause', mpris.onPlayPause); - player.on('stop', mpris.onStop); - player.on('play', mpris.onPlay); - - ipcMain.on('songChange', (event, arg) => { - if (arg === null) { - return; - } - - changeWindowTitle(arg.artist, arg.name); - - player.metadata = { - 'mpris:trackid': player.objectPath('track/0'), - 'mpris:artUrl': arg.thumbnail, - 'xesam:title': arg.name, - 'xesam:artist': arg.artist - }; - - if (arg.streams && arg.streams.length > 0) { - player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds - } - }); - - ipcMain.on('play', (event, arg) => { - player.playbackStatus = 'Playing'; - }); - - ipcMain.on('paused', (event, arg) => { - player.playbackStatus = 'Paused'; - }); - } else { - ipcMain.on('songChange', (event, arg) => { - if (arg === null) { - return; - } - changeWindowTitle(arg.artist, arg.name); - }); - } + ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } + changeWindowTitle(arg.artist, arg.name); + }); } app.on('ready', createWindow); diff --git a/server/main.prod.linux.js b/server/main.prod.linux.js index dec330a72b..f6022c4c3a 100644 --- a/server/main.prod.linux.js +++ b/server/main.prod.linux.js @@ -26,17 +26,24 @@ function createWindow() { height: 768, frame: !getOption('framelessWindow'), icon: icon, + show: false, webPreferences: { experimentalFeatures: true } }); + win.setTitle('nuclear music player'); + win.loadURL(url.format({ - pathname: path.join(__dirname, 'index.prod.html'), + pathname: path.join(__dirname, 'index.html'), protocol: 'file:', slashes: true })); + win.once('ready-to-show', () => { + win.show() + }); + win.on('closed', () => { win = null; }); diff --git a/webpack.config.electron.prod.js b/webpack.config.electron.prod.js index c106626c62..e5a62eec82 100644 --- a/webpack.config.electron.prod.js +++ b/webpack.config.electron.prod.js @@ -4,7 +4,7 @@ const HappyPack = require('happypack'); const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); module.exports = env => { - let entry = env && env.LINUX ? './server/main.dev.linux.js' : './server/main.dev.js'; + let entry = env && env.LINUX ? './server/main.prod.linux.js' : './server/main.prod.js'; return { entry: entry, From f9ee3fa1fd50fde3692c36853d8e7346df4ded10 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 21 Apr 2018 23:45:45 +0200 Subject: [PATCH 157/487] Show the duration of selected stream instead than that of the first stream --- app/components/PlayQueue/QueueItem/index.js | 94 +++++++++++--------- app/components/PlayQueue/index.js | 3 +- app/components/PluginsView/index.js | 6 +- app/containers/PlayQueueContainer/index.js | 4 +- app/plugins/MusicSources/SoundcloudPlugin.js | 5 +- 5 files changed, 61 insertions(+), 51 deletions(-) diff --git a/app/components/PlayQueue/QueueItem/index.js b/app/components/PlayQueue/QueueItem/index.js index d73f635611..f48ecc4cc6 100644 --- a/app/components/PlayQueue/QueueItem/index.js +++ b/app/components/PlayQueue/QueueItem/index.js @@ -1,6 +1,7 @@ import React from 'react'; import classNames from 'classnames'; import FontAwesome from 'react-fontawesome'; +import _ from 'lodash'; import {formatDuration} from '../../../utils'; import styles from './styles.scss'; @@ -10,16 +11,17 @@ class QueueItem extends React.Component { super(props); this.state = { - style: {} + style: {} }; } componentDidMount() { setTimeout(() => { - this.setState( - { - style: {'opacity': 1} - }); + this.setState( + { + style: {'opacity': 1} + } + ); }, 1); } @@ -29,55 +31,59 @@ class QueueItem extends React.Component { loading, track, index, + musicSourceOrder, selectSong, - removeFromQueue + removeFromQueue, } = this.props; + + let selectedStream = _.find(track.streams, stream => stream.source === _.head(musicSourceOrder)); + return ( -

); } } diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 31e2aa5cdb..29845af8b4 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -27,12 +27,13 @@ class PlayQueue extends React.Component { track={el} loading={el.loading} current={this.props.currentSong === i} + musicSourceOrder={this.props.plugins.musicSourceOrder} selectSong={this.props.actions.selectSong} removeFromQueue={this.props.actions.removeFromQueue} /> } track={el} - musicSources={this.props.musicSources} + musicSources={this.props.plugins.plugins.musicSources} rerollTrack={this.props.actions.rerollTrack} /> ); diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index 319c8f01ed..ba29abfe4f 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -15,8 +15,8 @@ class PluginsView extends React.Component { let result = musicSources; if (musicSourceOrder) { result = _.sortBy(musicSources, source => { - if(_.includes(musicSourceOrder, source.name)) { - return _.indexOf(musicSourceOrder, source.name); + if(_.includes(musicSourceOrder, source.sourceName)) { + return _.indexOf(musicSourceOrder, source.sourceName); } else { return 99; } @@ -27,7 +27,7 @@ class PluginsView extends React.Component { movePlugin(index, dir) { let order = this.sortPlugins(this.props.plugins.musicSources, this.props.musicSourceOrder); - order = _.map(order, source => source.name); + order = _.map(order, source => source.sourceName); let temp = order[index + dir]; order[index + dir] = order[index]; order[index] = temp; diff --git a/app/containers/PlayQueueContainer/index.js b/app/containers/PlayQueueContainer/index.js index 868b390e06..5c066a55a0 100644 --- a/app/containers/PlayQueueContainer/index.js +++ b/app/containers/PlayQueueContainer/index.js @@ -20,7 +20,7 @@ class PlayQueueContainer extends React.Component { actions={this.props.actions} items={this.props.queue.queueItems} currentSong={this.props.queue.currentSong} - musicSources={this.props.plugins.musicSources} + plugins={this.props.plugins} settings={this.props.settings} compact={this.props.compact} /> @@ -31,7 +31,7 @@ class PlayQueueContainer extends React.Component { function mapStateToProps(state) { return { queue: state.queue, - plugins: state.plugin.plugins, + plugins: state.plugin, playlists: state.playlists.playlists, settings: state.settings }; diff --git a/app/plugins/MusicSources/SoundcloudPlugin.js b/app/plugins/MusicSources/SoundcloudPlugin.js index 2d170a345c..367f0ca0ef 100644 --- a/app/plugins/MusicSources/SoundcloudPlugin.js +++ b/app/plugins/MusicSources/SoundcloudPlugin.js @@ -13,8 +13,11 @@ class SoundcloudPlugin extends MusicSourcePlugin { return Soundcloud.soundcloudSearch(terms) .then(data => data.json()) .then(results => { - console.log(results[0]); let info = results[0]; + if (!info) { + return null; + } + return { source: this.sourceName, id: info.id, From 13891600c393f906481279b09f9aec51f95f117b Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 21 Apr 2018 23:59:27 +0200 Subject: [PATCH 158/487] Enable rerolling for soundcloud tracks --- app/actions/queue.js | 4 +- app/components/PlayQueue/index.js | 1 + app/components/QueuePopup/index.js | 115 ++++++++++--------- app/plugins/MusicSources/SoundcloudPlugin.js | 37 +++--- app/plugins/MusicSources/YoutubePlugin.js | 42 +++---- 5 files changed, 108 insertions(+), 91 deletions(-) diff --git a/app/actions/queue.js b/app/actions/queue.js index e4e8c2bf5b..150c8c9a00 100644 --- a/app/actions/queue.js +++ b/app/actions/queue.js @@ -60,9 +60,9 @@ export function addPlaylistTracksToQueue(musicSources, tracks) { }; } -export function rerollTrack(musicSource, track) { +export function rerollTrack(musicSource, selectedStream, track) { return dispatch => { - musicSource.getAlternateStream(track.artist + ' ' + track.name, track.streams[0]) + musicSource.getAlternateStream(track.artist + ' ' + track.name, selectedStream) .then(newStream => { let streams = _.map(track.streams, stream => { return stream.source === newStream.source ? newStream : stream; diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 29845af8b4..1f49cae7c0 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -34,6 +34,7 @@ class PlayQueue extends React.Component { } track={el} musicSources={this.props.plugins.plugins.musicSources} + musicSourceOrder={this.props.plugins.musicSourceOrder} rerollTrack={this.props.actions.rerollTrack} /> ); diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 99b77bf944..4989f1a043 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -33,77 +33,82 @@ class QueuePopup extends React.Component { } rerollTrack(track) { - let musicSource = _.find(this.props.musicSources, s => s.sourceName == track.streams[0].source); - this.props.rerollTrack(musicSource, track); + let selectedStream = _.find(track.streams, stream => stream.source === _.head(this.props.musicSourceOrder)); + let musicSource = _.find(this.props.musicSources, s => s.sourceName == selectedStream.source); + this.props.rerollTrack(musicSource, selectedStream, track); } render() { let { trigger, track, - musicSources + musicSources, + musicSourceOrder } = this.props; let dropdownOptions = _.map(musicSources, s => { return { - key: s.sourceName, - text: s.sourceName, - value: s.sourceName, - content: s.sourceName + key: s.sourceName, + text: s.sourceName, + value: s.sourceName, + content: s.sourceName }; }); + + let selectedStream = _.find(track.streams, stream => stream.source === _.head(musicSourceOrder)); + return (
- { this.container = element; }} - > - {trigger} -
- } - open={this.state.isOpen} - onClose={this.handleClose.bind(this)} - onOpen={this.handleOpen.bind(this)} - hideOnScroll - position='left center' - on='' + onContextMenu={this.toggleOpen.bind(this)} + > + { this.container = element; }} + > + {trigger} +
+ } + open={this.state.isOpen} + onClose={this.handleClose.bind(this)} + onOpen={this.handleOpen.bind(this)} + hideOnScroll + position='left center' + on='' > - { - track.streams && Object.keys(track.streams).length > 0 - ? ( - + ) + :
Stream still loading.
+ }
diff --git a/app/plugins/MusicSources/SoundcloudPlugin.js b/app/plugins/MusicSources/SoundcloudPlugin.js index 367f0ca0ef..71cc7e143e 100644 --- a/app/plugins/MusicSources/SoundcloudPlugin.js +++ b/app/plugins/MusicSources/SoundcloudPlugin.js @@ -1,3 +1,5 @@ +import _ from 'lodash'; + import MusicSourcePlugin from '../musicSources'; import * as Soundcloud from '../../rest/Soundcloud'; @@ -9,23 +11,23 @@ class SoundcloudPlugin extends MusicSourcePlugin { this.description = 'Allows Nuclear to find music streams on Soundcloud'; } + resultToStream(result) { + return { + source: this.sourceName, + id: result.id, + stream: result.stream_url, + duration: result.duration, + title: result.title, + thumbnail: result.user.avatar_url + }; + } + search(terms) { return Soundcloud.soundcloudSearch(terms) .then(data => data.json()) .then(results => { let info = results[0]; - if (!info) { - return null; - } - - return { - source: this.sourceName, - id: info.id, - stream: info.stream_url, - duration: info.duration, - title: info.title, - thumbnail: info.user.avatar_url - }; + return info ? this.resultToStream(info) : null; }) .catch(err => { console.error(`Error looking up streams for ${terms} on Soundcloud`); @@ -34,7 +36,16 @@ class SoundcloudPlugin extends MusicSourcePlugin { } getAlternateStream(terms, currentStream) { - + return Soundcloud.soundcloudSearch(terms) + .then(data => data.json()) + .then(results => { + let info = _.find(results, result => result && result.id !== currentStream.id); + return info ? this.resultToStream(info) : null; + }) + .catch(err => { + console.error(`Error looking up streams for ${terms} on Soundcloud`); + console.error(err); + }); } } diff --git a/app/plugins/MusicSources/YoutubePlugin.js b/app/plugins/MusicSources/YoutubePlugin.js index 4efd9995fa..260bbf3f10 100644 --- a/app/plugins/MusicSources/YoutubePlugin.js +++ b/app/plugins/MusicSources/YoutubePlugin.js @@ -1,9 +1,9 @@ +import _ from 'lodash'; +import ytdl from 'ytdl-core'; + import MusicSourcePlugin from '../musicSources'; import * as Youtube from '../../rest/Youtube'; -const _ = require('lodash'); -const ytdl = require('ytdl-core'); - class YoutubePlugin extends MusicSourcePlugin { constructor() { super(); @@ -35,25 +35,25 @@ class YoutubePlugin extends MusicSourcePlugin { getAlternateStream(terms, currentStream) { return Youtube.trackSearch(terms) - .then(results => results.json()) - .then(results => { - let song = _(results.items).find(item => { - return item && item.id.videoId !== currentStream.id; - }); - let id = song.id.videoId; - return ytdl.getInfo(`http://www.youtube.com/watch?v=${id}`); - }) - .then(videoInfo => { - let formatInfo = _.head(videoInfo.formats.filter(e => e.itag=='140')); - return { - source: 'Youtube', - id: videoInfo.video_id, - stream: formatInfo.url, - duration: videoInfo.length_seconds, - title: videoInfo.title, - thumbnail: videoInfo.thumbnail_url - }; + .then(results => results.json()) + .then(results => { + let song = _(results.items).find(item => { + return item && item.id.videoId !== currentStream.id; }); + let id = song.id.videoId; + return ytdl.getInfo(`http://www.youtube.com/watch?v=${id}`); + }) + .then(videoInfo => { + let formatInfo = _.head(videoInfo.formats.filter(e => e.itag=='140')); + return { + source: 'Youtube', + id: videoInfo.video_id, + stream: formatInfo.url, + duration: videoInfo.length_seconds, + title: videoInfo.title, + thumbnail: videoInfo.thumbnail_url + }; + }); } } From 78ab466a217a971eb0fc1c72c7804abb0f41390f Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 24 Apr 2018 23:44:30 +0200 Subject: [PATCH 159/487] Correctly pick the right stream taking into account the plugin order --- app/components/PlayQueue/QueueItem/index.js | 9 ++++-- app/components/PlayQueue/index.js | 27 +++++++++-------- app/components/QueuePopup/index.js | 7 +++-- app/utils.js | 33 +++++++++++++-------- package.json | 1 + 5 files changed, 47 insertions(+), 30 deletions(-) diff --git a/app/components/PlayQueue/QueueItem/index.js b/app/components/PlayQueue/QueueItem/index.js index f48ecc4cc6..9be5a3e62e 100644 --- a/app/components/PlayQueue/QueueItem/index.js +++ b/app/components/PlayQueue/QueueItem/index.js @@ -2,7 +2,10 @@ import React from 'react'; import classNames from 'classnames'; import FontAwesome from 'react-fontawesome'; import _ from 'lodash'; -import {formatDuration} from '../../../utils'; +import { + formatDuration, + getSelectedStream +} from '../../../utils'; import styles from './styles.scss'; @@ -36,7 +39,7 @@ class QueueItem extends React.Component { removeFromQueue, } = this.props; - let selectedStream = _.find(track.streams, stream => stream.source === _.head(musicSourceOrder)); + let selectedStream = getSelectedStream(track.streams, musicSourceOrder); return (
{ - track.streams + selectedStream ? formatDuration(selectedStream.duration) : null } diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 1f49cae7c0..131e204ec9 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -1,5 +1,6 @@ import React from 'react'; import classnames from 'classnames'; +import { DragDropContext } from 'react-beautiful-dnd'; import styles from './styles.scss'; @@ -55,20 +56,22 @@ class PlayQueue extends React.Component { } = this.props.actions; return ( -
- + +
+ -
- {this.renderQueueItems()} -
+
+ {this.renderQueueItems()} +
-
+
+ ); } } diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 4989f1a043..4014789000 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -5,6 +5,7 @@ import { Dropdown, Popup } from 'semantic-ui-react'; +import { getSelectedStream } from '../../utils'; import styles from './styles.scss'; @@ -33,7 +34,7 @@ class QueuePopup extends React.Component { } rerollTrack(track) { - let selectedStream = _.find(track.streams, stream => stream.source === _.head(this.props.musicSourceOrder)); + let selectedStream = getSelectedStream(track.streams, this.props.musicSourceOrder) let musicSource = _.find(this.props.musicSources, s => s.sourceName == selectedStream.source); this.props.rerollTrack(musicSource, selectedStream, track); } @@ -55,7 +56,7 @@ class QueuePopup extends React.Component { }; }); - let selectedStream = _.find(track.streams, stream => stream.source === _.head(musicSourceOrder)); + let selectedStream = getSelectedStream(track.streams, musicSourceOrder); return (
{ - track.streams && Object.keys(track.streams).length > 0 + track.streams && selectedStream ? (
diff --git a/app/utils.js b/app/utils.js index 63045542fd..8dc2007813 100644 --- a/app/utils.js +++ b/app/utils.js @@ -1,16 +1,25 @@ +import _ from 'lodash'; + export function formatDuration(duration) { - var sec_num = parseInt(duration, 10); - var hours = Math.floor(sec_num / 3600); - var minutes = Math.floor((sec_num - (hours * 3600)) / 60); - var seconds = sec_num - (hours * 3600) - (minutes * 60); + var sec_num = parseInt(duration, 10); + var hours = Math.floor(sec_num / 3600); + var minutes = Math.floor((sec_num - (hours * 3600)) / 60); + var seconds = sec_num - (hours * 3600) - (minutes * 60); + + if (hours < 10) {hours = "0"+hours;} + if (minutes < 10) {minutes = "0"+minutes;} + if (seconds < 10) {seconds = "0"+seconds;} - if (hours < 10) {hours = "0"+hours;} - if (minutes < 10) {minutes = "0"+minutes;} - if (seconds < 10) {seconds = "0"+seconds;} + if (hours === 0) { + return minutes+':'+seconds; + } else { + return hours+':'+minutes+':'+seconds; + } +} - if (hours === 0) { - return minutes+':'+seconds; - } else { - return hours+':'+minutes+':'+seconds; - } +export function getSelectedStream(streams, musicSourceOrder) { + let selectedStream = _.find(streams, stream => stream.source === _.head(musicSourceOrder)); + return selectedStream === undefined + ? streams ? streams[0] : null + : selectedStream; } diff --git a/package.json b/package.json index 65940645c7..8a031cac8c 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "numeral": "^2.0.6", "pitchfork-bnm": "^1.0.3", "react": "^16.3.2", + "react-beautiful-dnd": "^7.1.0", "react-dom": "^16.3.2", "react-image-smooth-loading": "^2.0.0", "react-router-transition": "^1.2.1", From 4b1ef8d05ffda51403323a29d23ff482f4c97b49 Mon Sep 17 00:00:00 2001 From: nukeop Date: Tue, 24 Apr 2018 23:58:37 +0200 Subject: [PATCH 160/487] Play stream from selected plugin --- app/containers/SoundContainer/index.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/containers/SoundContainer/index.js b/app/containers/SoundContainer/index.js index 1163c04ee4..6003f88e81 100644 --- a/app/containers/SoundContainer/index.js +++ b/app/containers/SoundContainer/index.js @@ -8,6 +8,7 @@ import * as PlayerActions from '../../actions/player'; import * as QueueActions from '../../actions/queue'; import * as ScrobblingActions from '../../actions/scrobbling'; import Sound from 'react-sound'; +import { getSelectedStream } from '../../utils'; class SoundContainer extends React.Component { handlePlaying(update) { @@ -48,14 +49,15 @@ class SoundContainer extends React.Component { render() { let { player, - queue + queue, + plugins } = this.props; + let streamUrl = ''; + if (queue.queueItems.length > 0) { let currentSong = queue.queueItems[queue.currentSong]; - if (currentSong.streams && currentSong.streams.length > 0) { - streamUrl = currentSong.streams[0].stream; - } + streamUrl = getSelectedStream(currentSong.streams, plugins.musicSourceOrder).stream; } return ( @@ -76,6 +78,7 @@ class SoundContainer extends React.Component { function mapStateToProps(state) { return { queue: state.queue, + plugins: state.plugin, player: state.player, scrobbling: state.scrobbling, settings: state.settings From af181d6c622609f63d52686e790014d35dcdb8b8 Mon Sep 17 00:00:00 2001 From: nukeop Date: Wed, 25 Apr 2018 00:07:27 +0200 Subject: [PATCH 161/487] Augment soundcloud stream urls with client id to allow playback --- app/plugins/MusicSources/SoundcloudPlugin.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/plugins/MusicSources/SoundcloudPlugin.js b/app/plugins/MusicSources/SoundcloudPlugin.js index 71cc7e143e..bd1757a403 100644 --- a/app/plugins/MusicSources/SoundcloudPlugin.js +++ b/app/plugins/MusicSources/SoundcloudPlugin.js @@ -1,5 +1,6 @@ import _ from 'lodash'; +import globals from '../../globals'; import MusicSourcePlugin from '../musicSources'; import * as Soundcloud from '../../rest/Soundcloud'; @@ -15,7 +16,7 @@ class SoundcloudPlugin extends MusicSourcePlugin { return { source: this.sourceName, id: result.id, - stream: result.stream_url, + stream: result.stream_url + `?client_id=${globals.soundcloudApiKey}`, duration: result.duration, title: result.title, thumbnail: result.user.avatar_url From 9e6ac876fbf11ecab0e2ca1e11f6989b61fd3ab3 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 26 Apr 2018 00:12:21 +0200 Subject: [PATCH 162/487] Add react-beautiful-dnd to queue items --- app/components/PlayQueue/index.js | 68 ++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 23 deletions(-) diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index 131e204ec9..fed786a293 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -1,6 +1,6 @@ import React from 'react'; import classnames from 'classnames'; -import { DragDropContext } from 'react-beautiful-dnd'; +import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd'; import styles from './styles.scss'; @@ -13,6 +13,10 @@ class PlayQueue extends React.Component { super(props); } + onDragEnd(result) { + console.log(result); + } + renderQueueItems() { if (!this.props.items) { return null; @@ -20,24 +24,33 @@ class PlayQueue extends React.Component { return this.props.items.map((el, i) => { return ( - - } - track={el} - musicSources={this.props.plugins.plugins.musicSources} - musicSourceOrder={this.props.plugins.musicSourceOrder} - rerollTrack={this.props.actions.rerollTrack} - /> + + {(provided, snapshot) => ( +
+ + } + track={el} + musicSources={this.props.plugins.plugins.musicSources} + musicSourceOrder={this.props.plugins.musicSourceOrder} + rerollTrack={this.props.actions.rerollTrack} + /> +
+ )} +
); }); } @@ -56,7 +69,7 @@ class PlayQueue extends React.Component { } = this.props.actions; return ( - +
-
- {this.renderQueueItems()} -
+ + {(provided, snapshot) => ( +
+ {this.renderQueueItems()} + {provided.placeholder} +
+ )} +
From 2fc5bb7d95a69ccaefb72e32b9d8eb3d85de5ac3 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 26 Apr 2018 00:28:31 +0200 Subject: [PATCH 163/487] Handle swapping songs --- app/actions/queue.js | 11 +++++++++++ app/components/PlayQueue/index.js | 4 ++-- app/reducers/queue.js | 13 +++++++++++-- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/app/actions/queue.js b/app/actions/queue.js index 150c8c9a00..bc02ea7133 100644 --- a/app/actions/queue.js +++ b/app/actions/queue.js @@ -9,6 +9,7 @@ export const REPLACE_STREAMS_IN_QUEUE_ITEM = 'REPLACE_STREAMS_IN_QUEUE_ITEM'; export const NEXT_SONG = 'NEXT_SONG'; export const PREVIOUS_SONG = 'PREVIOUS_SONG'; export const SELECT_SONG = 'SELECT_SONG'; +export const SWAP_SONGS = 'SWAP_SONGS'; export function addToQueue(musicSources, item) { return dispatch => { @@ -103,3 +104,13 @@ export function selectSong(index) { payload: index }; } + +export function swapSongs(itemFrom, itemTo) { + return { + type: SWAP_SONGS, + payload: { + itemFrom, + itemTo + } + }; +} diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index fed786a293..f212a0444c 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -14,7 +14,7 @@ class PlayQueue extends React.Component { } onDragEnd(result) { - console.log(result); + this.props.actions.swapSongs(result.source.index, result.destination.index); } renderQueueItems() { @@ -69,7 +69,7 @@ class PlayQueue extends React.Component { } = this.props.actions; return ( - +
Date: Thu, 26 Apr 2018 00:44:53 +0200 Subject: [PATCH 164/487] darken the queue when dragging over --- app/components/PlayQueue/index.js | 8 +++++++- app/components/PlayQueue/styles.scss | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/components/PlayQueue/index.js b/app/components/PlayQueue/index.js index f212a0444c..96f0754730 100644 --- a/app/components/PlayQueue/index.js +++ b/app/components/PlayQueue/index.js @@ -83,7 +83,13 @@ class PlayQueue extends React.Component { {(provided, snapshot) => (
{this.renderQueueItems()} diff --git a/app/components/PlayQueue/styles.scss b/app/components/PlayQueue/styles.scss index a657de6477..77c62391db 100644 --- a/app/components/PlayQueue/styles.scss +++ b/app/components/PlayQueue/styles.scss @@ -1,3 +1,5 @@ +@import '../../vars.scss'; + .play_queue_container { display: flex; overflow-y: auto; @@ -10,6 +12,7 @@ flex-flow: column; flex: 1 1 auto; overflow-y: auto; + transition: 0.25s; .queue_item_container { transition: all 0.4s ease-out; @@ -17,6 +20,10 @@ } } + .dragged_over { + background: $background3; + } + &.compact { .queue_menu_buttons { a:not(.compactButton) { From f08d79c401cded23b9fc3325e9892a12df66b072 Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 29 Apr 2018 23:49:14 +0200 Subject: [PATCH 165/487] Replace default source selection with a dropdown --- app/actions/plugins.js | 8 +-- app/components/PlayQueue/QueueItem/index.js | 4 +- app/components/PlayQueue/index.js | 4 +- app/components/PluginsView/index.js | 79 +++++++-------------- app/components/PluginsView/styles.scss | 10 +++ app/components/QueuePopup/index.js | 6 +- app/containers/PluginsContainer/index.js | 2 +- app/containers/SoundContainer/index.js | 2 +- app/reducers/plugins.js | 8 +-- app/utils.js | 5 +- 10 files changed, 55 insertions(+), 73 deletions(-) diff --git a/app/actions/plugins.js b/app/actions/plugins.js index 9281941154..de1380fb7a 100644 --- a/app/actions/plugins.js +++ b/app/actions/plugins.js @@ -1,5 +1,5 @@ export const CREATE_PLUGINS = 'CREATE_PLUGINS'; -export const SAVE_MUSIC_SOURCE_ORDER = 'SAVE_MUSIC_SOURCE_ORDER'; +export const SELECT_DEFAULT_MUSIC_SOURCE = 'SELECT_DEFAULT_MUSIC_SOURCE'; import config from '../plugins/config'; @@ -26,9 +26,9 @@ export function createSearchPlugins(pluginClasses) { }; } -export function saveMusicSourceOrder(musicSourceOrder) { +export function selectDefaultMusicSource(musicSource) { return { - type: SAVE_MUSIC_SOURCE_ORDER, - payload: musicSourceOrder + type: SELECT_DEFAULT_MUSIC_SOURCE, + payload: musicSource }; } diff --git a/app/components/PlayQueue/QueueItem/index.js b/app/components/PlayQueue/QueueItem/index.js index 9be5a3e62e..0a31dc5a2a 100644 --- a/app/components/PlayQueue/QueueItem/index.js +++ b/app/components/PlayQueue/QueueItem/index.js @@ -34,12 +34,12 @@ class QueueItem extends React.Component { loading, track, index, - musicSourceOrder, + defaultMusicSource, selectSong, removeFromQueue, } = this.props; - let selectedStream = getSelectedStream(track.streams, musicSourceOrder); + let selectedStream = getSelectedStream(track.streams, defaultMusicSource); return (
} track={el} musicSources={this.props.plugins.plugins.musicSources} - musicSourceOrder={this.props.plugins.musicSourceOrder} + defaultMusicSource={this.props.plugins.defaultMusicSource} rerollTrack={this.props.actions.rerollTrack} />
diff --git a/app/components/PluginsView/index.js b/app/components/PluginsView/index.js index ba29abfe4f..f33628d112 100644 --- a/app/components/PluginsView/index.js +++ b/app/components/PluginsView/index.js @@ -1,6 +1,6 @@ import React from 'react'; import FontAwesome from 'react-fontawesome'; -import { List, Segment } from 'semantic-ui-react'; +import { Dropdown, List, Segment } from 'semantic-ui-react'; import _ from 'lodash'; import Header from '../Header'; @@ -11,37 +11,26 @@ class PluginsView extends React.Component { super(props); } - sortPlugins(musicSources, musicSourceOrder) { - let result = musicSources; - if (musicSourceOrder) { - result = _.sortBy(musicSources, source => { - if(_.includes(musicSourceOrder, source.sourceName)) { - return _.indexOf(musicSourceOrder, source.sourceName); - } else { - return 99; - } - }); - } - return result; - } - - movePlugin(index, dir) { - let order = this.sortPlugins(this.props.plugins.musicSources, this.props.musicSourceOrder); - order = _.map(order, source => source.sourceName); - let temp = order[index + dir]; - order[index + dir] = order[index]; - order[index] = temp; - this.props.actions.saveMusicSourceOrder(order); + selectDefaultMusicSource(e, data) { + this.props.actions.selectDefaultMusicSource(data.value); } render() { let { + actions, plugins, - musicSourceOrder + defaultMusicSource } = this.props; - let musicSources = plugins.musicSources; - musicSources = this.sortPlugins(plugins.musicSources, musicSourceOrder); + let dropdownOptions = plugins.musicSources.map(s => { + return { + text: s.name, + value: s.sourceName + }; + }); + + let defaultOption = _.find(dropdownOptions, {value: defaultMusicSource}); + defaultOption = defaultOption || dropdownOptions[0]; return (
@@ -52,35 +41,17 @@ class PluginsView extends React.Component {
Music sources
- - - { - musicSources.map((source, index) => { - return ( - -
- {index + 1}. -
- - {source.name} - {source.description} - -
- { - index > 0 && - this.movePlugin(index, -1)}> - } - { - index < plugins.musicSources.length - 1 && - this.movePlugin(index, 1)}> - } -
-
- ); - }) - } -
-
+ + + Select the default music source: + {' '} + +
); diff --git a/app/components/PluginsView/styles.scss b/app/components/PluginsView/styles.scss index f4a1b72d22..c0793433f6 100644 --- a/app/components/PluginsView/styles.scss +++ b/app/components/PluginsView/styles.scss @@ -7,6 +7,16 @@ width: 100%; height: 100%; + .menu.transition.visible { + height: max-content; + background-color: $background2; + padding: 0; + } + + .text { + color: $white; + } + .plugin_settings { display: flex; flex-flow: column; diff --git a/app/components/QueuePopup/index.js b/app/components/QueuePopup/index.js index 4014789000..8a63c94329 100644 --- a/app/components/QueuePopup/index.js +++ b/app/components/QueuePopup/index.js @@ -34,7 +34,7 @@ class QueuePopup extends React.Component { } rerollTrack(track) { - let selectedStream = getSelectedStream(track.streams, this.props.musicSourceOrder) + let selectedStream = getSelectedStream(track.streams, this.props.defaultMusicSource) let musicSource = _.find(this.props.musicSources, s => s.sourceName == selectedStream.source); this.props.rerollTrack(musicSource, selectedStream, track); } @@ -44,7 +44,7 @@ class QueuePopup extends React.Component { trigger, track, musicSources, - musicSourceOrder + defaultMusicSource } = this.props; let dropdownOptions = _.map(musicSources, s => { @@ -56,7 +56,7 @@ class QueuePopup extends React.Component { }; }); - let selectedStream = getSelectedStream(track.streams, musicSourceOrder); + let selectedStream = getSelectedStream(track.streams, defaultMusicSource); return (
); } diff --git a/app/containers/SoundContainer/index.js b/app/containers/SoundContainer/index.js index 6003f88e81..a34b4bf842 100644 --- a/app/containers/SoundContainer/index.js +++ b/app/containers/SoundContainer/index.js @@ -57,7 +57,7 @@ class SoundContainer extends React.Component { if (queue.queueItems.length > 0) { let currentSong = queue.queueItems[queue.currentSong]; - streamUrl = getSelectedStream(currentSong.streams, plugins.musicSourceOrder).stream; + streamUrl = getSelectedStream(currentSong.streams, plugins.defaultMusicSource).stream; } return ( diff --git a/app/reducers/plugins.js b/app/reducers/plugins.js index 785bcb9c37..1973aa3b5f 100644 --- a/app/reducers/plugins.js +++ b/app/reducers/plugins.js @@ -1,11 +1,11 @@ import { CREATE_PLUGINS, - SAVE_MUSIC_SOURCE_ORDER + SELECT_DEFAULT_MUSIC_SOURCE } from '../actions/plugins'; const initialState = { plugins: [], - musicSourceOrder: [] + defaultMusicSource: null }; export default function PluginsReducer(state=initialState, action) { @@ -14,9 +14,9 @@ export default function PluginsReducer(state=initialState, action) { return Object.assign({}, state, { plugins: action.payload }); - case SAVE_MUSIC_SOURCE_ORDER: + case SELECT_DEFAULT_MUSIC_SOURCE: return Object.assign({}, state, { - musicSourceOrder: action.payload + defaultMusicSource: action.payload }); default: return state; diff --git a/app/utils.js b/app/utils.js index 8dc2007813..e9ad3b2e6d 100644 --- a/app/utils.js +++ b/app/utils.js @@ -17,8 +17,9 @@ export function formatDuration(duration) { } } -export function getSelectedStream(streams, musicSourceOrder) { - let selectedStream = _.find(streams, stream => stream.source === _.head(musicSourceOrder)); +export function getSelectedStream(streams, defaultMusicSource) { + let selectedStream = _.find(streams, {source: defaultMusicSource}); + return selectedStream === undefined ? streams ? streams[0] : null : selectedStream; From 7cd368ac82338b3247e12fb398cb70c93709728a Mon Sep 17 00:00:00 2001 From: nukeop Date: Sun, 29 Apr 2018 23:58:56 +0200 Subject: [PATCH 166/487] Fix loader issue --- index.html | 2 +- index.prod.html | 2 +- loader.css | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/index.html b/index.html index 3e136fd5c0..2ff567bab9 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@
-
+
diff --git a/index.prod.html b/index.prod.html index f8bbd37665..c7f0f5cc57 100644 --- a/index.prod.html +++ b/index.prod.html @@ -22,7 +22,7 @@
-
+
diff --git a/loader.css b/loader.css index bd378f4388..b04402f4c2 100644 --- a/loader.css +++ b/loader.css @@ -13,7 +13,7 @@ body { z-index: -1; } -.loader { +.nuclear-loader { position: relative; display: flex; flex-flow: column; @@ -40,7 +40,7 @@ body { } } -.loader>span { +.nuclear-loader>span { position: absolute; width: 0; height: 0; @@ -49,18 +49,18 @@ body { border-right: 3rem solid transparent; } -.loader>span:nth-child(1) { +.nuclear-loader>span:nth-child(1) { right: 4.5rem; top: 3.5rem; } -.loader>span:nth-child(2) { +.nuclear-loader>span:nth-child(2) { right: 7.5rem; bottom: 3.5rem; } -.loader>span:nth-child(3) { +.nuclear-loader>span:nth-child(3) { left: 7.5rem; bottom: 3.5rem; } From 00a108d4ceb1bc88e439395a34bbff5f509df4eb Mon Sep 17 00:00:00 2001 From: nukeop Date: Sat, 2 Jun 2018 00:22:23 +0200 Subject: [PATCH 167/487] Add shuffle setting --- app/App.js | 8 ++++---- app/constants/settings.js | 7 +++++++ app/containers/SoundContainer/index.js | 13 ++++++++++++- package.json | 4 ++-- 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/app/App.js b/app/App.js index 655db6ae50..cb13c2611f 100644 --- a/app/App.js +++ b/app/App.js @@ -62,11 +62,11 @@ class App extends React.Component { nextSong() { this.props.actions.nextSong(); if( this.props.scrobbling.lastFmScrobblingEnabled && - this.props.scrobbling.lastFmSessionKey) { - let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; - this.props.actions.updateNowPlayingAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); - } + this.props.scrobbling.lastFmSessionKey) { + let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; + this.props.actions.updateNowPlayingAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); } + } componentWillMount() { this.props.actions.readSettings(); diff --git a/app/constants/settings.js b/app/constants/settings.js index 531a113f10..636ba115f9 100644 --- a/app/constants/settings.js +++ b/app/constants/settings.js @@ -6,6 +6,13 @@ module.exports = [ prettyName: 'Loop after playing the last queue item', default: false }, + { + name: 'shuffleQueue', + category: 'Playback', + type: 'boolean', + prettyName: 'Shuffle songs', + default: false + }, { name: 'framelessWindow', category: 'Program settings', diff --git a/app/containers/SoundContainer/index.js b/app/containers/SoundContainer/index.js index a34b4bf842..0e2fe6fc90 100644 --- a/app/containers/SoundContainer/index.js +++ b/app/containers/SoundContainer/index.js @@ -3,6 +3,8 @@ import { Route, Switch, Link, withRouter } from 'react-router-dom'; import { RouteTransition } from 'react-router-transition'; import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; +import _ from 'lodash'; + import * as Actions from '../../actions'; import * as PlayerActions from '../../actions/player'; import * as QueueActions from '../../actions/queue'; @@ -26,13 +28,22 @@ class SoundContainer extends React.Component { this.props.actions.updateStreamLoading(false); } + nextSong() { + if(this.props.settings.shuffleQueue) { + let index = _.random(0, this.props.queue.queueItems.length-1); + this.props.actions.selectSong(index); + } else { + this.props.actions.nextSong(); + } + } + handleFinishedPlaying() { if(this.props.scrobbling.lastFmScrobblingEnabled && this.props.scrobbling.lastFmSessionKey) { let currentSong = this.props.queue.queueItems[this.props.queue.currentSong]; this.props.actions.scrobbleAction(currentSong.artist, currentSong.name, this.props.scrobbling.lastFmSessionKey); } if (this.props.queue.currentSong < this.props.queue.queueItems.length -1 || this.props.settings.loopAfterQueueEnd) { - this.props.actions.nextSong(); + this.nextSong(); } else { this.props.actions.pausePlayback(); } diff --git a/package.json b/package.json index 8a031cac8c..50c161a6dc 100644 --- a/package.json +++ b/package.json @@ -4,10 +4,10 @@ "description": "Streaming music player that finds music sources automatically.", "main": "main.js", "scripts": { - "start": "npm-run-all --parallel watch electron", + "start": "npm-run-all --parallel watch electron:dev:linux", "electron:dev:linux": "webpack --progress --colors --env.LINUX=true --config=webpack.config.electron.js && electron ./bundle.electron.js", "electron:dev": "webpack --progress --colors --config=webpack.config.electron.js && electron ./bundle.electron.js", - "electron:linux:prod": "npm run build:electron:linux && cp index.prod.html dist && electron ./dist/bundle.electron.js", + "electron:prod:linux": "npm run build:electron:linux && cp index.prod.html dist && electron ./dist/bundle.electron.js", "electron:prod": "npm run build:electron && electron ./dist/bundle.electron.js", "watch": "webpack-dev-server --inline --progress --env=dev", "build:dist": "webpack --progress --colors --env=prod --define process.env.NODE_ENV=production && cp loader.css dist", From fe46fa0c8936c578939935455eaba8821a26123a Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Sat, 2 Jun 2018 21:20:03 +0200 Subject: [PATCH 168/487] =?UTF-8?q?Update=20dependencies=20to=20enable=20G?= =?UTF-8?q?reenkeeper=20=F0=9F=8C=B4=20(#70)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(package): update dependencies * docs(readme): add Greenkeeper badge --- README.md | 2 +- package.json | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 620b693fa8..167dc2ba74 100644 --- a/README.md +++ b/README.md @@ -111,4 +111,4 @@ In case of errors with dbus/mpris, try removing optional dependencies from packa #### Support on Beerpay -[![Beerpay](https://beerpay.io/nukeop/nuclear/badge.svg?style=beer-square)](https://beerpay.io/nukeop/nuclear) [![Beerpay](https://beerpay.io/nukeop/nuclear/make-wish.svg?style=flat-square)](https://beerpay.io/nukeop/nuclear?focus=wish) +[![Beerpay](https://beerpay.io/nukeop/nuclear/badge.svg?style=beer-square)](https://beerpay.io/nukeop/nuclear) [![Beerpay](https://beerpay.io/nukeop/nuclear/make-wish.svg?style=flat-square)](https://beerpay.io/nukeop/nuclear?focus=wish) [![Greenkeeper badge](https://badges.greenkeeper.io/nukeop/nuclear.svg)](https://greenkeeper.io/) diff --git a/package.json b/package.json index 50c161a6dc..fca9f03c51 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "react-image-smooth-loading": "^2.0.0", "react-router-transition": "^1.2.1", "react-sound": "^1.1.0", - "semantic-ui-react": "^0.78.2", + "semantic-ui-react": "^0.80.2", "styled-components": "^3.2.6", "uuid": "^3.2.1", "ytdl-core": "^0.20.2" @@ -69,13 +69,13 @@ "chai": "^4.1.2", "classnames": "^2.2.5", "css-loader": "^0.28.9", - "electron": "^1.8.4", + "electron": "^2.0.2", "electron-builder": "^20.9.0", "electron-devtools-installer": "^2.2.3", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "google-fonts-webpack-plugin": "^0.4.4", - "happypack": "^4.0.1", + "happypack": "^5.0.0", "isomorphic-fetch": "^2.2.1", "lodash": "^4.17.5", "mocha": "^5.0.0", @@ -90,15 +90,15 @@ "react-router": "^4.2.0", "react-router-dom": "^4.2.2", "react-router-redux": "^4.0.8", - "redux": "^3.7.2", - "redux-promise": "^0.5.3", + "redux": "^4.0.0", + "redux-promise": "^0.6.0", "redux-thunk": "^2.2.0", "sass-loader": "^7.0.1", - "style-loader": "^0.20.1", + "style-loader": "^0.21.0", "uglifyjs-webpack-plugin": "^1.1.8", - "url-loader": "^0.6.2", - "webpack": "^3.11.0", - "webpack-dev-server": "^2.11.1" + "url-loader": "^1.0.1", + "webpack": "^4.10.2", + "webpack-dev-server": "^3.1.4" }, "optionalDependencies": { "dbus": "^1.0.3", From 5bc661ce580591cc9b1b46016689ad2cfed4f54c Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Sun, 3 Jun 2018 12:57:04 +0200 Subject: [PATCH 169/487] fix(package): update semantic-ui-react to version 0.81.0 (#71) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fca9f03c51..8084d7c1e9 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "react-image-smooth-loading": "^2.0.0", "react-router-transition": "^1.2.1", "react-sound": "^1.1.0", - "semantic-ui-react": "^0.80.2", + "semantic-ui-react": "^0.81.0", "styled-components": "^3.2.6", "uuid": "^3.2.1", "ytdl-core": "^0.20.2" From 5f085aa044b064f8fac4efd7e27f877d8cd3abfa Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 25 Jun 2018 23:28:55 +0200 Subject: [PATCH 170/487] Webpack-related update, fixes #72 --- app/index.js | 6 +- index.html | 1 - package-lock.json | 10987 +++++++++++++++--------------- package.json | 11 +- server/main.dev.linux.js | 14 +- webpack.config.dev.js | 22 +- webpack.config.electron.js | 3 +- webpack.config.electron.prod.js | 14 +- webpack.config.prod.js | 22 +- 9 files changed, 5641 insertions(+), 5439 deletions(-) diff --git a/app/index.js b/app/index.js index 1d691a16fe..1abbb63385 100644 --- a/app/index.js +++ b/app/index.js @@ -20,12 +20,12 @@ const render = Component => { , document.getElementById('react_root') ); -} +}; render(App); if (module.hot) { module.hot.accept( () => { render(App); - }); - } + }); +} diff --git a/index.html b/index.html index 2ff567bab9..057f823056 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,6 @@ - diff --git a/package-lock.json b/package-lock.json index 08bb3557d8..e23dfe8b97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,9 @@ "integrity": "sha512-juYJNi8JEpTUWXwz8ssa8Oop4n/kwJ/pIQP22vJAVAe6RTRD+0m+e9LRNnfK2EDaX8uwmUzLNGviFQRD6SxeOw==", "dev": true, "requires": { - "7zip-bin-linux": "1.3.1" + "7zip-bin-linux": "~1.3.1", + "7zip-bin-mac": "~1.0.1", + "7zip-bin-win": "~2.2.0" } }, "7zip-bin-linux": { @@ -26,10 +28,290 @@ "dev": true, "optional": true }, + "7zip-bin-mac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz", + "integrity": "sha1-Pmh3i78JJq3GgVlCcHRQXUdVXAI=", + "optional": true + }, + "7zip-bin-win": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin-win/-/7zip-bin-win-2.2.0.tgz", + "integrity": "sha512-uPHXapEmUtlUKTBx4asWMlxtFUWXzEY0KVEgU7QKhgO2LJzzM3kYxM6yOyUZTtYE6mhK4dDn3FDut9SCQWHzgg==", + "dev": true, + "optional": true + }, + "@babel/runtime": { + "version": "7.0.0-beta.51", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.51.tgz", + "integrity": "sha1-SLjtGDBwNMZiD2Q1FGUMoszAFlo=", + "requires": { + "core-js": "^2.5.7", + "regenerator-runtime": "^0.11.1" + }, + "dependencies": { + "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==" + } + } + }, "@types/node": { - "version": "7.0.52", - "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.52.tgz", - "integrity": "sha512-jjpyQsKGsOF/wUElNjfPULk+d8PKvJOIXk3IUeBYYmNCy5dMWfrI+JiixYNw8ppKOlcRwWTXFl0B+i5oGrf95Q==" + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.0.4.tgz", + "integrity": "sha512-RisaZmcmCLjRipAY7nVi3fmkIk4Z0JMn8YHdGF6qYMsIDpD0dfzz+3yy2dL5Q5aHWOnqPx51IRxkA44myknJvw==" + }, + "@webassemblyjs/ast": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.5.12.tgz", + "integrity": "sha512-bmTBEKuuhSU6dC95QIW250xO769cdYGx9rWn3uBLTw2pUpud0Z5kVuMw9m9fqbNzGeuOU2HpyuZa+yUt2CTEDA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.5.12", + "@webassemblyjs/helper-wasm-bytecode": "1.5.12", + "@webassemblyjs/wast-parser": "1.5.12", + "debug": "^3.1.0", + "mamacro": "^0.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.12.tgz", + "integrity": "sha512-epTvkdwOIPpTE9edHS+V+shetYzpTbd91XOzUli1zAS0+NSgSe6ZsNggIqUNzhma1s4bN2f/m8c6B1NMdCERAg==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.12.tgz", + "integrity": "sha512-Goxag86JvLq8ucHLXFNSLYzf9wrR+CJr37DsESTAzSnGoqDTgw5eqiXSQVd/D9Biih7+DIn8UIQCxMs8emRRwg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.12.tgz", + "integrity": "sha512-tJNUjttL5CxiiS/KLxT4/Zk0Nbl/poFhztFxktb46zoQEUWaGHR9ZJ0SnvE7DbFX5PY5JNJDMZ0Li4lm246fWw==", + "dev": true, + "requires": { + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.12.tgz", + "integrity": "sha512-0FrJgiST+MQDMvPigzs+UIk1vslLIqGadkEWdn53Lr0NsUC2JbheG9QaO3Zf6ycK2JwsHiUpGaMFcHYXStTPMA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.5.12" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.12.tgz", + "integrity": "sha512-QBHZ45VPUJ7UyYKvUFoaxrSS9H5hbkC9U7tdWgFHmnTMutkXSEgDg2gZg3I/QTsiKOCIwx4qJUJwPd7J4D5CNQ==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.12.tgz", + "integrity": "sha512-SCXR8hPI4JOG3cdy9HAO8W5/VQ68YXG/Hfs7qDf1cd64zWuMNshyEour5NYnLMVkrrtc0XzfVS/MdeV94woFHA==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "mamacro": "^0.0.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.12.tgz", + "integrity": "sha512-0Gz5lQcyvElNVbOTKwjEmIxGwdWf+zpAW/WGzGo95B7IgMEzyyfZU+PrGHDwiSH9c0knol9G7smQnY0ljrSA6g==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.12.tgz", + "integrity": "sha512-ge/CKVKBGpiJhFN9PIOQ7sPtGYJhxm/mW1Y3SpG1L6XBunfRz0YnLjW3TmhcOEFozIVyODPS1HZ9f7VR3GBGow==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/helper-buffer": "1.5.12", + "@webassemblyjs/helper-wasm-bytecode": "1.5.12", + "@webassemblyjs/wasm-gen": "1.5.12", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/ieee754": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.5.12.tgz", + "integrity": "sha512-F+PEv9QBzPi1ThLBouUJbuxhEr+Sy/oua1ftXFKHiaYYS5Z9tKPvK/hgCxlSdq+RY4MSG15jU2JYb/K5pkoybg==", + "dev": true, + "requires": { + "ieee754": "^1.1.11" + } + }, + "@webassemblyjs/leb128": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.5.12.tgz", + "integrity": "sha512-cCOx/LVGiWyCwVrVlvGmTdnwHzIP4+zflLjGkZxWpYCpdNax9krVIJh1Pm7O86Ox/c5PrJpbvZU1cZLxndlPEw==", + "dev": true, + "requires": { + "leb": "^0.3.0" + } + }, + "@webassemblyjs/utf8": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.5.12.tgz", + "integrity": "sha512-FX8NYQMiTRU0TfK/tJVntsi9IEKsedSsna8qtsndWVE0x3zLndugiApxdNMIOoElBV9o4j0BUqR+iwU58QfPxQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.12.tgz", + "integrity": "sha512-r/oZAyC4EZl0ToOYJgvj+b0X6gVEKQMLT34pNNbtvWBehQOnaSXvVUA5FIYlH8ubWjFNAFqYaVGgQTjR1yuJdQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/helper-buffer": "1.5.12", + "@webassemblyjs/helper-wasm-bytecode": "1.5.12", + "@webassemblyjs/helper-wasm-section": "1.5.12", + "@webassemblyjs/wasm-gen": "1.5.12", + "@webassemblyjs/wasm-opt": "1.5.12", + "@webassemblyjs/wasm-parser": "1.5.12", + "@webassemblyjs/wast-printer": "1.5.12", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.12.tgz", + "integrity": "sha512-LTu+cr1YRxGGiVIXWhei/35lXXEwTnQU18x4V/gE+qCSJN21QcVTMjJuasTUh8WtmBZtOlqJbOQIeN7fGnHWhg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/helper-wasm-bytecode": "1.5.12", + "@webassemblyjs/ieee754": "1.5.12", + "@webassemblyjs/leb128": "1.5.12", + "@webassemblyjs/utf8": "1.5.12" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.12.tgz", + "integrity": "sha512-LBwG5KPA9u/uigZVyTsDpS3CVxx3AePCnTItVL+OPkRCp5LqmLsOp4a3/c5CQE0Lecm0Ss9hjUTDcbYFZkXlfQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/helper-buffer": "1.5.12", + "@webassemblyjs/wasm-gen": "1.5.12", + "@webassemblyjs/wasm-parser": "1.5.12", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.12.tgz", + "integrity": "sha512-xset3+1AtoFYEfMg30nzCGBnhKmTBzbIKvMyLhqJT06TvYV+kA884AOUpUvhSmP6XPF3G+HVZPm/PbCGxH4/VQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/helper-api-error": "1.5.12", + "@webassemblyjs/helper-wasm-bytecode": "1.5.12", + "@webassemblyjs/ieee754": "1.5.12", + "@webassemblyjs/leb128": "1.5.12", + "@webassemblyjs/utf8": "1.5.12" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.5.12.tgz", + "integrity": "sha512-QWUtzhvfY7Ue9GlJ3HeOB6w5g9vNYUUnG+Y96TWPkFHJTxZlcvGfNrUoACCw6eDb9gKaHrjt77aPq41a7y8svg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/floating-point-hex-parser": "1.5.12", + "@webassemblyjs/helper-api-error": "1.5.12", + "@webassemblyjs/helper-code-frame": "1.5.12", + "@webassemblyjs/helper-fsm": "1.5.12", + "long": "^3.2.0", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.5.12", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.5.12.tgz", + "integrity": "sha512-XF9RTeckFgDyl196uRKZWHFFfbkzsMK96QTXp+TC0R9gsV9DMiDGMSIllgy/WdrZ3y3dsQp4fTA5r4GoaOBchA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/wast-parser": "1.5.12", + "long": "^3.2.0" + } }, "abab": { "version": "1.0.4", @@ -44,34 +326,33 @@ "dev": true }, "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { - "mime-types": "2.1.17", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, "acorn": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.4.1.tgz", - "integrity": "sha512-XLmq3H/BVvW6/GbxKryGxWORz1ebilSsUDlyC27bXhWGWAZWkGwS6FLHjOlwFXNFoWFQEO/Df4u0YYd0K3BQgQ==", - "dev": true + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" }, "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "4.0.13" + "acorn": "^5.0.0" }, "dependencies": { "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", "dev": true } } @@ -82,15 +363,7 @@ "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", "optional": true, "requires": { - "acorn": "2.7.0" - }, - "dependencies": { - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "optional": true - } + "acorn": "^2.1.0" } }, "ajv": { @@ -98,29 +371,18 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", "dev": true }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, "alphanum-sort": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", @@ -139,7 +401,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -160,8 +422,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -170,11 +432,16 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" + }, "ansi-html": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", @@ -184,8 +451,7 @@ "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", @@ -194,28 +460,44 @@ "dev": true }, "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, "app-builder-bin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.3.1.tgz", - "integrity": "sha512-F08sJ8N/ttb3mM0lQXPC3IgJU7ZqrQmaQJ4BXCDs8iz79nLN7RRoe0zupAxaSq0Siptd6T3cfdUnO73FjtOhNg==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-1.8.6.tgz", + "integrity": "sha512-jQiCV8fxW3SPtPnU/BnTEQqawWtBmanCgydzRuzsptFVb/6Q4OKWdB5T3B+XHOf8lqaH89+XeJf6oA1b/QQEnQ==", "dev": true, "requires": { - "app-builder-bin-linux": "1.3.1" + "app-builder-bin-linux": "1.8.6", + "app-builder-bin-mac": "1.8.6", + "app-builder-bin-win": "1.8.6" } }, "app-builder-bin-linux": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.3.1.tgz", - "integrity": "sha512-+drdENi7FBmQ4kMOyu1wx4QSVAdiHhAucArHZpHC8R99aWDkBA+4fnQRnQV//X1DQlii/AAOqipN/3nKa/RMWw==", + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-linux/-/app-builder-bin-linux-1.8.6.tgz", + "integrity": "sha512-IZSv5Wcz3/OYZENwn3iaTLjDSSVPVFobBiJjUrP3hXeOnitRvB0aI8X5KMFYzfkv7kIhSlyPnRsvNjPqgbjyrw==", + "dev": true, + "optional": true + }, + "app-builder-bin-mac": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz", + "integrity": "sha512-lWIpI2zmOmQ4JCp1IGxK6KngKAEN6QO9nu5k8h+ZzMxHBTCk8+kbBTE+R36BSRGX9q/4FhHBpYGXHVj+N9xOXg==", + "dev": true, + "optional": true + }, + "app-builder-bin-win": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz", + "integrity": "sha512-nlceArzkRtWgqNoif6OFKaAKNNZ3uZuiG+9UkpOPLf/EDoYdeAq4YdvKWaQx1RHsNNfQTx0s/IODvlD0AdUmPA==", "dev": true, "optional": true }, @@ -231,8 +513,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.3" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" }, "dependencies": { "isarray": { @@ -242,48 +524,45 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } }, "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true }, "arr-flatten": { "version": "1.1.0", @@ -321,8 +600,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-map": { @@ -343,7 +622,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -353,9 +632,9 @@ "dev": true }, "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", "dev": true }, "asap": { @@ -374,9 +653,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -386,6 +665,23 @@ "dev": true, "requires": { "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } } }, "assert-plus": { @@ -411,7 +707,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.5" + "lodash": "^4.14.0" } }, "async-each": { @@ -438,9 +734,9 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.0.3.tgz", - "integrity": "sha1-GcenYEc3dEaPILLS0DNyrX1Mv10=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", + "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, "autoprefixer": { @@ -449,12 +745,12 @@ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000793", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" }, "dependencies": { "browserslist": { @@ -463,8 +759,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000793", - "electron-to-chromium": "1.3.30" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } } } @@ -475,9 +771,9 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" }, "babel-code-frame": { "version": "6.26.0", @@ -485,63 +781,68 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "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.5", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "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" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", + "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.5", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "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" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "babel-helper-builder-binary-assignment-operator-visitor": { @@ -550,9 +851,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-builder-react-jsx": { @@ -561,9 +862,9 @@ "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-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" } }, "babel-helper-call-delegate": { @@ -572,10 +873,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -584,10 +885,10 @@ "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.5" + "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": { @@ -596,9 +897,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -607,11 +908,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -620,8 +921,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -630,8 +931,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-optimise-call-expression": { @@ -640,8 +941,8 @@ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -650,9 +951,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.5" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -661,11 +962,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -674,12 +975,12 @@ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "dev": true, "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -688,19 +989,19 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", - "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.4.tgz", + "integrity": "sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw==", "dev": true, "requires": { - "find-cache-dir": "1.0.0", - "loader-utils": "1.1.0", - "mkdirp": "0.5.1" + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" } }, "babel-messages": { @@ -709,7 +1010,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -718,7 +1019,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-syntax-async-functions": { @@ -757,9 +1058,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "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-es2015-arrow-functions": { @@ -768,7 +1069,7 @@ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -777,7 +1078,7 @@ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -786,11 +1087,11 @@ "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.5" + "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": { @@ -799,15 +1100,15 @@ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "dev": true, "requires": { - "babel-helper-define-map": "6.26.0", - "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.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -816,8 +1117,8 @@ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-destructuring": { @@ -826,7 +1127,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -835,8 +1136,8 @@ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-for-of": { @@ -845,7 +1146,7 @@ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -854,9 +1155,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-literals": { @@ -865,7 +1166,7 @@ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -874,21 +1175,21 @@ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "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.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", + "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-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": { @@ -897,9 +1198,9 @@ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -908,9 +1209,9 @@ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "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": { @@ -919,8 +1220,8 @@ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -929,12 +1230,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -943,8 +1244,8 @@ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -953,7 +1254,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -962,9 +1263,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-template-literals": { @@ -973,7 +1274,7 @@ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -982,7 +1283,7 @@ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -991,9 +1292,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -1002,9 +1303,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "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-flow-strip-types": { @@ -1013,8 +1314,8 @@ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "dev": true, "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-display-name": { @@ -1023,7 +1324,7 @@ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx": { @@ -1032,9 +1333,9 @@ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "dev": true, "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "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": { @@ -1043,8 +1344,8 @@ "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx-source": { @@ -1053,8 +1354,8 @@ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-regenerator": { @@ -1063,7 +1364,7 @@ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "regenerator-transform": "0.10.1" + "regenerator-transform": "^0.10.0" } }, "babel-plugin-transform-strict-mode": { @@ -1072,46 +1373,46 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-preset-env": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", - "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", - "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.24.1", - "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.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.11.0", - "invariant": "2.2.2", - "semver": "5.4.1" + "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-es2015": { @@ -1120,30 +1421,30 @@ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0" + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" } }, "babel-preset-flow": { @@ -1152,7 +1453,7 @@ "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", "dev": true, "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0" + "babel-plugin-transform-flow-strip-types": "^6.22.0" } }, "babel-preset-react": { @@ -1161,12 +1462,12 @@ "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-transform-react-display-name": "6.25.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-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-register": { @@ -1175,19 +1476,19 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.3", - "home-or-tmp": "2.0.0", - "lodash": "4.17.5", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "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" }, "dependencies": { "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=", + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=", "dev": true } } @@ -1197,14 +1498,14 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "2.5.3", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" }, "dependencies": { "core-js": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.3.tgz", - "integrity": "sha1-isw4NFgk8W2DZbfJtCWRaOjtYD4=" + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" } } }, @@ -1214,11 +1515,11 @@ "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.5" + "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": { @@ -1227,26 +1528,15 @@ "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.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.5" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "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": { @@ -1255,10 +1545,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.5", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -1279,19 +1569,59 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.0", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, "base64-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", - "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" }, "batch": { "version": "0.6.1", @@ -1305,64 +1635,21 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" }, "billboard-top-100": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/billboard-top-100/-/billboard-top-100-2.0.8.tgz", - "integrity": "sha1-KPcHc7H+H3tJ9T82ZGiqaENACwI=", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/billboard-top-100/-/billboard-top-100-2.0.9.tgz", + "integrity": "sha1-8pt3xrthnIyz+lVw1i0k6wQLkio=", "requires": { - "cheerio": "0.20.0", - "request": "2.83.0" - }, - "dependencies": { - "cheerio": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", - "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.8.3", - "jsdom": "7.2.2", - "lodash": "4.17.5" - } - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "requires": { - "domelementtype": "1.3.0" - } - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" - }, - "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - } - } - } + "cheerio": "^0.20.0", + "request": "^2.72.0" } }, "binary-extensions": { @@ -1377,7 +1664,7 @@ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "bluebird": { @@ -1392,7 +1679,7 @@ "integrity": "sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA==", "dev": true, "requires": { - "bluebird": "3.5.1" + "bluebird": "^3.5.1" } }, "bn.js": { @@ -1408,25 +1695,28 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.2", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "~1.6.15" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true } } }, @@ -1436,12 +1726,12 @@ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.2", - "multicast-dns-service-types": "1.1.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, "boolbase": { @@ -1454,7 +1744,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "boxen": { @@ -1463,13 +1753,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.3.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -1479,12 +1769,12 @@ "dev": true }, "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "camelcase": { @@ -1494,14 +1784,14 @@ "dev": true }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -1522,8 +1812,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -1532,39 +1822,57 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } }, "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "brorand": { @@ -1574,45 +1882,45 @@ "dev": true }, "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, "browserify-aes": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.1.1.tgz", - "integrity": "sha512-UGnTYAnB2a3YuYKIRy1/4FB2HdM866E0qC46JXvVTYKlBlZlnvfpSfY6OKfXZAkv70eJ2a1SqzpAo5CRhZGDFg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "1.1.1", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.1.tgz", + "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { @@ -1621,8 +1929,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -1631,13 +1939,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { @@ -1646,42 +1954,40 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "1.0.6" + "pako": "~1.0.5" } }, "browserslist": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.0.tgz", - "integrity": "sha512-mNYp0RNeu1xueGuJFSXkU+K0nH+dBE/gcjtyhtNKfU8hwdrVIfoA7i5iFSjOmzkGdL2QaO7YX9ExiVPE7AY9JA==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000789", - "electron-to-chromium": "1.3.30" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "base64-js": "1.2.0", - "ieee754": "1.1.8", - "isarray": "1.0.0" + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "electron-to-chromium": { + "version": "1.3.50", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz", + "integrity": "sha1-dDi3b5K0G5GfP73TUPvQdX2s3fc=", "dev": true } } }, - "buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "buffer": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", + "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-from": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.0.0.tgz", + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==", "dev": true }, "buffer-indexof": { @@ -1697,45 +2003,54 @@ "dev": true }, "builder-util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.2.0.tgz", - "integrity": "sha512-MtBUSnHVS6rA9bu3hcKmpvw3C/I8d9C2G5/hi/3Wjjon/ov6ChrUo1+w7X2rNp3cr5zVZB/QqnaY8s3gyBjNZQ==", - "dev": true, - "requires": { - "7zip-bin": "3.1.0", - "app-builder-bin": "1.3.1", - "bluebird-lst": "1.0.5", - "builder-util-runtime": "4.0.5", - "chalk": "2.3.1", - "debug": "3.1.0", - "fs-extra-p": "4.5.0", - "is-ci": "1.1.0", - "js-yaml": "3.10.0", - "lazy-val": "1.0.3", - "semver": "5.5.0", - "source-map-support": "0.5.3", - "stat-mode": "0.2.2", - "temp-file": "3.1.1" + "version": "5.7.10", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.7.10.tgz", + "integrity": "sha512-vod4bl9Y+uuXhG5puvi7ike9JhF5/eTyc11WjhsVycVTYWAyxQlJqW1EaOtu34N+e1/AHPhA8XA3QI/Zskfpag==", + "dev": true, + "requires": { + "7zip-bin": "~3.1.0", + "app-builder-bin": "1.8.6", + "bluebird-lst": "^1.0.5", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.4.1", + "debug": "^3.1.0", + "fs-extra-p": "^4.5.2", + "is-ci": "^1.1.0", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "semver": "^5.5.0", + "source-map-support": "^0.5.5", + "stat-mode": "^0.2.2", + "temp-file": "^3.1.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ms": "2.0.0" } }, "esprima": { @@ -1751,57 +2066,57 @@ "dev": true }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "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 - }, "source-map-support": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.3.tgz", - "integrity": "sha512-eKkTgWYeBOQqFGXRfKabMFdnWepo51vWqEdoeikaEPFiJC7MCU5j2h4+6Q8npkZTeLGbSyecZvRxiSoWl3rh+w==", + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.5.tgz", + "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", "dev": true, "requires": { - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } }, "builder-util-runtime": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.0.5.tgz", - "integrity": "sha512-NT8AxWH6miZQHnZzaTVjVp1uc6C/mWlxi6GQXKpd4CwyTQd3rT7+poOGrcOhtIiHYCL9VEbRsVfxUAPPsgqJdg==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-4.2.0.tgz", + "integrity": "sha512-cROCExnJOJvRD58HHcnrrgyRAoDHGZT0hKox0op7vTuuuRC/1JKMXvSR+Hxy7KWy/aEmKu0HfSqMd4znDEqQsA==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "debug": "3.1.0", - "fs-extra-p": "4.5.0", - "sax": "1.2.4" + "bluebird-lst": "^1.0.5", + "debug": "^3.1.0", + "fs-extra-p": "^4.5.2", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "builtin-modules": { @@ -1823,24 +2138,32 @@ "dev": true }, "cacache": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.2.tgz", - "integrity": "sha512-dljb7dk1jqO5ogE+dRpoR9tpHYv5xz9vPSNunh1+0wRuNdYxmzp9WmsyokgW/DUF1FDRVA/TMsmxt027R8djbQ==", - "dev": true, - "requires": { - "bluebird": "3.5.1", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.1", - "mississippi": "1.3.1", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.2", - "ssri": "5.1.0", - "unique-filename": "1.1.0", - "y18n": "3.2.1" + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + }, + "dependencies": { + "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 + } } }, "cache-base": { @@ -1849,15 +2172,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "camelcase": { @@ -1872,8 +2195,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, "caniuse-api": { @@ -1882,10 +2205,10 @@ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000793", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" }, "dependencies": { "browserslist": { @@ -1894,27 +2217,27 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000793", - "electron-to-chromium": "1.3.30" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } } } }, "caniuse-db": { - "version": "1.0.30000793", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000793.tgz", - "integrity": "sha1-PADGbkI6ehkHx92Wdpp4sq+opy4=", + "version": "1.0.30000833", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000833.tgz", + "integrity": "sha1-K9e+cqQBZY0svLj012AN7r6xxnY=", "dev": true }, "caniuse-lite": { - "version": "1.0.30000789", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000789.tgz", - "integrity": "sha1-Lj2TeyZxM/Y2Ne9/RB+sZjYPyIk=", + "version": "1.0.30000858", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000858.tgz", + "integrity": "sha512-oJRGfVfwHr0VKcoy2UqIoRmQcDOugnNAQsWYI3/JTzExrlzxSKtmLW1N4h+gmjgpYCEJthHmaIjok894H5il/g==", "dev": true }, "capture-stack-trace": { "version": "1.0.0", - "resolved": "http://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", + "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", "dev": true }, @@ -1923,36 +2246,18 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - }, - "dependencies": { - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - } - } - }, "chai": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chai/-/chai-4.1.2.tgz", "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", "dev": true, "requires": { - "assertion-error": "1.1.0", - "check-error": "1.0.2", - "deep-eql": "3.0.1", - "get-func-name": "2.0.0", - "pathval": "1.1.0", - "type-detect": "4.0.7" + "assertion-error": "^1.0.1", + "check-error": "^1.0.1", + "deep-eql": "^3.0.0", + "get-func-name": "^2.0.0", + "pathval": "^1.0.0", + "type-detect": "^4.0.0" } }, "chalk": { @@ -1961,13 +2266,26 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } } }, + "chardet": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.5.0.tgz", + "integrity": "sha512-9ZTaoBaePSCFvNlNGrsyI8ZVACP2svUtq0DkM7t4K2ClAa96sqOIRjAzDTc8zXzFt1cZR46rRzLTiHFSJ+Qw0g==" + }, "charenc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", @@ -1980,32 +2298,37 @@ "dev": true }, "cheerio": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", - "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", + "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.9.2", - "lodash": "4.17.5", - "parse5": "3.0.3" + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "~3.8.1", + "jsdom": "^7.0.2", + "lodash": "^4.1.0" } }, "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" } }, "chownr": { @@ -2014,6 +2337,15 @@ "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=", "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==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, "chromium-pickle-js": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", @@ -2021,9 +2353,9 @@ "dev": true }, "ci-info": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz", - "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", "dev": true }, "cipher-base": { @@ -2032,8 +2364,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "clap": { @@ -2042,7 +2374,7 @@ "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "dev": true, "requires": { - "chalk": "1.1.3" + "chalk": "^1.1.3" } }, "class-utils": { @@ -2051,10 +2383,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -2063,65 +2395,8 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-descriptor": "^0.1.0" } - }, - "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 } } }, @@ -2140,44 +2415,70 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, - "cli-spinners": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.1.0.tgz", - "integrity": "sha1-8YR7FohE2RemceudFH499JfJDQY=", - "dev": true + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } } }, "clone": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz", - "integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", "dev": true }, "clone-deep": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-0.3.0.tgz", - "integrity": "sha1-NIxhrpzb4O3+BT2R/0zFIdeQ7eg=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", "dev": true, "requires": { - "for-own": "1.0.0", - "is-plain-object": "2.0.4", - "kind-of": "3.2.2", - "shallow-clone": "0.1.2" + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" } }, "co": { @@ -2191,14 +2492,13 @@ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "dev": true, "requires": { - "q": "1.5.1" + "q": "^1.1.2" } }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "collection-visit": { "version": "1.0.0", @@ -2206,8 +2506,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color": { @@ -2216,25 +2516,23 @@ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "dev": true, "requires": { - "clone": "1.0.3", - "color-convert": "1.9.1", - "color-string": "0.3.0" + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" } }, "color-convert": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", - "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { "version": "0.3.0", @@ -2242,7 +2540,7 @@ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "dev": true, "requires": { - "color-name": "1.1.3" + "color-name": "^1.0.0" } }, "colormin": { @@ -2251,9 +2549,9 @@ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "dev": true, "requires": { - "color": "0.11.4", + "color": "^0.11.0", "css-color-names": "0.0.4", - "has": "1.0.1" + "has": "^1.0.1" } }, "colors": { @@ -2263,17 +2561,17 @@ "dev": true }, "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", - "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", "dev": true }, "commondir": { @@ -2295,37 +2593,42 @@ "dev": true }, "compressible": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.12.tgz", - "integrity": "sha1-xZpcmdt2dn6YdlAOJx72OzSTvWY=", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.30.0" + "mime-db": ">= 1.34.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz", + "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=", + "dev": true + } } }, "compression": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", - "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", + "version": "1.7.2", + "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "bytes": "3.0.0", - "compressible": "2.0.12", + "compressible": "~2.0.13", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true } } }, @@ -2341,9 +2644,9 @@ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "typedarray": "0.0.6" + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" }, "dependencies": { "isarray": { @@ -2353,43 +2656,43 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } }, "configstore": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", - "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.1.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "connect-history-api-fallback": { @@ -2404,7 +2707,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "console-control-strings": { @@ -2455,12 +2758,12 @@ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "aproba": "1.2.0", - "fs-write-stream-atomic": "1.0.10", - "iferr": "0.1.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, "copy-descriptor": { @@ -2480,59 +2783,59 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-error-class": { "version": "3.0.2", - "resolved": "http://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", + "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cross-unzip": { @@ -2551,7 +2854,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -2559,7 +2862,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } } } @@ -2570,17 +2873,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.6", - "randomfill": "1.0.3" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "crypto-random-string": { @@ -2589,6 +2892,11 @@ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, + "css-box-model": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-0.0.12.tgz", + "integrity": "sha512-9mIf6mJtgXJhsSHSCR+K18eoxsgXx2h0MOXhGBf0ObTPg4ciuD8R7wpLuS+YYxkrxcnMG+AsOgQ2OHGKMpvxOg==" + }, "css-color-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", @@ -2601,25 +2909,25 @@ "dev": true }, "css-loader": { - "version": "0.28.9", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.9.tgz", - "integrity": "sha512-r3dgelMm/mkPz5Y7m9SeiGE46i2VsEU/OYbez+1llfxtv8b2y5/b5StaeEvPK3S5tlNQI+tDW/xDIhKJoZgDtw==", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.2.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": "^3.10.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.1.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" } }, "css-select": { @@ -2627,10 +2935,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", + "boolbase": "~1.0.0", + "css-what": "2.1", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "~1.0.1" } }, "css-selector-tokenizer": { @@ -2639,9 +2947,9 @@ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "dev": true, "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" }, "dependencies": { "regexpu-core": { @@ -2650,9 +2958,9 @@ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } } } @@ -2662,9 +2970,9 @@ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.1.2.tgz", "integrity": "sha512-akxvxNPNm+Qb7kGswgWhD8rLENM8857NVIn1lX0Dr9BQuju8vx6ypet7KvwvqBC01FUEne5V/jvt7FJXWJPtgw==", "requires": { - "css-color-keywords": "1.0.0", - "fbjs": "0.8.16", - "postcss-value-parser": "3.3.0" + "css-color-keywords": "^1.0.0", + "fbjs": "^0.8.5", + "postcss-value-parser": "^3.3.0" } }, "css-what": { @@ -2684,38 +2992,38 @@ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "dev": true, "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" } }, "csso": { @@ -2724,8 +3032,16 @@ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", "dev": true, "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" + "clap": "^1.0.9", + "source-map": "^0.5.3" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "cssom": { @@ -2739,7 +3055,7 @@ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "optional": true, "requires": { - "cssom": "0.3.2" + "cssom": "0.3.x" } }, "currently-unhandled": { @@ -2748,7 +3064,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "cyclist": { @@ -2763,7 +3079,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.38" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -2771,7 +3087,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-now": { @@ -2786,13 +3102,13 @@ "integrity": "sha1-vO2hSGc7wvzKIEK6BqlZZXYmibw=", "optional": true, "requires": { - "nan": "2.8.0" + "nan": "^2.1.0" } }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "requires": { "ms": "2.0.0" @@ -2801,8 +3117,7 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { "version": "0.2.0", @@ -2816,7 +3131,7 @@ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "type-detect": "4.0.7" + "type-detect": "^4.0.0" } }, "deep-equal": { @@ -2826,9 +3141,9 @@ "dev": true }, "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.5.1.tgz", + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==", "dev": true }, "deep-is": { @@ -2843,8 +3158,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" }, "dependencies": { "object-keys": { @@ -2856,32 +3171,64 @@ } }, "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "1.0.2" - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" } }, "delayed-stream": { @@ -2907,8 +3254,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -2923,15 +3270,9 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "dev": true - }, "detect-node": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", @@ -2939,52 +3280,162 @@ "dev": true }, "diff": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.3.1.tgz", - "integrity": "sha512-MKPHZDMB0o6yHyDryUOScqZibp914ksXwAMYMTHj6KO8UeKsRYNJD3oNCKjTqZon+V488P7N/HzXF8t7ZR95ww==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "dmg-builder": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-4.0.2.tgz", - "integrity": "sha512-s8AtZ6lj+qc1gxDFx0i2k1v+M+kLWooN08tvSzGaGxGMb0DBlO945MuB2Qe2w4SGv7zBMCvt6+3e5ZdeuY6Fqg==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-4.1.5.tgz", + "integrity": "sha512-AoBHrC7ARxMurEMgvshcW4br1JWgqBqLtxRtEnt2W6ScYWYsTFPAur7CNxtm1vI94rEIgBiH7lg0Q+OZNRnVvQ==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "builder-util": "5.2.0", - "electron-builder-lib": "20.0.4", - "fs-extra-p": "4.5.0", - "iconv-lite": "0.4.19", - "js-yaml": "3.10.0", - "parse-color": "1.0.0", - "sanitize-filename": "1.6.1" + "bluebird-lst": "^1.0.5", + "builder-util": "^5.7.6", + "electron-builder-lib": "~20.9.0", + "fs-extra-p": "^4.5.2", + "iconv-lite": "^0.4.21", + "js-yaml": "^3.11.0", + "parse-color": "^1.0.0", + "sanitize-filename": "^1.6.1" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "electron-builder-lib": { + "version": "20.9.2", + "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.9.2.tgz", + "integrity": "sha512-V0XQU8Va4T3ZC/saOTxEB9AxmClmEuS1afsAcY5dLbbTKdPrIv3t0vU/zN1rYxYb01dB6pLcGP6eRmgxTefhQQ==", + "dev": true, + "requires": { + "7zip-bin": "~3.1.0", + "app-builder-bin": "1.8.6", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.5", + "builder-util": "5.7.8", + "builder-util-runtime": "4.2.0", + "chromium-pickle-js": "^0.2.0", + "debug": "^3.1.0", + "ejs": "^2.5.9", + "electron-osx-sign": "0.4.10", + "electron-publish": "20.9.0", + "fs-extra-p": "^4.5.2", + "hosted-git-info": "^2.6.0", + "is-ci": "^1.1.0", + "isbinaryfile": "^3.0.2", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "minimatch": "^3.0.4", + "normalize-package-data": "^2.4.0", + "plist": "^3.0.1", + "read-config-file": "3.0.0", + "sanitize-filename": "^1.6.1", + "semver": "^5.5.0", + "temp-file": "^3.1.1" + }, + "dependencies": { + "builder-util": { + "version": "5.7.8", + "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-5.7.8.tgz", + "integrity": "sha512-4GuYgxBpLWk4LGh/6r58extk4cnyM+wOp+pEUNbRVHP1KuljDAHnvTvBMewrG5IXGpYzGhhUDCtRaO/85u9JYw==", + "dev": true, + "requires": { + "7zip-bin": "~3.1.0", + "app-builder-bin": "1.8.6", + "bluebird-lst": "^1.0.5", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.3.2", + "debug": "^3.1.0", + "fs-extra-p": "^4.5.2", + "is-ci": "^1.1.0", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "semver": "^5.5.0", + "source-map-support": "^0.5.4", + "stat-mode": "^0.2.2", + "temp-file": "^3.1.1" + } + } + } + }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "source-map-support": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.5.tgz", + "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "has-flag": "^3.0.0" } } } @@ -3001,8 +3452,8 @@ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.1" + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, "dns-txt": { @@ -3011,7 +3462,7 @@ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { - "buffer-indexof": "1.1.1" + "buffer-indexof": "^1.0.0" } }, "dom-serializer": { @@ -3019,8 +3470,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -3048,11 +3499,11 @@ "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" }, "domhandler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", - "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -3060,8 +3511,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -3070,13 +3521,13 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "dotenv": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.0.tgz", - "integrity": "sha512-p4A7snaxI9Hnj3GDWhTpckHYcd9WwZDmGPcvJJV3CoRFq0Dvsp96eYgXBl9WbmbJfuxqiZ2WenNaeWSs675ghQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz", + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==", "dev": true }, "dotenv-expand": { @@ -3098,15 +3549,15 @@ "dev": true }, "duplexify": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.3.tgz", - "integrity": "sha512-g8ID9OroF9hKt2POf8YLayy+9594PzmM3scI00/uBXocX3TWNgoB67hjzkFe9ITAbQOne/lLdBxHXvYUM4ZgGA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz", + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" }, "dependencies": { "isarray": { @@ -3116,27 +3567,27 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } @@ -3147,7 +3598,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -3157,70 +3608,79 @@ "dev": true }, "ejs": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.7.tgz", - "integrity": "sha1-zIcsFoiArjxxiXYv1f/ACJbJUYo=", + "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": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-1.8.2.tgz", - "integrity": "sha512-0TV5Hy92g8ACnPn+PVol6a/2uk+khzmRtWxhah/FcKs6StCytm5hD14QqOdZxEdJN8HljXIVCayN/wJX+0wDiQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/electron/-/electron-2.0.3.tgz", + "integrity": "sha512-SLCmnEqcpZD+GjNWcqRvr+CC8palbN6O/wlCcGJgUtPkQqwGiUg9V3FK4/0HnWdp0YQpmQrZh9BzqtW3Hiw96w==", "dev": true, "requires": { - "@types/node": "8.9.4", - "electron-download": "3.3.0", - "extract-zip": "1.6.6" + "@types/node": "^8.0.24", + "electron-download": "^3.0.1", + "extract-zip": "^1.0.3" }, "dependencies": { "@types/node": { - "version": "8.9.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-8.9.4.tgz", - "integrity": "sha512-dSvD36qnQs78G1BPsrZFdPpvLgMW/dnvr5+nTW2csMs5TiP9MOXrjUbnMZOEwnIuBklXtn7b6TPA2Cuq07bDHA==", + "version": "8.10.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.20.tgz", + "integrity": "sha512-M7x8+5D1k/CuA6jhiwuSCmE8sbUWJF0wYsjcig9WrXvwUI5ArEoUBdOXpV4JcEMrLp02/QbDjw+kI+vQeKyQgg==", "dev": true } } }, "electron-builder": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.0.4.tgz", - "integrity": "sha512-YRq7B9H1CnGeZG1mz4o3Xn3lMNQnfHHzmFAhh5ovsFcpiq9zXmLzPwzqwD55IN5BULWRe0afA67tEidWcJXkFQ==", + "version": "20.11.1", + "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.11.1.tgz", + "integrity": "sha512-pVaPw2L1j3v+oB5r9yJ1Smj1jWhwec9+c/gRwyDNmskMHJYpE+EkQgPe52NiMsP/A7xxQFPgcTD1lXgJFnb0Zg==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "builder-util": "5.2.0", - "builder-util-runtime": "4.0.5", - "chalk": "2.3.1", - "dmg-builder": "4.0.2", - "electron-builder-lib": "20.0.4", + "bluebird-lst": "^1.0.5", + "builder-util": "5.7.10", + "builder-util-runtime": "4.2.0", + "chalk": "^2.4.1", + "dmg-builder": "4.1.5", + "electron-builder-lib": "20.11.1", "electron-download-tf": "4.3.4", - "fs-extra-p": "4.5.0", - "is-ci": "1.1.0", - "lazy-val": "1.0.3", + "fs-extra-p": "^4.5.2", + "is-ci": "^1.1.0", + "lazy-val": "^1.0.3", "read-config-file": "3.0.0", - "sanitize-filename": "1.6.1", - "update-notifier": "2.3.0", - "yargs": "11.0.0" + "sanitize-filename": "^1.6.1", + "update-notifier": "^2.5.0", + "yargs": "^11.0.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ms": "2.0.0" } }, "electron-download-tf": { @@ -3229,15 +3689,15 @@ "integrity": "sha512-SQYDGMLpTgty1bx3NycuDb7dNPzktVSdK2sqPZjyRocauq/uN/V4S2lcpFVLupaHhKlD8zozm9fTpm5UdohvTg==", "dev": true, "requires": { - "debug": "3.1.0", - "env-paths": "1.0.0", - "fs-extra": "4.0.3", - "minimist": "1.2.0", - "nugget": "2.0.1", - "path-exists": "3.0.0", - "rc": "1.2.5", - "semver": "5.4.1", - "sumchecker": "2.0.2" + "debug": "^3.0.0", + "env-paths": "^1.0.0", + "fs-extra": "^4.0.1", + "minimist": "^1.2.0", + "nugget": "^2.0.1", + "path-exists": "^3.0.0", + "rc": "^1.2.1", + "semver": "^5.4.1", + "sumchecker": "^2.0.2" } }, "fs-extra": { @@ -3246,9 +3706,9 @@ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "has-flag": { @@ -3263,7 +3723,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "minimist": { @@ -3278,7 +3738,7 @@ "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", "dev": true, "requires": { - "debug": "2.6.9" + "debug": "^2.2.0" }, "dependencies": { "debug": { @@ -3293,82 +3753,135 @@ } }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } }, "electron-builder-lib": { - "version": "20.0.4", - "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.0.4.tgz", - "integrity": "sha512-fLH1Rv0sIAFHdRCkY0I1D+5qsaFVu1haIBBZtuFwswHvLmLbDZL5QqaFefe0WF+qW+cGuUO5pgiZTUju2Qrfrg==", - "dev": true, - "requires": { - "7zip-bin": "3.1.0", - "app-builder-bin": "1.3.1", - "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.5", - "builder-util": "5.2.0", - "builder-util-runtime": "4.0.5", - "chromium-pickle-js": "0.2.0", - "debug": "3.1.0", - "ejs": "2.5.7", - "electron-osx-sign": "0.4.8", - "electron-publish": "20.0.2", - "fs-extra-p": "4.5.0", - "hosted-git-info": "2.5.0", - "is-ci": "1.1.0", - "isbinaryfile": "3.0.2", - "js-yaml": "3.10.0", - "lazy-val": "1.0.3", - "minimatch": "3.0.4", - "normalize-package-data": "2.4.0", - "plist": "2.1.0", + "version": "20.11.1", + "resolved": "https://registry.npmjs.org/electron-builder-lib/-/electron-builder-lib-20.11.1.tgz", + "integrity": "sha512-sK0Fdvrsqmx4UtCG58sA6udYWGY8aVAbSGlVOzzJE2A+rQZBb+gMOttnF6dyrNCy5Vw6eBkPWS80eIJXMF40pQ==", + "dev": true, + "requires": { + "7zip-bin": "~3.1.0", + "app-builder-bin": "1.8.6", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.5", + "builder-util": "5.7.10", + "builder-util-runtime": "4.2.0", + "chromium-pickle-js": "^0.2.0", + "debug": "^3.1.0", + "ejs": "^2.5.9", + "electron-osx-sign": "0.4.10", + "electron-publish": "20.11.0", + "fs-extra-p": "^4.5.2", + "hosted-git-info": "^2.6.0", + "is-ci": "^1.1.0", + "isbinaryfile": "^3.0.2", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "minimatch": "^3.0.4", + "normalize-package-data": "^2.4.0", + "plist": "^3.0.1", "read-config-file": "3.0.0", - "sanitize-filename": "1.6.1", - "semver": "5.5.0", - "temp-file": "3.1.1" + "sanitize-filename": "^1.6.1", + "semver": "^5.5.0", + "temp-file": "^3.1.1" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "electron-publish": { + "version": "20.11.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.11.0.tgz", + "integrity": "sha512-oq8VcXJ1FSgxX4Z13oOutvj0TKbRCtqkpzOYlB2jU+wnfqaK2sYoz2zI1px6IjsX4LQ7m5Fa9POVmKndnCE5lw==", + "dev": true, + "requires": { + "bluebird-lst": "^1.0.5", + "builder-util": "^5.7.10", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.4.1", + "fs-extra-p": "^4.5.2", + "lazy-val": "^1.0.3", + "mime": "^2.3.1" + } + }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", "dev": true }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, - "semver": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", - "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==", - "dev": true + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, "electron-devtools-installer": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/electron-devtools-installer/-/electron-devtools-installer-2.2.3.tgz", - "integrity": "sha512-KFVP2lt3guvhXsUKE3YxbddMOJtpdvTsWfloV/8395Df5Td9Z+YvNl8LFW864mVqdDJsiy2qQ8y95NT5C+avSA==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz", + "integrity": "sha512-b5kcM3hmUqn64+RUcHjjr8ZMpHS2WJ5YO0pnG9+P/RTdx46of/JrEjuciHWux6pE+On6ynWhHJF53j/EDJN0PA==", "dev": true, "requires": { "7zip": "0.0.6", "cross-unzip": "0.0.2", - "rimraf": "2.6.2", - "semver": "5.4.1" + "rimraf": "^2.5.2", + "semver": "^5.3.0" } }, "electron-download": { @@ -3377,26 +3890,17 @@ "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", "dev": true, "requires": { - "debug": "2.6.9", - "fs-extra": "0.30.0", - "home-path": "1.0.5", - "minimist": "1.2.0", - "nugget": "2.0.1", - "path-exists": "2.1.0", - "rc": "1.2.5", - "semver": "5.4.1", - "sumchecker": "1.3.1" + "debug": "^2.2.0", + "fs-extra": "^0.30.0", + "home-path": "^1.0.1", + "minimist": "^1.2.0", + "nugget": "^2.0.0", + "path-exists": "^2.1.0", + "rc": "^1.1.2", + "semver": "^5.3.0", + "sumchecker": "^1.2.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", @@ -3409,39 +3913,47 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } }, "electron-osx-sign": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.8.tgz", - "integrity": "sha1-8Ln63e2eHlTsNfqJh3tcbDTHvEA=", + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.10.tgz", + "integrity": "sha1-vk87ibKnWh3F8eckkIGrKSnKOiY=", "dev": true, "requires": { - "bluebird": "3.5.1", - "compare-version": "0.1.2", - "debug": "2.6.9", - "isbinaryfile": "3.0.2", - "minimist": "1.2.0", - "plist": "2.1.0" + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^2.1.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "base64-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=", + "dev": true }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true + }, + "plist": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", + "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", + "dev": true, + "requires": { + "base64-js": "1.2.0", + "xmlbuilder": "8.2.2", + "xmldom": "0.1.x" + } } } }, @@ -3451,37 +3963,38 @@ "integrity": "sha1-L8cLzlP7cy7IF2m9bEjhDEClUao=" }, "electron-publish": { - "version": "20.0.2", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.0.2.tgz", - "integrity": "sha512-IvKJhyJSbcPx8I9/ukESN1HxSpFSU6siwMugHpyrxvu+++Yco00hkO53NSyvV+MS536P/5fVFAFD4BBYUcqDAg==", + "version": "20.9.0", + "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.9.0.tgz", + "integrity": "sha512-Fqc+XpSDssHUX2+qKIV3fEi3y25PRzO3lD4l/Bfk/OSSnITHBr3DMBkxE7Z3lvqwGs/9fYEzon/sdV17mtR5sQ==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "builder-util": "5.2.0", - "builder-util-runtime": "4.0.5", - "chalk": "2.3.1", - "fs-extra-p": "4.5.0", - "mime": "2.2.0" + "bluebird-lst": "^1.0.5", + "builder-util": "^5.7.6", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.3.2", + "fs-extra-p": "^4.5.2", + "lazy-val": "^1.0.3", + "mime": "^2.3.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -3491,130 +4004,21 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "electron-rebuild": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/electron-rebuild/-/electron-rebuild-1.7.3.tgz", - "integrity": "sha1-JK4GrZ3WHLfk1oiWH0kRjEChEOs=", - "dev": true, - "requires": { - "colors": "1.1.2", - "debug": "2.6.9", - "detect-libc": "1.0.3", - "fs-extra": "3.0.1", - "node-abi": "2.2.0", - "node-gyp": "3.6.2", - "ora": "1.4.0", - "rimraf": "2.6.2", - "spawn-rx": "2.0.12", - "yargs": "7.1.0" - }, - "dependencies": { - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "fs-extra": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", - "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "3.0.1", - "universalify": "0.1.1" - } - }, - "jsonfile": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", - "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "1.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "camelcase": "3.0.0" + "has-flag": "^3.0.0" } } } }, - "electron-releases": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/electron-releases/-/electron-releases-2.1.0.tgz", - "integrity": "sha512-cyKFD1bTE/UgULXfaueIN1k5EPFzs+FRc/rvCY5tIynefAPqopQEgjr0EzY+U3Dqrk/G4m9tXSPuZ77v6dL/Rw==", - "dev": true - }, "electron-to-chromium": { - "version": "1.3.30", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.30.tgz", - "integrity": "sha512-zx1Prv7kYLfc4OA60FhxGbSo4qrEjgSzpo1/37i7l9ltXPYOoQBtjQxY9KmsgfHnBxHlBGXwLlsbt/gub1w5lw==", - "dev": true, - "requires": { - "electron-releases": "2.1.0" - } + "version": "1.3.45", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz", + "integrity": "sha1-RYrBscXHYM6IEaFtK/vZfsMLr7g=", + "dev": true }, "elliptic": { "version": "6.4.0", @@ -3622,20 +4026,19 @@ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "encodeurl": { "version": "1.0.2", @@ -3648,7 +4051,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.19" + "iconv-lite": "~0.4.13" } }, "end-of-stream": { @@ -3657,19 +4060,17 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz", + "integrity": "sha512-jox/62b2GofV1qTUQTMPEJSDIGycS43evqYzD/KVtEb9OCoki9cnacUPxCrZa7JfPzZSYOCZhu9O9luaMxAX8g==", "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" } }, "entities": { @@ -3684,12 +4085,11 @@ "dev": true }, "errno": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.6.tgz", - "integrity": "sha512-IsORQDpaaSwcDP4ZZnHxgE85werpo34VYn1Ud3mq+eUsF593faR8oCZNXrROVkpFu2TsbrNhHin0aUrTsQ9vNw==", - "dev": true, + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error-ex": { @@ -3698,20 +4098,20 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.10.0.tgz", - "integrity": "sha512-/uh/DhdqIOSkAWifU+8nG78vlQxdLckUdI/sPgy0VhuXi2qJ7T8czBmqIYtLQVpCIFYafChnsRsB5pyb1JdmCQ==", + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.11.0.tgz", + "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -3720,19 +4120,20 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { - "version": "0.10.38", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.38.tgz", - "integrity": "sha512-jCMyePo7AXbUESwbl8Qi01VSH2piY9s/a3rSU/5w/MlTIx8HPL1xn2InGN8ejt/xulcJgnTO7vqNtOAxzYd2Kg==", + "version": "0.10.45", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", + "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-iterator": { @@ -3741,23 +4142,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.38", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.38", - "es6-iterator": "2.0.3", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-promise": { @@ -3766,39 +4153,14 @@ "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", "dev": true }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.38", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.38" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.38", - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "~0.10.14" } }, "escape-html": { @@ -3810,56 +4172,44 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz", + "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "optional": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "optional": true - } + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" } }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", + "optional": true }, "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -3878,35 +4228,25 @@ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", "dev": true }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.38" - } - }, "event-stream": { "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "dev": true, "requires": { - "duplexer": "0.1.1", - "from": "0.1.7", - "map-stream": "0.1.0", + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", "pause-stream": "0.0.11", - "split": "0.3.3", - "stream-combiner": "0.0.4", - "through": "2.3.8" + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" } }, "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", "dev": true }, "events": { @@ -3921,7 +4261,7 @@ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "dev": true, "requires": { - "original": "1.0.0" + "original": ">=0.0.5" } }, "evp_bytestokey": { @@ -3930,79 +4270,95 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "fill-range": "2.2.3" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "express": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", - "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "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.0", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "~2.0.3", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", - "send": "0.16.1", - "serve-static": "1.13.1", + "send": "0.16.2", + "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", + "statuses": "~1.4.0", + "type-is": "~1.6.16", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "array-flatten": { @@ -4011,20 +4367,23 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", "dev": true + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", + "dev": true } } }, @@ -4034,21 +4393,109 @@ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" }, "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.0.tgz", + "integrity": "sha512-mpkfj0FEdxrIhOC04zk85X7StNtr0yXnG7zCb+8ikO8OJi2jsHh5YGoknNTyXgsbHOf1WOOcVU3kPFWT2WgCkQ==", + "requires": { + "chardet": "^0.5.0", + "iconv-lite": "^0.4.22", + "tmp": "^0.0.33" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + } } }, "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "is-extglob": "1.0.0" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } } }, "extract-text-webpack-plugin": { @@ -4057,40 +4504,64 @@ "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "dev": true, "requires": { - "async": "2.6.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.1.0" + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" } }, "extract-zip": { - "version": "1.6.6", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.6.tgz", - "integrity": "sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw=", + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", "dev": true, "requires": { - "concat-stream": "1.6.0", + "concat-stream": "1.6.2", "debug": "2.6.9", - "mkdirp": "0.5.0", + "mkdirp": "0.5.1", "yauzl": "2.4.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "ms": "2.0.0" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "mkdirp": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "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": { - "minimist": "0.0.8" + "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" } } } @@ -4101,9 +4572,9 @@ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" }, "fast-json-stable-stringify": { "version": "2.0.0", @@ -4127,7 +4598,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "fbjs": { @@ -4135,13 +4606,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.17" + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.9" } }, "fd-slicer": { @@ -4150,99 +4621,106 @@ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "dev": true, "requires": { - "pend": "1.2.0" + "pend": "~1.2.0" } }, - "file-loader": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.6.tgz", - "integrity": "sha512-873ztuL+/hfvXbLDJ262PGO6XjERnybJu2gW1/5j8HUfxSiFJI9Hj/DhZ50ZGRUxBvuNiazb/cM2rh9pqrxP6Q==", - "dev": true, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" + "escape-string-regexp": "^1.0.5" } }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" + "loader-utils": "^1.0.2", + "schema-utils": "^0.4.5" }, "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "ajv": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", + "dev": true, + "requires": { + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" + } }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "isarray": "1.0.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } } } }, - "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "statuses": "1.3.1", - "unpipe": "1.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "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": { - "ms": "2.0.0" + "is-extendable": "^0.1.0" } } } }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "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", + "unpipe": "~1.0.0" + } + }, "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.1.0", - "pkg-dir": "2.0.0" + "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": "^2.0.0" } }, "flatten": { @@ -4252,13 +4730,13 @@ "dev": true }, "flush-write-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz", - "integrity": "sha1-yBuQ2HRnZvGmCaRoCZRsRd2K5Bc=", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" }, "dependencies": { "isarray": { @@ -4268,38 +4746,58 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } }, "flux-standard-action": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/flux-standard-action/-/flux-standard-action-0.6.1.tgz", - "integrity": "sha1-bzQhG5SDTqHDzDD056+tPQ+/caI=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/flux-standard-action/-/flux-standard-action-2.0.3.tgz", + "integrity": "sha512-HR2IjMkqJreoFm1Hx7hmMAtUFeo+ad8hPMYPo8o3YSWjbSq0sMwuXMbv4giB3TXngYB7+svkAJewQwwvwsE6xw==", + "dev": true, + "requires": { + "lodash": "^4.0.0" + } + }, + "follow-redirects": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", + "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "dev": true, "requires": { - "lodash.isplainobject": "3.2.0" + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "font-awesome": { @@ -4319,7 +4817,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -4334,13 +4832,13 @@ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", - "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" } }, "forwarded": { @@ -4355,7 +4853,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fresh": { @@ -4376,8 +4874,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" }, "dependencies": { "isarray": { @@ -4387,27 +4885,27 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } @@ -4418,32 +4916,32 @@ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, "fs-extra-p": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.5.0.tgz", - "integrity": "sha512-V/sdZmV+Yx3+nfXmjRTdBP4mVWCt7hZ0+ZOv+IZo+6fdkBxafaGsI7mYeNv/J3rWyz+mIToCFQORFSwt1bZw8Q==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.6.0.tgz", + "integrity": "sha512-nSVqB5UfWZQdU6pzBwcFh+7lJpBynnTsVtNJTBhAnAppUQRut0W7WeM271iS0TqQ9FoCqDXqyL0+h+h8DQUCpg==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "fs-extra": "5.0.0" + "bluebird-lst": "^1.0.5", + "fs-extra": "^6.0.0" }, "dependencies": { "fs-extra": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", - "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.0.tgz", + "integrity": "sha512-lk2cUCo8QzbiEWEbt7Cw3m27WMiRG321xsssbcIpfMhpRjrlC08WBOVQqj1/nQYYNnPtyIhP1oqLO3QwT2tPCw==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "jsonfile": { @@ -4452,7 +4950,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } } } @@ -4463,10 +4961,10 @@ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "1.1.14" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, "fs.realpath": { @@ -4475,72 +4973,609 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", - "dev": true, - "requires": { - "globule": "1.2.0" - } - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "dev": true, + "optional": true, "requires": { - "is-property": "1.0.2" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, - "get-func-name": { - "version": "2.0.0", + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": 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.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-func-name": { + "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true @@ -4554,8 +5589,7 @@ "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-value": { "version": "2.0.6", @@ -4568,7 +5602,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -4577,31 +5611,33 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "2.0.1" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } } }, "global": { @@ -4610,8 +5646,8 @@ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "dev": true, "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "global-dirs": { @@ -4620,9 +5656,14 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, + "global-modules-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/global-modules-path/-/global-modules-path-2.1.0.tgz", + "integrity": "sha512-3DrmGj2TP+96cABk9TfMp6f3knH/Y46dqvWznTU3Tf6/bDGLDAn15tFluQ7BcloykOcdY16U0WGq0BQblYOxJQ==" + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -4635,11 +5676,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -4656,49 +5697,9 @@ "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.5", - "minimatch": "3.0.4" - } - }, - "google-fonts-webpack-plugin": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/google-fonts-webpack-plugin/-/google-fonts-webpack-plugin-0.4.4.tgz", - "integrity": "sha512-+e2D9/DVBG9EDydRovzoqMZ658SsTBGbC0c65GyZqkwNvdj8vRSYQKXqbz7/yt7QaXsCPT1MpH45r3ivWOitcw==", - "dev": true, - "requires": { - "lodash": "4.17.5", - "node-fetch": "1.7.3", - "webpack-sources": "0.2.3", - "yauzl": "2.9.1" - }, - "dependencies": { - "source-list-map": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-1.1.2.tgz", - "integrity": "sha1-mIkBnRAkzOVc3AaUmDN+9hhqEaE=", - "dev": true - }, - "webpack-sources": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.2.3.tgz", - "integrity": "sha1-F8Yr+vE8cH+dAsR54Nzd6DgGl/s=", - "dev": true, - "requires": { - "source-list-map": "1.1.2", - "source-map": "0.5.7" - } - }, - "yauzl": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", - "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", - "dev": true, - "requires": { - "buffer-crc32": "0.2.13", - "fd-slicer": "1.0.1" - } - } + "glob": "~7.1.1", + "lodash": "~4.17.4", + "minimatch": "~3.0.2" } }, "got": { @@ -4707,17 +5708,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "safe-buffer": "5.1.1", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } }, "graceful-fs": { @@ -4738,15 +5739,15 @@ "dev": true }, "happypack": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/happypack/-/happypack-4.0.1.tgz", - "integrity": "sha1-1xplINE8Hd9sxcoEDP4icRy6Ugk=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/happypack/-/happypack-5.0.0.tgz", + "integrity": "sha1-WWBrYWGs+9aemQcuXGP10WXkiw4=", "dev": true, "requires": { "async": "1.5.0", "json-stringify-safe": "5.0.1", "loader-utils": "1.1.0", - "serialize-error": "2.1.0" + "serialize-error": "^2.1.0" }, "dependencies": { "async": { @@ -4767,8 +5768,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -4777,7 +5778,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -4786,7 +5787,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -4794,6 +5795,12 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -4806,9 +5813,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -4817,58 +5824,39 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, "kind-of": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } }, "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.4.tgz", + "integrity": "sha512-A6RlQvvZEtFS5fLU43IDu0QUmBy+fDO9VMdTXvufKwIkt/rFfvICAViCax5fbDO4zdNzaC3/27ZhKUok5bAJyw==", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, "hawk": { @@ -4876,10 +5864,10 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.0", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "he": { @@ -4893,11 +5881,11 @@ "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "resolve-pathname": "2.2.0", - "value-equal": "0.4.0", - "warning": "3.0.0" + "invariant": "^2.2.1", + "loose-envify": "^1.2.0", + "resolve-pathname": "^2.2.0", + "value-equal": "^0.4.0", + "warning": "^3.0.0" } }, "hmac-drbg": { @@ -4906,20 +5894,20 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" }, "hoist-non-react-statics": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz", - "integrity": "sha1-ND24TGAYxlB3iJgkATWhQg7iLOA=" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", + "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w==" }, "home-or-tmp": { "version": "2.0.0", @@ -4927,20 +5915,20 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "home-path": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz", - "integrity": "sha1-eIspgVsS1Tus9XVkhHbm+QQdEz8=", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.6.tgz", + "integrity": "sha512-wo+yjrdAtoXt43Vy92a+0IPCYViiyLAHyp0QVS4xL/tfvVz5sXIW1ubLZk3nhVkD92fQpUMKX+fzMjr5F489vw==", "dev": true }, "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", + "integrity": "sha512-lIbgIIQA3lz5XaB6vxakj6sDHADJiZadYEJB+FgA+C4nubM1NwcuvUr9EJPmnH1skZqpqUzWborWo8EIUi0Sdw==", "dev": true }, "hpack.js": { @@ -4949,10 +5937,10 @@ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { - "inherits": "2.0.3", - "obuf": "1.1.1", - "readable-stream": "2.3.3", - "wbuf": "1.7.2" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" }, "dependencies": { "isarray": { @@ -4962,27 +5950,27 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } @@ -4998,45 +5986,22 @@ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" }, - "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.1", - "domutils": "1.5.1", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.3" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } + "htmlparser2": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + }, + "dependencies": { + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" } } }, @@ -5047,74 +6012,44 @@ "dev": true }, "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "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.1", + "depd": "~1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.3.1" - }, - "dependencies": { - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" } }, "http-parser-js": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", - "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz", + "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=", "dev": true }, "http-proxy": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "dev": true, "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, "http-proxy-middleware": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", - "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.5", - "micromatch": "2.3.11" - }, - "dependencies": { - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-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.1" - } - } + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" } }, "http-signature": { @@ -5122,9 +6057,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "https-browserify": { @@ -5134,9 +6069,12 @@ "dev": true }, "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + "version": "0.4.21", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", + "requires": { + "safer-buffer": "^2.1.0" + } }, "icss-replace-symbols": { "version": "1.1.0", @@ -5150,78 +6088,61 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "6.0.16" + "postcss": "^6.0.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - }, - "dependencies": { - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "postcss": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz", - "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.0", - "source-map": "0.6.1", - "supports-color": "5.1.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.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 - }, "supports-color": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", - "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^3.0.0" } } } }, "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=" + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.11.tgz", + "integrity": "sha512-VhDzCKN7K8ufStx/CLj5/PDTMgph+qwN5Pkd5i0sGnVwk56zJ0lkT8Qzi1xqWLS0Wp29DgDtNeS7v8/wMoZeHg==" }, "iferr": { "version": "0.1.5", @@ -5239,10 +6160,9 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", - "dev": true, "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -5263,7 +6183,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "indexes-of": { @@ -5284,8 +6204,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5299,34 +6219,112 @@ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", "dev": true }, + "inquirer": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.0.0.tgz", + "integrity": "sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg==", + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, "internal-ip": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "dev": true, "requires": { - "meow": "3.7.0" + "meow": "^3.3.0" } }, "interpret": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", - "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", - "dev": true + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" }, "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "ip": { "version": "1.1.5", @@ -5335,9 +6333,9 @@ "dev": true }, "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", "dev": true }, "is-absolute-url": { @@ -5347,19 +6345,22 @@ "dev": true }, "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } } } }, @@ -5375,7 +6376,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -5389,7 +6390,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -5404,23 +6405,26 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.2" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } } } }, @@ -5431,39 +6435,24 @@ "dev": true }, "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true } } }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -5471,9 +6460,9 @@ "dev": true }, "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-finite": { @@ -5482,25 +6471,24 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "1.0.0" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -5509,20 +6497,27 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, "is-my-json-valid": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz", - "integrity": "sha512-Q2khNw+oBlWuaYvEEHtKSw/pCxD2L5Rc1C+UQme9X6JdRDh7m5D7HkozA0qa3DUkQ6VzCnEm8mVIQPyIRkI5sQ==", + "version": "2.17.2", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz", + "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", "dev": true, "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" }, "dependencies": { "xtend": { @@ -5540,12 +6535,23 @@ "dev": true }, "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "is-obj": { @@ -5555,22 +6561,19 @@ "dev": true }, "is-odd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-1.0.0.tgz", - "integrity": "sha1-O4qTLrAos3dcObsJ6RdnrM22kIg=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", + "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "3.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true } } }, @@ -5581,12 +6584,12 @@ "dev": true }, "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -5595,7 +6598,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, "is-plain-obj": { @@ -5609,21 +6612,9 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", @@ -5647,7 +6638,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.1" + "has": "^1.0.1" } }, "is-retry-allowed": { @@ -5667,7 +6658,7 @@ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "dev": true, "requires": { - "html-comment-regex": "1.1.1" + "html-comment-regex": "^1.1.0" } }, "is-symbol": { @@ -5687,6 +6678,12 @@ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", "dev": true }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, "is-wsl": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", @@ -5707,8 +6704,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -5720,8 +6716,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.3" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -5730,9 +6726,9 @@ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "js-base64": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.0.tgz", - "integrity": "sha512-Wehd+7Pf9tFvGb+ydPm9TjYjV8X1YHOVyG8QyELZxEMqOhemVwGRmoG8iQ/soqI3n8v4xn59zaLxiCJiaaRzKA==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", + "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==", "dev": true }, "js-tokens": { @@ -5746,8 +6742,16 @@ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" + "argparse": "^1.0.7", + "esprima": "^2.6.0" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + } } }, "jsbn": { @@ -5762,35 +6766,21 @@ "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", "optional": true, "requires": { - "abab": "1.0.4", - "acorn": "2.7.0", - "acorn-globals": "1.0.9", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.0", - "nwmatcher": "1.4.3", - "parse5": "1.5.1", - "request": "2.83.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", - "webidl-conversions": "2.0.1", - "whatwg-url-compat": "0.6.5", - "xml-name-validator": "2.0.1" - }, - "dependencies": { - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=", - "optional": true - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "optional": true - } + "abab": "^1.0.0", + "acorn": "^2.4.0", + "acorn-globals": "^1.0.4", + "cssom": ">= 0.3.0 < 0.4.0", + "cssstyle": ">= 0.2.29 < 0.3.0", + "escodegen": "^1.6.1", + "nwmatcher": ">= 1.3.7 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.55.0", + "sax": "^1.1.4", + "symbol-tree": ">= 3.1.0 < 4.0.0", + "tough-cookie": "^2.2.0", + "webidl-conversions": "^2.0.0", + "whatwg-url-compat": "~0.6.5", + "xml-name-validator": ">= 2.0.1 < 3.0.0" } }, "jsesc": { @@ -5799,16 +6789,10 @@ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, - "json-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", - "dev": true - }, "json-parse-better-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", - "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", "dev": true }, "json-schema": { @@ -5835,8 +6819,7 @@ "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonfile": { "version": "2.4.0", @@ -5844,7 +6827,7 @@ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -5870,6 +6853,11 @@ "verror": "1.10.0" } }, + "keyboard-key": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.0.1.tgz", + "integrity": "sha512-OAfjaSI917BOonwfH6LQHMZJRv5035jjZvgElouB/DM4I7l5zEjrA15RD80YwIjhN69xqEfWCZIbhBcGpb85Ig==" + }, "killable": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz", @@ -5877,13 +6865,10 @@ "dev": true }, "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true }, "klaw": { "version": "1.3.1", @@ -5891,7 +6876,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "latest-version": { @@ -5900,15 +6885,9 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, - "lazy-cache": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-0.2.7.tgz", - "integrity": "sha1-f+3fLctu23fRHvHRF6tf/fCrG2U=", - "dev": true - }, "lazy-val": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz", @@ -5919,19 +6898,24 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, + "leb": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/leb/-/leb-0.3.0.tgz", + "integrity": "sha1-Mr7p+tFoMo1q6oUi2DP0GA7tHaM=", + "dev": true + }, "levn": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "optional": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -5940,11 +6924,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { "pify": { @@ -5965,39 +6949,30 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.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" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz", - "integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==" + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, "lodash-es": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=", - "dev": true - }, - "lodash._basefor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", - "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", - "dev": true + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", + "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==" }, "lodash.assign": { "version": "4.2.0", @@ -6023,39 +6998,6 @@ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isplainobject": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz", - "integrity": "sha1-moI4rhayAEMpYM1zRlEtASP79MU=", - "dev": true, - "requires": { - "lodash._basefor": "3.0.3", - "lodash.isarguments": "3.1.0", - "lodash.keysin": "3.0.8" - } - }, - "lodash.keysin": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz", - "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", - "dev": true, - "requires": { - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6063,9 +7005,9 @@ "dev": true }, "lodash.mergewith": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz", - "integrity": "sha1-FQzwoWeR9ZA7iJHqsVRgknS96lU=", + "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": { @@ -6086,27 +7028,27 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "2.3.1" + "chalk": "^2.0.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -6116,12 +7058,12 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6132,10 +7074,20 @@ "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", "dev": true }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "loglevelnext": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/loglevelnext/-/loglevelnext-1.0.5.tgz", + "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", + "dev": true, + "requires": { + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" + } + }, + "long": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz", + "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s=", "dev": true }, "loose-envify": { @@ -6143,7 +7095,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -6152,8 +7104,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowdb": { @@ -6161,35 +7113,34 @@ "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", "requires": { - "graceful-fs": "4.1.11", - "is-promise": "2.1.0", - "lodash": "4.17.5", - "pify": "3.0.0", - "steno": "0.4.4" + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" } }, "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", "dev": true }, "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", + "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "m3u8stream": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.2.1.tgz", - "integrity": "sha512-kESIvCcoDOZ2ozD6wGxB962E24nPLDTezIBdqfJH1HxoY/dMTRFXOfq7sXtqPQM3nQihKXlv6pYmUpf01S/tVQ==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.2.2.tgz", + "integrity": "sha512-R/xWLXBtVr0m9sPruRL4p9uO01JyHxhcQ4nhqQhVgyT802OZyVW+dn+fWHvTnbfE6YMLc65TksZZut+Mh2OVMQ==", "requires": { - "miniget": "1.1.0" + "miniget": "^1.1.0" } }, "macaddress": { @@ -6199,14 +7150,20 @@ "dev": true }, "make-dir": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", - "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", + "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, + "mamacro": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", + "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", + "dev": true + }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", @@ -6231,7 +7188,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, "math-expression-evaluator": { @@ -6245,31 +7202,19 @@ "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "1.1.6" + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" } }, "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "dev": true, - "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - } + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "media-typer": { @@ -6282,49 +7227,49 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, + "memoize-one": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-3.1.1.tgz", + "integrity": "sha512-YqVh744GsMlZu6xkhGslPSqSurOv6P+kLN2J3ysBZfagLcL5FdRK/0UpgLoL8hwjjEvvAVkjJZyFP+1T6p1vgA==" + }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, "requires": { - "errno": "0.1.6", - "readable-stream": "2.3.3" + "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 + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "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==", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "~5.1.0" } } } @@ -6341,16 +7286,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "minimist": { @@ -6374,24 +7319,24 @@ "dev": true }, "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "miller-rabin": { @@ -6400,34 +7345,33 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.2.0.tgz", - "integrity": "sha512-0Qz9uF1ATtl8RKJG4VRfOymh7PyEor6NbrI/61lRfuRe4vx9SNATrvAeTj2EWVRKjEQGskrzWkJBBY5NbaVHIA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", "dev": true }, "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" }, "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.30.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "min-document": { "version": "2.19.0", @@ -6435,18 +7379,18 @@ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "miniget": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/miniget/-/miniget-1.1.0.tgz", - "integrity": "sha512-ICBPQWEoz19eyPHbXLkvjPi62xLhz2irltks35NCYqzYHO0/35IbAaBP3Bbc4VgAwmloIPEpK7CO4/omOiUfDg==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/miniget/-/miniget-1.2.0.tgz", + "integrity": "sha1-ADY3Oia71S2+aUX85sjAOR6eEkE=" }, "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, "minimalistic-crypto-utils": { @@ -6461,7 +7405,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.8" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6471,21 +7415,21 @@ "dev": true }, "mississippi": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-1.3.1.tgz", - "integrity": "sha512-/6rB8YXFbAtsUVRphIRQqB0+9c7VaPHCjVtvto+JqwVxgz8Zz+I+f68/JgQ+Pb4VlZb2svA9OtdXnHHsZz7ltg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "1.6.0", - "duplexify": "3.5.3", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.2", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "1.0.3", - "pumpify": "1.4.0", - "stream-each": "1.2.2", - "through2": "2.0.3" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "dependencies": { "isarray": { @@ -6495,27 +7439,27 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } }, "through2": { @@ -6524,8 +7468,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "xtend": { @@ -6537,13 +7481,13 @@ } }, "mixin-deep": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.0.tgz", - "integrity": "sha512-dgaCvoh6i1nosAUBKb0l0pfJ78K8+S9fluyIR2YvAeUD/QuMahnFnF3xYty5eYXMjhGSsB0DsW6A0uAZyetoAg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -6552,7 +7496,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -6563,8 +7507,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" }, "dependencies": { "for-in": { @@ -6585,28 +7529,32 @@ } }, "mocha": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.0.0.tgz", - "integrity": "sha512-ukB2dF+u4aeJjc6IGtPNnJXfeby5d4ZqySlIBT0OEyva/DrMjVm5HkQxKnHDLKEfEQBsEnwTg9HHhtPHJdTd8w==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.1.1.tgz", + "integrity": "sha512-kKKs/H1KrMMQIEsWNxGmb4/BGsmj0dkeyotEvbrAuQ01FcWRLssUNXCEUZk6SZtyJBi6EE7SL0zDDtItw1rGhw==", "dev": true, "requires": { - "browser-stdout": "1.3.0", + "browser-stdout": "1.3.1", "commander": "2.11.0", "debug": "3.1.0", - "diff": "3.3.1", + "diff": "3.5.0", "escape-string-regexp": "1.0.5", "glob": "7.1.2", "growl": "1.10.3", "he": "1.1.1", + "minimatch": "3.0.4", "mkdirp": "0.5.1", "supports-color": "4.4.0" }, "dependencies": { - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } }, "has-flag": { "version": "2.0.0", @@ -6620,15 +7568,15 @@ "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } }, "moment": { - "version": "2.20.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.20.1.tgz", - "integrity": "sha512-Yh9y73JRljxW5QxN08Fner68eFLxM5ynNOAw2LbIB1YAGeQzZT8QFSUvkAz609Zf+IHhhaUxqZK8dG3W/+HEvg==" + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.1.tgz", + "integrity": "sha512-shJkRTSebXvsVqk56I+lkb2latjBs8I+pc2TzWc545y2iFnSjm7Wg0QMh+ZWcdSLQyGEau5jI8ocnmkyTgr9YQ==" }, "move-concurrently": { "version": "1.0.1", @@ -6636,12 +7584,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "1.2.0", - "copy-concurrently": "1.0.5", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, "mpris-service": { @@ -6650,7 +7598,7 @@ "integrity": "sha1-GUup8v3+Vsgg3YvbFMd8RUoDqlg=", "optional": true, "requires": { - "dbus": "0.2.23" + "dbus": "^0.2.11" }, "dependencies": { "dbus": { @@ -6659,7 +7607,7 @@ "integrity": "sha1-E3ZHeco8CB51CG2CFjb8IVvZvAE=", "optional": true, "requires": { - "nan": "2.8.0" + "nan": "^2.1.0" } } } @@ -6671,13 +7619,13 @@ "dev": true }, "multicast-dns": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.2.tgz", - "integrity": "sha512-xTO41ApiRHMVDBYhNL9bEhx7kRf1hq3OqPOnOy8bpTi0JZSxVPDre7ZRpTHLDlxmhf6d/FL+10E8VX1QRd+0DA==", + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { - "dns-packet": "1.3.1", - "thunky": "0.1.0" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, "multicast-dns-service-types": { @@ -6686,48 +7634,34 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", "dev": true }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, "nan": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", - "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=" + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==" }, "nanomatch": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.7.tgz", - "integrity": "sha512-/5ldsnyurvEw7wNpxLFgjVvBLMta43niEYOy0CJ4ntcYSbx6bugRUTQeFb4BR/WanEL1o3aQgHuVLHQaB6tOqg==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", + "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "is-odd": "1.0.0", - "kind-of": "5.1.0", - "object.pick": "1.3.0", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" - }, - "dependencies": { - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "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 - } + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "negotiator": { @@ -6736,28 +7670,36 @@ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", "dev": true }, - "node-abi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.2.0.tgz", - "integrity": "sha512-FqVC0WNNL8fQWQK3GYTESfwZXZKDbSIiEEIvufq7HV6Lj0IDDZRVa4CU/KTA0JVlqY9eTDSuPiC8FS9UfGVuzA==", - "dev": true, - "requires": { - "semver": "5.4.1" - } + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "nice-try": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", + "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==" }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-forge": { - "version": "0.6.33", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz", - "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=", + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", "dev": true }, "node-gyp": { @@ -6766,19 +7708,19 @@ "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", "dev": true, "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.4", - "request": "2.83.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.0" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" }, "dependencies": { "semver": { @@ -6795,31 +7737,42 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.4", - "stream-browserify": "2.0.1", - "stream-http": "2.8.0", - "string_decoder": "1.0.3", - "timers-browserify": "2.0.6", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -6832,63 +7785,63 @@ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", "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==", - "dev": true - }, "readable-stream": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", - "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } }, + "node-loader": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/node-loader/-/node-loader-0.6.0.tgz", + "integrity": "sha1-x5fvUQle1YWZArFX9jhPY2HgWug=", + "dev": true + }, "node-sass": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz", - "integrity": "sha512-CaV+wLqZ7//Jdom5aUFCpGNoECd7BbNhjuwdsX/LkXBrHl8eb1Wjw4HvWqcFvhr5KuNgAk8i/myf/MQ1YYeroA==", - "dev": true, - "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.2", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.0", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.8.0", - "node-gyp": "3.6.2", - "npmlog": "4.1.2", - "request": "2.79.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0", - "true-case-path": "1.0.2" + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz", + "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", + "dev": true, + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "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", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.3.1", + "npmlog": "^4.0.0", + "request": "~2.79.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" }, "dependencies": { "assert-plus": { @@ -6909,7 +7862,7 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "caseless": { @@ -6924,8 +7877,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "4.1.1", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "cryptiles": { @@ -6934,7 +7887,7 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "form-data": { @@ -6943,9 +7896,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "har-validator": { @@ -6954,10 +7907,10 @@ "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, "requires": { - "chalk": "1.1.3", - "commander": "2.12.2", - "is-my-json-valid": "2.17.1", - "pinkie-promise": "2.0.1" + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" } }, "hawk": { @@ -6966,10 +7919,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hoek": { @@ -6984,9 +7937,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "qs": { @@ -7001,26 +7954,26 @@ "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3", - "uuid": "3.2.1" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" } }, "sntp": { @@ -7029,7 +7982,7 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "tunnel-agent": { @@ -7052,7 +8005,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "normalize-package-data": { @@ -7061,10 +8014,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7073,7 +8026,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" + "remove-trailing-separator": "^1.0.1" } }, "normalize-range": { @@ -7088,10 +8041,10 @@ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "dev": true, "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" } }, "npm-run-all": { @@ -7100,41 +8053,41 @@ "integrity": "sha512-Z2aRlajMK4SQ8u19ZA75NZZu7wupfCNQWdYosIi8S6FgBdGf/8Y6Hgyjdc8zU2cYmIRVCx1nM80tJPkdEd+UYg==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "chalk": "2.3.0", - "cross-spawn": "5.1.0", - "memorystream": "0.3.1", - "minimatch": "3.0.4", - "ps-tree": "1.1.0", - "read-pkg": "3.0.0", - "shell-quote": "1.6.1", - "string.prototype.padend": "3.0.0" + "ansi-styles": "^3.2.0", + "chalk": "^2.1.0", + "cross-spawn": "^5.1.0", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "ps-tree": "^1.1.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "load-json-file": { @@ -7143,10 +8096,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -7155,8 +8108,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "path-type": { @@ -7165,7 +8118,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "read-pkg": { @@ -7174,9 +8127,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "4.0.0", - "normalize-package-data": "2.4.0", - "path-type": "3.0.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, "strip-bom": { @@ -7186,12 +8139,12 @@ "dev": true }, "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^3.0.0" } } } @@ -7200,9 +8153,8 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -7211,10 +8163,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "nth-check": { @@ -7222,7 +8174,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "requires": { - "boolbase": "1.0.0" + "boolbase": "~1.0.0" } }, "nugget": { @@ -7231,24 +8183,15 @@ "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", "dev": true, "requires": { - "debug": "2.6.9", - "minimist": "1.2.0", - "pretty-bytes": "1.0.4", - "progress-stream": "1.2.0", - "request": "2.83.0", - "single-line-log": "1.1.2", + "debug": "^2.1.3", + "minimist": "^1.1.0", + "pretty-bytes": "^1.0.2", + "progress-stream": "^1.1.0", + "request": "^2.45.0", + "single-line-log": "^1.1.2", "throttleit": "0.0.2" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "minimist": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", @@ -7266,8 +8209,7 @@ "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "numeral": { "version": "2.0.6", @@ -7275,9 +8217,9 @@ "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=" }, "nwmatcher": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.3.tgz", - "integrity": "sha512-IKdSTiDWCarf2JTS5e9e2+5tPZGdkRJ79XjYV0pzK8Q9BpsFyBq1RGKxzs7Q8UBushGw7m6TzVKz6fcY99iSWw==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", "optional": true }, "oauth-sign": { @@ -7296,9 +8238,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -7307,44 +8249,16 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" + "is-descriptor": "^0.1.0" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "is-buffer": "^1.1.5" } } } @@ -7361,27 +8275,26 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "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": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" }, "dependencies": { - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true } } }, @@ -7391,13 +8304,13 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "obuf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", - "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, "on-finished": { @@ -7421,25 +8334,24 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opn": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.2.0.tgz", - "integrity": "sha512-Jd/GpzPyHF4P2/aNOVmS3lfMSWV9J7cOhCG1s08XCEAsPkB7lp6ddiU0J7XzyQRDUh8BqJ7PchfINjR8jyofRQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "is-wsl": "1.1.0" + "is-wsl": "^1.1.0" } }, "optionator": { @@ -7448,90 +8360,21 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "optional": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - }, - "dependencies": { - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "optional": true - } - } - }, - "ora": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", - "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", - "dev": true, - "requires": { - "chalk": "2.3.1", - "cli-cursor": "2.1.0", - "cli-spinners": "1.1.0", - "log-symbols": "2.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.1" - } - }, - "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "original": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", - "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.1.tgz", + "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", "dev": true, "requires": { - "url-parse": "1.0.5" - }, - "dependencies": { - "url-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", - "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", - "dev": true, - "requires": { - "querystringify": "0.0.4", - "requires-port": "1.0.0" - } - } + "url-parse": "~1.4.0" } }, "os-browserify": { @@ -7550,51 +8393,46 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", - "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-limit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", - "dev": true, "requires": { - "p-try": "1.0.0" + "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.2.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -7606,8 +8444,7 @@ "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 + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "package-json": { "version": "4.0.1", @@ -7615,10 +8452,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.4.1" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" } }, "pako": { @@ -7633,9 +8470,9 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.3" + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" }, "dependencies": { "isarray": { @@ -7645,42 +8482,42 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } }, "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.1.1", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parse-color": { @@ -7689,7 +8526,7 @@ "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", "dev": true, "requires": { - "color-convert": "0.5.3" + "color-convert": "~0.5.0" }, "dependencies": { "color-convert": { @@ -7700,34 +8537,20 @@ } } }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", - "requires": { - "@types/node": "7.0.52" - } + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", + "optional": true }, "parseurl": { "version": "1.3.2", @@ -7756,8 +8579,7 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", @@ -7774,8 +8596,7 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-to-regexp": { "version": "1.7.0", @@ -7791,9 +8612,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -7816,20 +8637,20 @@ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "dev": true, "requires": { - "through": "2.3.8" + "through": "~2.3" } }, "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", "dev": true, "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.10" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "pend": { @@ -7839,9 +8660,9 @@ "dev": true }, "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pify": { "version": "3.0.0", @@ -7860,7 +8681,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pitchfork-bnm": { @@ -7868,28 +8689,98 @@ "resolved": "https://registry.npmjs.org/pitchfork-bnm/-/pitchfork-bnm-1.0.3.tgz", "integrity": "sha512-2N60Eot+P/9/c0/EwhSdDViivBsf0q9G1/zAo5gJhQ+6q34gfLM2GnMkWAmvmgFuSCmeXGfoigssh/D5UmbeqQ==", "requires": { - "cheerio": "1.0.0-rc.2", - "isomorphic-fetch": "2.2.1" + "cheerio": "^1.0.0-rc.2", + "isomorphic-fetch": "^2.2.1" + }, + "dependencies": { + "cheerio": { + "version": "1.0.0-rc.2", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", + "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" + } + }, + "htmlparser2": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", + "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", + "requires": { + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "parse5": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", + "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", + "requires": { + "@types/node": "*" + } + }, + "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==", + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + } } }, "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" + "find-up": "^2.1.0" } }, "plist": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", - "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", + "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "dev": true, "requires": { - "base64-js": "1.2.0", - "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" + }, + "dependencies": { + "xmlbuilder": { + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", + "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", + "dev": true + } } }, "portfinder": { @@ -7898,25 +8789,16 @@ "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "dev": true, "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" }, "dependencies": { "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true } } }, @@ -7932,20 +8814,17 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.0", - "source-map": "0.5.7", - "supports-color": "3.2.3" + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" }, "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true } } }, @@ -7955,9 +8834,9 @@ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" } }, "postcss-colormin": { @@ -7966,9 +8845,9 @@ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "dev": true, "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" } }, "postcss-convert-values": { @@ -7977,8 +8856,8 @@ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" } }, "postcss-discard-comments": { @@ -7987,7 +8866,7 @@ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" } }, "postcss-discard-duplicates": { @@ -7996,7 +8875,7 @@ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" } }, "postcss-discard-empty": { @@ -8005,7 +8884,7 @@ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.14" } }, "postcss-discard-overridden": { @@ -8014,7 +8893,7 @@ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.16" } }, "postcss-discard-unused": { @@ -8023,8 +8902,8 @@ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "dev": true, "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" + "postcss": "^5.0.14", + "uniqs": "^2.0.0" } }, "postcss-filter-plugins": { @@ -8033,8 +8912,8 @@ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", "dev": true, "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" + "postcss": "^5.0.4", + "uniqid": "^4.0.0" } }, "postcss-merge-idents": { @@ -8043,9 +8922,9 @@ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" } }, "postcss-merge-longhand": { @@ -8054,7 +8933,7 @@ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" } }, "postcss-merge-rules": { @@ -8063,11 +8942,11 @@ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", "dev": true, "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.1" + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" }, "dependencies": { "browserslist": { @@ -8076,8 +8955,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "1.0.30000793", - "electron-to-chromium": "1.3.30" + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" } } } @@ -8094,9 +8973,9 @@ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "dev": true, "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" } }, "postcss-minify-gradients": { @@ -8105,8 +8984,8 @@ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" } }, "postcss-minify-params": { @@ -8115,10 +8994,10 @@ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" } }, "postcss-minify-selectors": { @@ -8127,10 +9006,10 @@ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" } }, "postcss-modules-extract-imports": { @@ -8139,70 +9018,53 @@ "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { - "postcss": "6.0.16" + "postcss": "^6.0.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - }, - "dependencies": { - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "postcss": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz", - "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.0", - "source-map": "0.6.1", - "supports-color": "5.1.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.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 - }, "supports-color": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", - "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^3.0.0" } } } @@ -8213,71 +9075,54 @@ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.16" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - }, - "dependencies": { - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "postcss": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz", - "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.0", - "source-map": "0.6.1", - "supports-color": "5.1.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.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 - }, "supports-color": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", - "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^3.0.0" } } } @@ -8288,71 +9133,54 @@ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.16" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - }, - "dependencies": { - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "postcss": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz", - "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.0", - "source-map": "0.6.1", - "supports-color": "5.1.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.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 - }, "supports-color": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", - "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^3.0.0" } } } @@ -8363,71 +9191,54 @@ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.16" + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", - "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.5.0" - }, - "dependencies": { - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "postcss": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.16.tgz", - "integrity": "sha512-m758RWPmSjFH/2MyyG3UOW1fgYbR9rtdzz5UNJnlm7OLtu4B2h9C6gi+bE4qFKghsBRFfZT8NzoQBs6JhLotoA==", + "version": "6.0.22", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", + "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "2.3.0", - "source-map": "0.6.1", - "supports-color": "5.1.0" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.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 - }, "supports-color": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", - "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^3.0.0" } } } @@ -8438,7 +9249,7 @@ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.5" } }, "postcss-normalize-url": { @@ -8447,10 +9258,10 @@ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "dev": true, "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" } }, "postcss-ordered-values": { @@ -8459,8 +9270,8 @@ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" } }, "postcss-reduce-idents": { @@ -8469,8 +9280,8 @@ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "dev": true, "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" } }, "postcss-reduce-initial": { @@ -8479,7 +9290,7 @@ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "dev": true, "requires": { - "postcss": "5.2.18" + "postcss": "^5.0.4" } }, "postcss-reduce-transforms": { @@ -8488,9 +9299,9 @@ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" } }, "postcss-selector-parser": { @@ -8499,9 +9310,9 @@ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "dev": true, "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" } }, "postcss-svgo": { @@ -8510,10 +9321,10 @@ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "dev": true, "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" } }, "postcss-unique-selectors": { @@ -8522,9 +9333,9 @@ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" } }, "postcss-value-parser": { @@ -8538,9 +9349,9 @@ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" } }, "prelude-ls": { @@ -8554,20 +9365,14 @@ "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", "dev": true }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, "pretty-bytes": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", "dev": true, "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" + "get-stdin": "^4.0.1", + "meow": "^3.1.0" } }, "private": { @@ -8583,9 +9388,9 @@ "dev": true }, "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "progress-stream": { "version": "1.2.0", @@ -8593,8 +9398,8 @@ "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", "dev": true, "requires": { - "speedometer": "0.1.4", - "through2": "0.2.3" + "speedometer": "~0.1.2", + "through2": "~0.2.3" } }, "promise": { @@ -8602,7 +9407,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "promise-inflight": { @@ -8612,30 +9417,29 @@ "dev": true }, "prop-types": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.0.tgz", - "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", + "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.5.2" + "forwarded": "~0.1.2", + "ipaddr.js": "1.6.0" } }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, "ps-tree": { "version": "1.1.0", @@ -8643,59 +9447,46 @@ "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", "dev": true, "requires": { - "event-stream": "3.3.4" + "event-stream": "~3.3.0" } }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.0.tgz", + "integrity": "sha512-UWi0klDoq8xtVzlMRgENV9F7iCTZExaJQSQL187UXsxpk9NnrKGqTqqUNYAKGOzucSOxs2+jUnRNI+rLviPhJg==", "dev": true, "requires": { - "duplexify": "3.5.3", - "inherits": "2.0.3", - "pump": "2.0.1" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" - } - } + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -8710,9 +9501,9 @@ "dev": true }, "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { "version": "4.3.4", @@ -8720,8 +9511,8 @@ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "dev": true, "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" } }, "querystring": { @@ -8737,9 +9528,9 @@ "dev": true }, "querystringify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.0.0.tgz", + "integrity": "sha512-eTPo5t/4bgaMNZxyjWx6N2a6AuE0mq51KWvpc7nU/MAqixcI6v6KrGUKES0HaomdnolQBBXU/++X6/QQ9KL4tw==", "dev": true }, "raf": { @@ -8747,56 +9538,13 @@ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "requires": { - "performance-now": "2.1.0" - }, - "dependencies": { - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - } + "performance-now": "^2.1.0" } }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } + "raf-schd": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-2.1.1.tgz", + "integrity": "sha512-ngcBQygUeE3kHlOaBSqgWKv7BT9kx5kQ6fAwFJRNRT7TD54M+hx1kpNHb8sONRskcYQedJg2RC2xKlAHRUQBig==" }, "randombytes": { "version": "2.0.6", @@ -8804,17 +9552,17 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.1.0" } }, "randomfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz", - "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.1" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -8833,18 +9581,50 @@ "http-errors": "1.6.2", "iconv-lite": "0.4.19", "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true, + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", + "dev": true + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + } } }, "rc": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.5.tgz", - "integrity": "sha1-J1zWh/bjs2zHVrqibf7oCnkDAf0=", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.7.tgz", + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -8856,14 +9636,43 @@ } }, "react": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-16.2.0.tgz", - "integrity": "sha512-ZmIomM7EE1DvPEnSFAHZn9Vs9zJl5A9H7el0EGTE6ZbW9FKe/14IYAlPbC8iH25YarEQxZL+E8VW7Mi7kfQrDQ==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", + "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" + } + }, + "react-beautiful-dnd": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-7.1.2.tgz", + "integrity": "sha512-9gFO0q9sU+OxVGvFHzNXO8qZXWJGPplI6nEJasiMM3LoFvGijxBTlshSlNwE1ysBTkoYlcGz+Afd7ZoVkGDkHA==", + "requires": { + "babel-runtime": "^6.26.0", + "css-box-model": "^0.0.12", + "memoize-one": "^3.1.1", + "prop-types": "^15.6.0", + "raf-schd": "^2.1.1", + "react-motion": "^0.5.2", + "react-redux": "^5.0.7", + "redux": "^4.0.0", + "redux-thunk": "^2.2.0", + "reselect": "^3.0.1", + "tiny-invariant": "^0.0.3" + }, + "dependencies": { + "redux": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz", + "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", + "requires": { + "loose-envify": "^1.1.0", + "symbol-observable": "^1.2.0" + } + } } }, "react-debounce-input": { @@ -8872,19 +9681,19 @@ "integrity": "sha1-aXjGBh2Jj1SfQEF/sNLrvs9Qqqo=", "dev": true, "requires": { - "lodash.debounce": "4.0.8", - "prop-types": "15.6.0" + "lodash.debounce": "^4", + "prop-types": "^15" } }, "react-dom": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.2.0.tgz", - "integrity": "sha512-zpGAdwHVn9K0091d+hr+R0qrjoJ84cIBFL2uU60KvWBPfZ7LPSrfqviTxGHWN0sjPZb2hxWzMexwrvJdKePvjg==", + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz", + "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.0" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-fontawesome": { @@ -8893,31 +9702,20 @@ "integrity": "sha1-7dzhfn3HMaoJ/UoYZoimF5OhbFw=", "dev": true, "requires": { - "prop-types": "15.6.0" + "prop-types": "^15.5.6" } }, "react-hot-loader": { - "version": "4.0.0-beta.21", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.0.0-beta.21.tgz", - "integrity": "sha1-RqA0ViHxoDyzwcbcEw8VP6ZuW64=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.0.0.tgz", + "integrity": "sha512-TxgvDJj/EuY05VXyPBYSWuGVGNd2g0K6WJxaOwjgAl1/1Hqni1BmMXnw6k/DGYeB1prh0jpB1N1x15ZEVytSSw==", "dev": true, "requires": { - "fast-levenshtein": "2.0.6", - "global": "4.3.2", - "hoist-non-react-statics": "2.3.1", - "prop-types": "15.6.0", - "react-stand-in": "4.0.0-beta.21" - }, - "dependencies": { - "react-stand-in": { - "version": "4.0.0-beta.21", - "resolved": "https://registry.npmjs.org/react-stand-in/-/react-stand-in-4.0.0-beta.21.tgz", - "integrity": "sha1-+2lORlyyD6t/NtMoT4K2i716ZX4=", - "dev": true, - "requires": { - "shallowequal": "1.0.2" - } - } + "fast-levenshtein": "^2.0.6", + "global": "^4.3.0", + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.0", + "shallowequal": "^1.0.2" } }, "react-image-smooth-loading": { @@ -8925,28 +9723,39 @@ "resolved": "https://registry.npmjs.org/react-image-smooth-loading/-/react-image-smooth-loading-2.0.0.tgz", "integrity": "sha512-eGmlnZmSlW1P8t/k5ls4ikwuK0EDJnUnYsW0F2rGc0KUceqqundqbpqlba/XclBH1iksQuug2lEnlXwXkpxoUg==" }, + "react-is": { + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.3.2.tgz", + "integrity": "sha512-ybEM7YOr4yBgFd6w8dJqwxegqZGJNBZl6U27HnGKuTZmDvVrD5quWOK/wAnMywiZzW+Qsk+l4X2c70+thp/A8Q==" + }, "react-motion": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==", "requires": { - "performance-now": "0.2.0", - "prop-types": "15.6.0", - "raf": "3.4.0" + "performance-now": "^0.2.0", + "prop-types": "^15.5.8", + "raf": "^3.1.0" + }, + "dependencies": { + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + } } }, "react-redux": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.6.tgz", - "integrity": "sha512-8taaaGu+J7PMJQDJrk/xiWEYQmdo3mkXw6wPr3K3LxvXis3Fymiq7c13S+Tpls/AyNUAsoONkU81AP0RA6y6Vw==", - "dev": true, + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", + "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", "requires": { - "hoist-non-react-statics": "2.3.1", - "invariant": "2.2.2", - "lodash": "4.17.5", - "lodash-es": "4.17.4", - "loose-envify": "1.3.1", - "prop-types": "15.6.0" + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.0.0", + "lodash": "^4.17.5", + "lodash-es": "^4.17.5", + "loose-envify": "^1.1.0", + "prop-types": "^15.6.0" } }, "react-router": { @@ -8954,13 +9763,13 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz", "integrity": "sha512-DY6pjwRhdARE4TDw7XjxjZsbx9lKmIcyZoZ+SDO7SBJ1KUeWNxT22Kara2AC7u6/c2SYEHlEDLnzBCcNhLE8Vg==", "requires": { - "history": "4.7.2", - "hoist-non-react-statics": "2.3.1", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "path-to-regexp": "1.7.0", - "prop-types": "15.6.0", - "warning": "3.0.0" + "history": "^4.7.2", + "hoist-non-react-statics": "^2.3.0", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.5.4", + "warning": "^3.0.0" } }, "react-router-dom": { @@ -8968,12 +9777,12 @@ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz", "integrity": "sha512-cHMFC1ZoLDfEaMFoKTjN7fry/oczMgRt5BKfMAkTu5zEuJvUiPp1J8d0eXSVTnBh6pxlbdqDhozunOOLtmKfPA==", "requires": { - "history": "4.7.2", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "prop-types": "15.6.0", - "react-router": "4.2.0", - "warning": "3.0.0" + "history": "^4.7.2", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "prop-types": "^15.5.4", + "react-router": "^4.2.0", + "warning": "^3.0.0" } }, "react-router-redux": { @@ -8987,18 +9796,18 @@ "resolved": "https://registry.npmjs.org/react-router-transition/-/react-router-transition-1.2.1.tgz", "integrity": "sha512-cwXhw/qLskkj0yBcdY3AcBc3g2z4SxFCZpq12h7lqFH56W5RurVevuiumwyirHEPAUHvtR0EmMkF/eRNJmaWcA==", "requires": { - "prop-types": "15.6.0", - "react-motion": "0.5.2", - "react-router-dom": "4.2.2" + "prop-types": "^15.5.10", + "react-motion": "^0.5.0", + "react-router-dom": "^4.1.1" } }, "react-sound": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/react-sound/-/react-sound-1.1.0.tgz", - "integrity": "sha512-ZySUXb4SxLrqnF5O3DUa/MOcfXUhCQXRDe+z+sjEE7LzeezMDog1mxuXbq49POOz2Lbjie4lCr14fVsPyTrUmQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-sound/-/react-sound-1.2.0.tgz", + "integrity": "sha512-pc2l8f7Oy3VePRRVesBwSSJ0mrCeD/lE5GVCT1RPdEQ7lgbZTDyWI8HokXHmS1v79aiLnd3WTRhfsBAY0NTb8g==", "requires": { - "prop-types": "15.6.0", - "soundmanager2": "2.97.20170602" + "prop-types": "^15.5.7", + "soundmanager2": "^2.97.20170602" } }, "read-config-file": { @@ -9007,34 +9816,29 @@ "integrity": "sha512-BVm//hhy9uxRbmeZrKAsUu6MUUNvtwkMrc3t15E79M1lLvg6ivHiwQYIEQK65ZtHCSautbgRY4rD8Z4skRk+4Q==", "dev": true, "requires": { - "ajv": "6.1.1", - "ajv-keywords": "3.1.0", - "bluebird-lst": "1.0.5", - "dotenv": "5.0.0", - "dotenv-expand": "4.2.0", - "fs-extra-p": "4.5.0", - "js-yaml": "3.10.0", - "json5": "0.5.1", - "lazy-val": "1.0.3" + "ajv": "^6.1.1", + "ajv-keywords": "^3.1.0", + "bluebird-lst": "^1.0.5", + "dotenv": "^5.0.0", + "dotenv-expand": "^4.0.1", + "fs-extra-p": "^4.5.0", + "js-yaml": "^3.10.0", + "json5": "^0.5.1", + "lazy-val": "^1.0.3" }, "dependencies": { "ajv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", - "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" } }, - "ajv-keywords": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", - "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", - "dev": true - }, "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", @@ -9042,13 +9846,13 @@ "dev": true }, "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } } } @@ -9059,9 +9863,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -9070,8 +9874,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -9080,8 +9884,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -9090,7 +9894,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -9100,10 +9904,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "readdirp": { @@ -9112,10 +9916,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" }, "dependencies": { "isarray": { @@ -9125,27 +9929,27 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } @@ -9156,8 +9960,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "reduce-css-calc": { @@ -9166,9 +9970,9 @@ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "dev": true, "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" }, "dependencies": { "balanced-match": { @@ -9185,7 +9989,7 @@ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "dev": true, "requires": { - "balanced-match": "0.4.2" + "balanced-match": "^0.4.2" }, "dependencies": { "balanced-match": { @@ -9197,31 +10001,29 @@ } }, "redux": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz", + "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", "dev": true, "requires": { - "lodash": "4.17.5", - "lodash-es": "4.17.4", - "loose-envify": "1.3.1", - "symbol-observable": "1.1.0" + "loose-envify": "^1.1.0", + "symbol-observable": "^1.2.0" } }, "redux-promise": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/redux-promise/-/redux-promise-0.5.3.tgz", - "integrity": "sha1-6X5snTvzdurLebq+bZBtogES1tg=", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/redux-promise/-/redux-promise-0.6.0.tgz", + "integrity": "sha512-R2mGxJbPFgXyCNbFDE6LjTZhCEuACF54g1bxld3nqBhnRMX0OsUyWk77moF7UMGkUdl5WOAwc4BC5jOd1dunqQ==", "dev": true, "requires": { - "flux-standard-action": "0.6.1" + "flux-standard-action": "^2.0.3", + "is-promise": "^2.1.0" } }, "redux-thunk": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.2.0.tgz", - "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU=", - "dev": true + "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU=" }, "regenerate": { "version": "1.3.3", @@ -9240,27 +10042,19 @@ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" } }, "regex-not": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.0.tgz", - "integrity": "sha1-Qvg+OXcWIt+CawKvF2Ul1qXxV/k=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "2.0.1" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpu-core": { @@ -9269,9 +10063,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -9280,8 +10074,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.5", - "safe-buffer": "5.1.1" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -9290,7 +10084,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.5" + "rc": "^1.0.1" } }, "regjsgen": { @@ -9305,7 +10099,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -9340,56 +10134,47 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { - "version": "2.83.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", - "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", - "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.1", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.1", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - }, - "dependencies": { - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - } + "version": "2.85.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", + "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "requires-port": { "version": "1.0.0", @@ -9397,20 +10182,23 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=" + }, "resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" }, "resolve-pathname": { "version": "2.2.0", @@ -9427,20 +10215,16 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "0.1.4" - } + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true }, "rimraf": { "version": "2.6.2", @@ -9448,17 +10232,25 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "^2.1.0" } }, "run-queue": { @@ -9467,30 +10259,35 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "1.2.0" + "aproba": "^1.1.1" } }, "rxjs": { - "version": "5.5.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.6.tgz", - "integrity": "sha512-v4Q5HDC0FHAQ7zcBX7T2IL6O5ltl1a2GX4ENjPXg6SjDY69Cmx9v4113C99a4wGF16ClPv5Z8mghuYorVkg/kg==", - "dev": true, + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", + "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", "requires": { - "symbol-observable": "1.0.1" - }, - "dependencies": { - "symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=", - "dev": true - } + "tslib": "^1.9.0" } }, "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sanitize-filename": { "version": "1.6.1", @@ -9498,7 +10295,7 @@ "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", "dev": true, "requires": { - "truncate-utf8-bytes": "1.0.2" + "truncate-utf8-bytes": "^1.0.0" } }, "sass-graph": { @@ -9507,10 +10304,10 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.5", - "scss-tokenizer": "0.2.3", - "yargs": "7.1.0" + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" }, "dependencies": { "camelcase": { @@ -9519,13 +10316,24 @@ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", "dev": true }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, "os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "which-module": { @@ -9540,19 +10348,19 @@ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" } }, "yargs-parser": { @@ -9561,22 +10369,22 @@ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" } } } }, "sass-loader": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-6.0.6.tgz", - "integrity": "sha512-c3/Zc+iW+qqDip6kXPYLEgsAu2lf4xz0EZDplB7EmSUMda12U1sGJPetH55B/j9eu0bTtKzKlNPWWyYC7wFNyQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.0.1.tgz", + "integrity": "sha512-MeVVJFejJELlAbA7jrRchi88PGP6U9yIfqyiG+bBC4a9s2PX+ulJB9h8bbEohtPBfZmlLhNZ0opQM9hovRXvlw==", "dev": true, "requires": { - "async": "2.6.0", - "clone-deep": "0.3.0", - "loader-utils": "1.1.0", - "lodash.tail": "4.1.1", - "pify": "3.0.0" + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0" } }, "sax": { @@ -9590,7 +10398,7 @@ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "dev": true, "requires": { - "ajv": "5.5.2" + "ajv": "^5.0.0" } }, "scss-tokenizer": { @@ -9599,8 +10407,8 @@ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "2.4.0", - "source-map": "0.4.4" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" }, "dependencies": { "source-map": { @@ -9609,7 +10417,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -9621,31 +10429,31 @@ "dev": true }, "selfsigned": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz", - "integrity": "sha1-v4y3uDJWxFUeMTR8YxF3jbme7FI=", + "version": "1.10.3", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.3.tgz", + "integrity": "sha512-vmZenZ+8Al3NLHkWnhBQ0x6BkML1eCP2xEi3JE+f3D9wW9fipD9NNJHYtE9XJM4TsPaHGZJIamrSI6MTg1dU2Q==", "dev": true, "requires": { - "node-forge": "0.6.33" + "node-forge": "0.7.5" } }, "semantic-ui-react": { - "version": "0.78.2", - "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.78.2.tgz", - "integrity": "sha512-GALhydmZTLfvPskNa1SrIvX4o71Yelp50z5nxcKgzNNnWjF1q6RQiVhISc0KG03LzWZWRBw8ye3YzCKLdLfclQ==", + "version": "0.81.1", + "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.81.1.tgz", + "integrity": "sha512-ooLjHxSkLsjWkOlXxLsZzeaCBy8fjanpUwkJNhzVj6t8XC8qcK2Y57GetC2bMdyx6ewUL9DOHZfoybwfjUG9ZA==", "requires": { - "babel-runtime": "6.26.0", - "classnames": "2.2.5", - "fbjs": "0.8.16", - "lodash": "4.17.5", - "prop-types": "15.6.0" + "@babel/runtime": "^7.0.0-beta.49", + "classnames": "^2.2.5", + "fbjs": "^0.8.16", + "keyboard-key": "^1.0.1", + "lodash": "^4.17.10", + "prop-types": "^15.6.1" } }, "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", - "dev": true + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "semver-diff": { "version": "2.1.0", @@ -9653,39 +10461,30 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.4.1" + "semver": "^5.0.3" } }, "send": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.2", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", @@ -9701,9 +10500,9 @@ "dev": true }, "serialize-javascript": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.4.0.tgz", - "integrity": "sha1-fJWFFNtqwkQ6irwGLcn3iGp/YAU=", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", "dev": true }, "serve-index": { @@ -9712,52 +10511,31 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "1.3.4", + "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.2", - "mime-types": "2.1.17", - "parseurl": "1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" } }, "serve-static": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.16.1" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" } }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-getter": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.0.tgz", - "integrity": "sha1-12nBgsnVpR9AkUXy+6guXoboA3Y=", - "dev": true, - "requires": { - "to-object-path": "0.3.0" - } + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", @@ -9771,10 +10549,21 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } } }, "setimmediate": { @@ -9789,58 +10578,52 @@ "dev": true }, "sha.js": { - "version": "2.4.10", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.10.tgz", - "integrity": "sha512-vnwmrFDlOExK4Nm16J2KMWHLrp14lBrjxMxBJpu++EnsuBmpiYaM/MEs46Vxxm/4FvdP5yTwuCTO9it5FSjrqA==", + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shallow-clone": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-0.1.2.tgz", - "integrity": "sha1-WQnodLp3EG1zrEFM/sH/yofZcGA=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { - "is-extendable": "0.1.1", - "kind-of": "2.0.1", - "lazy-cache": "0.2.7", - "mixin-object": "2.0.1" + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" }, "dependencies": { "kind-of": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-2.0.1.tgz", - "integrity": "sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } + "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 } } }, "shallowequal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz", - "integrity": "sha512-zlVXeVUKvo+HEv1e2KQF/csyeMKx2oHvatQ9l6XjCUj3agvC8XGf6R9HvIPDSmp8FNPvx7b5kaEJTRi7CqxtEw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", "dev": true }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shell-quote": { "version": "1.6.1", @@ -9848,17 +10631,16 @@ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "dev": true, "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "single-line-log": { "version": "1.1.2", @@ -9866,7 +10648,7 @@ "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.1" } }, "slash": { @@ -9876,116 +10658,116 @@ "dev": true }, "snapdragon": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.1.tgz", - "integrity": "sha1-4StUh/re0+PeoKyR6UAL91tAE3A=", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.1", - "use": "2.0.2" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "ms": "2.0.0" + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "kind-of": "^6.0.0" } }, "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "kind-of": "^6.0.0" } }, "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } - }, - "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 } } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" - } - }, "snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } } }, "sntp": { @@ -9993,7 +10775,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.2.0" + "hoek": "4.x.x" } }, "sockjs": { @@ -10002,8 +10784,8 @@ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", "dev": true, "requires": { - "faye-websocket": "0.10.0", - "uuid": "3.2.1" + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" } }, "sockjs-client": { @@ -10012,30 +10794,21 @@ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "dev": true, "requires": { - "debug": "2.6.9", + "debug": "^2.6.6", "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.2.0" + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "faye-websocket": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } } } @@ -10046,7 +10819,7 @@ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "dev": true, "requires": { - "is-plain-obj": "1.1.0" + "is-plain-obj": "^1.0.0" } }, "soundmanager2": { @@ -10061,21 +10834,21 @@ "dev": true }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-resolve": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", + "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==", "dev": true, "requires": { - "atob": "2.0.3", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -10084,7 +10857,15 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } } }, "source-map-url": { @@ -10093,47 +10874,36 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", "dev": true }, - "spawn-rx": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/spawn-rx/-/spawn-rx-2.0.12.tgz", - "integrity": "sha512-gOPXiQQFQ9lTOLuys0iMn3jfxxv9c7zzwhbYLOEbQGvEShHVJ5sSR1oD3Daj88os7jKArDYT7rbOKdvNhe7iEg==", + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "debug": "2.6.9", - "lodash.assign": "4.2.0", - "rxjs": "5.5.6" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-license-ids": "1.2.2" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=", - "dev": true - }, "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", + "integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==", "dev": true }, "spdy": { @@ -10142,49 +10912,29 @@ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "dev": true, "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", - "select-hose": "2.0.0", - "spdy-transport": "2.0.20" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" } }, "spdy-transport": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", - "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.0.tgz", + "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", "dev": true, "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.1", - "readable-stream": "2.3.3", - "safe-buffer": "5.1.1", - "wbuf": "1.7.2" + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -10192,27 +10942,27 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } @@ -10229,7 +10979,7 @@ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { - "through": "2.3.8" + "through": "2" } }, "split-string": { @@ -10238,28 +10988,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" - }, - "dependencies": { - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" - } - }, - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "2.0.4" - } - } + "extend-shallow": "^3.0.0" } }, "sprintf-js": { @@ -10269,117 +10998,60 @@ "dev": true }, "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - } - }, - "ssri": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.1.0.tgz", - "integrity": "sha512-TevC8fgxQKTfQ1nWtM9GNzr3q5rrHNntG9CDMH1k3QhSZI6Kb+NbjLRs8oPFZa2Hgo7zoekL+UTvoEk7tsbjQg==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", + "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + }, + "stat-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-descriptor": "^0.1.0" } - }, - "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 } } }, "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", "dev": true }, "stdout-stream": { @@ -10388,7 +11060,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "2.3.3" + "readable-stream": "^2.0.1" }, "dependencies": { "isarray": { @@ -10398,27 +11070,27 @@ "dev": true }, "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } @@ -10428,7 +11100,7 @@ "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", "integrity": "sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.3" } }, "stream-browserify": { @@ -10437,8 +11109,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.4" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" }, "dependencies": { "isarray": { @@ -10447,34 +11119,28 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "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==", - "dev": true - }, "readable-stream": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", - "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } } } @@ -10485,7 +11151,7 @@ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "dev": true, "requires": { - "duplexer": "0.1.1" + "duplexer": "~0.1.1" } }, "stream-each": { @@ -10494,21 +11160,21 @@ "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "stream-shift": "1.0.0" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, "stream-http": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.0.tgz", - "integrity": "sha512-sZOFxI/5xw058XIRHl4dU3dZ+TTOIGJR78Dvo0oEAejIt4ou27k+3ne1zYmCV+v7UucbxIFQuOgnkTVHh8YPnw==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.4", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" }, "dependencies": { "isarray": { @@ -10517,34 +11183,28 @@ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "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==", - "dev": true - }, "readable-stream": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.4.tgz", - "integrity": "sha512-vuYxeWYM+fde14+rajzqgeohAI7YoJcHE7kXDAc4Nk0EbuKnJfqtY9YtRkLo/tqkuF7MsBQRhPnPeyjYITp3ZQ==", + "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.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" + "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.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "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.1" + "safe-buffer": "~5.1.0" } }, "xtend": { @@ -10571,11 +11231,10 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string.prototype.padend": { @@ -10584,9 +11243,9 @@ "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.10.0", - "function-bind": "1.1.1" + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" } }, "string_decoder": { @@ -10603,9 +11262,8 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -10614,14 +11272,13 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-indent": { "version": "1.0.1", @@ -10629,7 +11286,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -10639,76 +11296,92 @@ "dev": true }, "style-loader": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.20.1.tgz", - "integrity": "sha512-NtlwQOHQvUgEKuPs4JoUMQUkML8UNMxLbXM2JAZerIQVVVMgO5VVRjYQA8zzkpBu/X2OnTt+5ZKe8IbGk5TjRA==", + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.3" + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" }, "dependencies": { - "schema-utils": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", - "integrity": "sha512-sgv/iF/T4/SewJkaVpldKC4WjSkz0JsOh2eKtxCPpCO1oR05+7MOF+H476HVRbLArkgA7j5TRJJ4p2jdFkUGQQ==", + "ajv": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", + "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } - } - } - }, - "styled-components": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.1.6.tgz", - "integrity": "sha1-nEQxRvqCxmWan2TdSTvyICSANC4=", - "requires": { - "buffer": "5.1.0", - "css-to-react-native": "2.1.2", - "fbjs": "0.8.16", - "hoist-non-react-statics": "1.2.0", - "is-plain-object": "2.0.4", - "prop-types": "15.6.0", - "stylis": "3.4.10", - "stylis-rule-sheet": "0.0.7", - "supports-color": "3.2.3" - }, - "dependencies": { - "buffer": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", - "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", + }, + "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=", + "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 + }, + "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 + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, "requires": { - "base64-js": "1.2.0", - "ieee754": "1.1.8" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, - "hoist-non-react-statics": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, "requires": { - "has-flag": "1.0.0" + "punycode": "^2.1.0" } } } }, + "styled-components": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.2.6.tgz", + "integrity": "sha1-mebnWnRr3t0pWhfgPdFJMFWhzDs=", + "requires": { + "buffer": "^5.0.3", + "css-to-react-native": "^2.0.3", + "fbjs": "^0.8.16", + "hoist-non-react-statics": "^2.5.0", + "is-plain-object": "^2.0.1", + "prop-types": "^15.5.4", + "react-is": "^16.3.1", + "stylis": "^3.5.0", + "stylis-rule-sheet": "^0.0.10", + "supports-color": "^3.2.3" + } + }, "stylis": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.4.10.tgz", - "integrity": "sha512-J7CXAfeyhjdgvdQMz2yy0gTDccq0nVmatx6IlX1je1kCqdNgk3npGOzX6qprEd2oHVv7IF5HXO08i6XFQs/JRA==" + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.0.tgz", + "integrity": "sha512-pP7yXN6dwMzAR29Q0mBrabPCe0/mNO1MSr93bhay+hcZondvMMTpeGyd8nbhYJdyperNT2DRxONQuUGcJr5iPw==" }, "stylis-rule-sheet": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.7.tgz", - "integrity": "sha512-qxzlUBO40tgcGMhYxk2gXAPcaZYpfCqHMoVHj92lFMyiFotcqaEl7Jb5eW1ccCanGwf1N9dVBKF9+i/gmDfzyQ==" + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" }, "sumchecker": { "version": "1.3.1", @@ -10716,26 +11389,17 @@ "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", "dev": true, "requires": { - "debug": "2.6.9", - "es6-promise": "4.2.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "debug": "^2.2.0", + "es6-promise": "^4.0.5" } }, "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": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } }, "svgo": { "version": "0.7.2", @@ -10743,20 +11407,19 @@ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "dev": true, "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" } }, "symbol-observable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", - "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==", - "dev": true + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "symbol-tree": { "version": "3.2.2", @@ -10765,10 +11428,9 @@ "optional": true }, "tapable": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.0.0.tgz", + "integrity": "sha512-dQRhbNQkRnaqauC7WqSJ21EEksgT0fYZX2lqXzGkpo8JNig9zGZTYoMGvyI2nWmXlE2VSVXVDu7wLVGu/mQEsg==" }, "tar": { "version": "2.2.1", @@ -10776,21 +11438,21 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "temp-file": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.1.1.tgz", - "integrity": "sha512-W/6SJgtg2SE/5rxgwUwoDhdSXrvUWQBpgKJglaAe6S7mk1kLkI+LUbY/jPZBu3UhydDJZstNNd7AJhnZ0UZHtw==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.1.2.tgz", + "integrity": "sha512-s5JJnUbvV6QaKBxBJm6wDpKIVVvr/ssrb8Cdaz2iaXcjFMtWX+OGBwY+UTvARoWYI5HlKaoD7xFJSpo0jJUlbA==", "dev": true, "requires": { - "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.5", - "fs-extra-p": "4.5.0", - "lazy-val": "1.0.3" + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.5", + "fs-extra-p": "^4.6.0", + "lazy-val": "^1.0.3" } }, "term-size": { @@ -10799,7 +11461,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "throttleit": { @@ -10811,8 +11473,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { "version": "0.2.3", @@ -10820,20 +11481,14 @@ "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", "dev": true, "requires": { - "readable-stream": "1.1.14", - "xtend": "2.1.2" + "readable-stream": "~1.1.9", + "xtend": "~2.1.1" } }, "thunky": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", - "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=", - "dev": true - }, - "time-stamp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", - "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.2.tgz", + "integrity": "sha1-qGLgGOP7HqLsP85dVWBc9X8kc3E=", "dev": true }, "timed-out": { @@ -10843,12 +11498,25 @@ "dev": true }, "timers-browserify": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", - "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", + "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==", "dev": true, "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" + } + }, + "tiny-invariant": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-0.0.3.tgz", + "integrity": "sha512-SA2YwvDrCITM9fTvHTHRpq9W6L2fBsClbqm3maT5PZux4Z73SPPDYwJMtnoWh6WMgmCkJij/LaOlWiqJqFMK8g==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "requires": { + "os-tmpdir": "~1.0.2" } }, "to-arraybuffer": { @@ -10869,115 +11537,48 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" - } - }, - "to-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.1.tgz", - "integrity": "sha1-FTWL7kosg712N3uh3ASdDxiDeq4=", - "dev": true, - "requires": { - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "regex-not": "1.0.0" + "kind-of": "^3.0.2" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-buffer": "^1.1.5" } - }, - "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 } } }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - } + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tr46": { @@ -11004,7 +11605,7 @@ "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", "dev": true, "requires": { - "glob": "6.0.4" + "glob": "^6.0.4" }, "dependencies": { "glob": { @@ -11013,11 +11614,11 @@ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } } } @@ -11028,9 +11629,14 @@ "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", "dev": true, "requires": { - "utf8-byte-length": "1.0.4" + "utf8-byte-length": "^1.0.1" } }, + "tslib": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" + }, "tty-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", @@ -11042,7 +11648,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.1" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -11056,23 +11662,23 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.7.tgz", - "integrity": "sha512-4Rh17pAMVdMWzktddFhISRnUnFIStObtUMNGzDwlA6w/77bmGv3aBbRdCmQR6IjzfkTo9otnW+2K/cDRhKSxDA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "~2.1.18" } }, "typedarray": { @@ -11082,9 +11688,9 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.17", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" + "version": "0.7.18", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.18.tgz", + "integrity": "sha512-LtzwHlVHwFGTptfNSgezHp7WUlwiqb0gA9AALRbKaERfxwJoiX0A73QbTToxteIAuIaFshhgIZfqK8s7clqgnA==" }, "uglify-es": { "version": "3.3.9", @@ -11092,8 +11698,8 @@ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "commander": "2.13.0", - "source-map": "0.6.1" + "commander": "~2.13.0", + "source-map": "~0.6.1" }, "dependencies": { "commander": { @@ -11101,53 +11707,46 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", "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 } } }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, "uglifyjs-webpack-plugin": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.8.tgz", - "integrity": "sha512-XG8/QmR1pyPeE1kj2aigo5kos8umefB31zW+PMvAAytHSB0T/vQvN6sqt8+Sh+y0b0A7zlmxNi2dzRnj0wcqGA==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz", + "integrity": "sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw==", "dev": true, "requires": { - "cacache": "10.0.2", - "find-cache-dir": "1.0.0", - "schema-utils": "0.4.3", - "serialize-javascript": "1.4.0", - "source-map": "0.6.1", - "uglify-es": "3.3.9", - "webpack-sources": "1.1.0", - "worker-farm": "1.5.2" + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" }, "dependencies": { - "schema-utils": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.3.tgz", - "integrity": "sha512-sgv/iF/T4/SewJkaVpldKC4WjSkz0JsOh2eKtxCPpCO1oR05+7MOF+H476HVRbLArkgA7j5TRJJ4p2jdFkUGQQ==", + "ajv": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "ajv": "5.5.2", - "ajv-keywords": "2.1.1" + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" } }, - "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 + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } } } }, @@ -11157,22 +11756,31 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "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.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } @@ -11189,7 +11797,7 @@ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", "dev": true, "requires": { - "macaddress": "0.2.8" + "macaddress": "^0.2.8" } }, "uniqs": { @@ -11204,7 +11812,7 @@ "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "unique-slug": "2.0.0" + "unique-slug": "^2.0.0" } }, "unique-slug": { @@ -11213,7 +11821,7 @@ "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { - "imurmurhash": "0.1.4" + "imurmurhash": "^0.1.4" } }, "unique-string": { @@ -11222,7 +11830,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "universalify": { @@ -11243,8 +11851,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -11253,9 +11861,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -11289,41 +11897,48 @@ "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", "dev": true }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, "update-notifier": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", - "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.3.1", - "configstore": "3.1.1", - "import-lazy": "2.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "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.1" + "color-convert": "^1.9.0" } }, "chalk": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.1.tgz", - "integrity": "sha512-QUU4ofkDoMIVO7hcx1iPTISs88wsO8jA92RQIm4JAwZvFGGAV2hSAA1NX7oVj2Ej2Q6NDTcRDjPTFrMCRZoJ6g==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "5.2.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -11333,16 +11948,33 @@ "dev": true }, "supports-color": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.2.0.tgz", - "integrity": "sha512-F39vS48la4YvTZUPVeTqsjsFNrvcMwrV3RLZINsmHo+7djCvuUzSIeXOnZ5hmjef4bajL1dNccN+tg5XAliO5Q==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } }, + "uri-js": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", + "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", + "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", + "dev": true + } + } + }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", @@ -11360,147 +11992,109 @@ }, "dependencies": { "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.6.2.tgz", - "integrity": "sha512-h3qf9TNn53BpuXTTcpC+UehiRrl0Cv45Yr/xWayApjw6G8Bg2dGke7rIwDQ39piciWCWrC+WiqLjOh3SUp9n0Q==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "mime": "1.6.0", - "schema-utils": "0.3.0" - }, - "dependencies": { - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - } - } - }, - "url-parse": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", - "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", - "dev": true, - "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" - }, - "dependencies": { - "querystringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", "dev": true } } }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "1.0.4" - } + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true }, - "use": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/use/-/use-2.0.2.tgz", - "integrity": "sha1-riig1y+TvyJCKhii43mZMRLeyOg=", + "url-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz", + "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", "dev": true, "requires": { - "define-property": "0.2.5", - "isobject": "3.0.1", - "lazy-cache": "2.0.2" + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^0.4.3" }, "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "ajv": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", + "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } + "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=", + "dev": true }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } - } + "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 }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "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 + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, - "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 - }, - "lazy-cache": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", - "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "set-getter": "0.1.0" + "punycode": "^2.1.0" } } } }, + "url-parse": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.1.tgz", + "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", + "dev": true, + "requires": { + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "use": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, "utf8-byte-length": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", @@ -11508,20 +12102,12 @@ "dev": true }, "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", "dev": true, "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } + "inherits": "2.0.3" } }, "util-deprecate": { @@ -11540,14 +12126,19 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" }, + "v8-compile-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.0.tgz", + "integrity": "sha512-qNdTUMaCjPs4eEnM3W9H94R3sU70YCuT+/ST7nUf+id1bVOrdjrpUaeZLqPBPRph3hsgn4a4BvwpxhHZx+oSDg==" + }, "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", + "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "value-equal": { @@ -11562,722 +12153,385 @@ "dev": true }, "vendors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - } - }, - "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" - } - }, - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "1.3.1" - } - }, - "watchpack": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", - "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", - "dev": true, - "requires": { - "async": "2.6.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" - } - }, - "wbuf": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", - "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", - "dev": true, - "requires": { - "minimalistic-assert": "1.0.0" - } - }, - "webidl-conversions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", - "optional": true - }, - "webpack": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.11.0.tgz", - "integrity": "sha512-3kOFejWqj5ISpJk4Qj/V7w98h9Vl52wak3CLiw/cDOfbVTq7FeoZ0SdoHHY9PYlHr50ZS42OfvzE2vB4nncKQg==", - "dev": true, - "requires": { - "acorn": "5.4.1", - "acorn-dynamic-import": "2.0.2", - "ajv": "6.1.1", - "ajv-keywords": "3.1.0", - "async": "2.6.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.1.0", - "json-loader": "0.5.7", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.1.0", - "source-map": "0.5.7", - "supports-color": "4.5.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.1.0", - "yargs": "8.0.2" - }, - "dependencies": { - "ajv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.1.1.tgz", - "integrity": "sha1-l41Zf7wrfQ5aXD3esUmmgvKr+g4=", - "dev": true, - "requires": { - "fast-deep-equal": "1.0.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" - } - }, - "ajv-keywords": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", - "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", - "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.1.0" - } - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - }, - "dependencies": { - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - } - } - } - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "webpack-dev-middleware": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", - "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "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": { - "memory-fs": "0.4.1", - "mime": "1.6.0", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" - }, - "dependencies": { - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - } + "indexof": "0.0.1" } }, - "webpack-dev-server": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.1.tgz", - "integrity": "sha512-ombhu5KsO/85sVshIDTyQ5HF3xjZR3N0sf5Ao6h3vFwpNyzInEzA1GV3QPVjTMLTNckp8PjfG1PFGznzBwS5lg==", + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "2.0.0", - "compression": "1.7.1", - "connect-history-api-fallback": "1.5.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.2", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "import-local": "1.0.0", - "internal-ip": "1.2.0", - "ip": "1.1.5", - "killable": "1.0.0", - "loglevel": "1.6.1", - "opn": "5.2.0", - "portfinder": "1.0.13", - "selfsigned": "1.10.1", - "serve-index": "1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "5.1.0", - "webpack-dev-middleware": "1.12.2", - "yargs": "6.6.0" + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", + "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", + "optional": true + }, + "webpack": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.12.1.tgz", + "integrity": "sha512-7LOKQ+fpPtSvPlP++2rkDRU/8o6pJt00ezGPCksmeIzliOhiz0us4erBmNCW3VeVwH7tLIhv80zFYdOmmqU9BQ==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.5.12", + "@webassemblyjs/helper-module-context": "1.5.12", + "@webassemblyjs/wasm-edit": "1.5.12", + "@webassemblyjs/wasm-opt": "1.5.12", + "@webassemblyjs/wasm-parser": "1.5.12", + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.0.0", + "eslint-scope": "^3.7.1", + "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", + "schema-utils": "^0.4.4", + "tapable": "^1.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.0.1" }, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", + "dev": true + }, + "ajv": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.1.tgz", + "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "micromatch": "3.1.5", - "normalize-path": "2.1.1" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "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=", "dev": true }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "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 }, - "braces": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.0.tgz", - "integrity": "sha512-P4O8UQRdGiMLWSizsApmXVQDBS6KCt7dSexgLKBmH5Hr1CZq7vsnscFh8oR1sP1ab1Zj0uCHCEzZeV6SfUf3rA==", - "dev": true, - "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.1", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.1" - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "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 }, - "chokidar": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.0.tgz", - "integrity": "sha512-OgXCNv2U6TnG04D3tth0gsvdbV4zdbxFG3sYUqcoQMoEFVd1j1pZR6TZ8iknC45o9IJ6PeQI/J6wT/+cHcniAw==", + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.0", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "0.1.6" - } - } + "punycode": "^2.1.0" } + } + } + }, + "webpack-cli": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.8.tgz", + "integrity": "sha512-KnRLJ0BUaYRqrhAMb9dv3gzdmhmgIMKo0FmdsnmfqbPGtLnnZ6tORZAvmmKfr+A0VgiVpqC60Gv7Ofg0R2CHtQ==", + "requires": { + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.0.0", + "global-modules-path": "^2.1.0", + "import-local": "^1.0.0", + "inquirer": "^6.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.4.0", + "v8-compile-cache": "^2.0.0", + "yargs": "^11.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "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==", "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "color-convert": "^1.9.0" } }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - }, - "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.1" - } - } + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "is-fullwidth-code-point": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "ansi-regex": "^3.0.0" } }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "has-flag": "^3.0.0" } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, + "yargs": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", + "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "requires": { - "is-extglob": "2.1.1" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + } + } + }, + "webpack-dev-middleware": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz", + "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", + "dev": true, + "requires": { + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" + } + }, + "webpack-dev-server": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz", + "integrity": "sha512-itcIUDFkHuj1/QQxzUFOEXXmxOj5bku2ScLEsOFPapnq2JRTm58gPdtnBphBJOKL2+M3p6+xygL64bI+3eyzzw==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^1.0.0", + "internal-ip": "1.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.1.4", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "3.1.3", + "webpack-log": "^1.1.2", + "yargs": "11.0.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.6" - } - } + "ms": "2.0.0" } }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "micromatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.5.tgz", - "integrity": "sha512-ykttrLPQrz1PUJcXjwsTUjGoPJ64StIGNE2lGVD1c9CuguJ+L7/navsE8IcDNndOoCMvYV0qc/exfVbMHkUhvA==", + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.0", - "define-property": "1.0.0", - "extend-shallow": "2.0.1", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.7", - "object.pick": "1.3.0", - "regex-not": "1.0.0", - "snapdragon": "0.8.1", - "to-regex": "3.0.1" + "has-flag": "^3.0.0" } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + } + } + }, + "webpack-log": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz", + "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", + "dev": true, + "requires": { + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.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": { - "lcid": "1.0.0" + "color-convert": "^1.9.0" } }, - "supports-color": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.1.0.tgz", - "integrity": "sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ==", + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "has-flag": "2.0.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "dev": true, - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - } - }, - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "camelcase": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -12288,16 +12542,8 @@ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, "websocket-driver": { @@ -12306,8 +12552,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.9", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -12317,9 +12563,9 @@ "dev": true }, "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", + "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" }, "whatwg-url-compat": { "version": "0.6.5", @@ -12327,7 +12573,7 @@ "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", "optional": true, "requires": { - "tr46": "0.0.3" + "tr46": "~0.0.1" } }, "whet.extend": { @@ -12340,16 +12586,14 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wide-align": { "version": "1.1.2", @@ -12357,7 +12601,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "widest-line": { @@ -12366,7 +12610,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12387,8 +12631,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12397,49 +12641,33 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "optional": true }, "worker-farm": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.2.tgz", - "integrity": "sha512-XxiQ9kZN5n6mmnW+mFJ+wXjNNI/Nx4DIdaAKLX1Bn6LYBWlN/zaBhu34DQYPZ1AJobQuu67S2OfDdNSVULvXkQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "0.1.6", - "xtend": "4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - } + "errno": "~0.1.7" } }, "wrap-ansi": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -12454,9 +12682,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "xdg-basedir": { @@ -12489,20 +12717,18 @@ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dev": true, "requires": { - "object-keys": "0.4.0" + "object-keys": "~0.4.0" } }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, "yallist": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { "version": "11.0.0", @@ -12510,18 +12736,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.0.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "ansi-regex": { @@ -12530,17 +12756,6 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, - "cliui": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.0.0.tgz", - "integrity": "sha512-nY3W5Gu2racvdDk//ELReY+dHjb9PlIcVDFXP72nVIhq2Gy3LuVXYwJoPVudwQnv1shtohpgkdCKT2YaKY0CKw==", - "dev": true, - "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" - } - }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", @@ -12553,8 +12768,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12563,7 +12778,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12572,16 +12787,14 @@ "version": "9.0.2", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", - "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" } } }, @@ -12591,18 +12804,18 @@ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "dev": true, "requires": { - "fd-slicer": "1.0.1" + "fd-slicer": "~1.0.1" } }, "ytdl-core": { - "version": "0.20.1", - "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.20.1.tgz", - "integrity": "sha512-qW++yksRLiR6r6k84nV3p7d118R73k5ZapjyqNOF+veNaZyue4TQlN3Xta91prCruukJVTT0Q48kIfc2nzAS1A==", - "requires": { - "html-entities": "1.2.1", - "m3u8stream": "0.2.1", - "miniget": "1.1.0", - "sax": "1.2.4" + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.20.4.tgz", + "integrity": "sha512-d+jthiJxSQ6yqCeCwwMggXYOjFSOJsD7ahvAAE1sFW9nVNnsA/roz91SFH1FzaMGS7/y7AnJfhVgpE9i8uYjJQ==", + "requires": { + "html-entities": "^1.1.3", + "m3u8stream": "^0.2.1", + "miniget": "^1.1.0", + "sax": "^1.1.3" } } } diff --git a/package.json b/package.json index 8084d7c1e9..c59695008e 100644 --- a/package.json +++ b/package.json @@ -57,12 +57,13 @@ "semantic-ui-react": "^0.81.0", "styled-components": "^3.2.6", "uuid": "^3.2.1", - "ytdl-core": "^0.20.2" + "webpack-cli": "^3.0.8", + "ytdl-core": "^0.20.4" }, "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.2", - "babel-preset-env": "^1.6.1", + "babel-preset-env": "^1.7.0", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "babel-register": "^6.26.0", @@ -71,10 +72,9 @@ "css-loader": "^0.28.9", "electron": "^2.0.2", "electron-builder": "^20.9.0", - "electron-devtools-installer": "^2.2.3", + "electron-devtools-installer": "^2.2.4", "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", - "google-fonts-webpack-plugin": "^0.4.4", "happypack": "^5.0.0", "isomorphic-fetch": "^2.2.1", "lodash": "^4.17.5", @@ -95,9 +95,8 @@ "redux-thunk": "^2.2.0", "sass-loader": "^7.0.1", "style-loader": "^0.21.0", - "uglifyjs-webpack-plugin": "^1.1.8", "url-loader": "^1.0.1", - "webpack": "^4.10.2", + "webpack": "^4.12.1", "webpack-dev-server": "^3.1.4" }, "optionalDependencies": { diff --git a/server/main.dev.linux.js b/server/main.dev.linux.js index 6cfbeb3e2a..04839d4898 100644 --- a/server/main.dev.linux.js +++ b/server/main.dev.linux.js @@ -35,13 +35,13 @@ function createWindow() { win.setTitle('nuclear music player'); - installExtension(REACT_DEVELOPER_TOOLS) - .then((name) => console.log(`Added Extension: ${name}`)) - .catch((err) => console.log('An error occurred: ', err)); + // installExtension(REACT_DEVELOPER_TOOLS) + // .then((name) => console.log(`Added Extension: ${name}`)) + // .catch((err) => console.log('An error occurred: ', err)); - installExtension(REDUX_DEVTOOLS) - .then((name) => console.log(`Added Extension: ${name}`)) - .catch((err) => console.log('An error occurred: ', err)); + // installExtension(REDUX_DEVTOOLS) + // .then((name) => console.log(`Added Extension: ${name}`)) + // .catch((err) => console.log('An error occurred: ', err)); win.loadURL(url.format({ pathname: path.join(__dirname, 'index.html'), @@ -50,7 +50,7 @@ function createWindow() { })); win.once('ready-to-show', () => { - win.show() + win.show(); }); win.webContents.openDevTools(); diff --git a/webpack.config.dev.js b/webpack.config.dev.js index f2b53be9e1..ac5104aa04 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -1,6 +1,5 @@ const webpack = require('webpack'); const path = require('path'); -const GoogleFontsPlugin = require("google-fonts-webpack-plugin"); const HappyPack = require('happypack'); const BUILD_DIR = path.resolve(__dirname, 'dist'); @@ -24,19 +23,20 @@ const config = { contentBase: BUILD_DIR, publicPath: 'http://localhost:8080/' }, + mode: 'development', node: { fs: "empty" }, module: { - loaders: [ + rules: [ { - test: /.jsx?$/, - use: 'happypack/loader?id=jsx', - include: APP_DIR + test: /.jsx?$/, + use: 'happypack/loader?id=jsx', + include: APP_DIR }, { - test: /.scss$/, - use: 'happypack/loader?id=scss' + test: /.scss$/, + use: 'happypack/loader?id=scss' }, { test: /\.css/, @@ -51,14 +51,6 @@ const config = { plugins: [ new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), - new GoogleFontsPlugin({ - fonts: [ - { - family: 'lato', - variants: ['regular', '300', '700'] - } - ] - }), new HappyPack({ id: 'jsx', loaders: [ 'babel-loader' ] diff --git a/webpack.config.electron.js b/webpack.config.electron.js index d772d21845..2a9b7bd53e 100644 --- a/webpack.config.electron.js +++ b/webpack.config.electron.js @@ -11,8 +11,9 @@ module.exports = env => { path: __dirname, filename: 'bundle.electron.js' }, + mode: 'development', module: { - loaders: [ + rules: [ { test: /.jsx?$/, use: 'happypack/loader?id=jsx', diff --git a/webpack.config.electron.prod.js b/webpack.config.electron.prod.js index e5a62eec82..91f634ce79 100644 --- a/webpack.config.electron.prod.js +++ b/webpack.config.electron.prod.js @@ -1,7 +1,6 @@ const webpack = require('webpack'); const path = require('path'); const HappyPack = require('happypack'); -const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); module.exports = env => { let entry = env && env.LINUX ? './server/main.prod.linux.js' : './server/main.prod.js'; @@ -12,8 +11,13 @@ module.exports = env => { path: __dirname, filename: './dist/bundle.electron.js' }, + mode: 'production', + optimization: { + namedModules: true, + minimize: true + }, module: { - loaders: [ + rules: [ { test: /.jsx?$/, use: 'happypack/loader?id=jsx', @@ -26,12 +30,10 @@ module.exports = env => { ] }, plugins: [ - new webpack.NamedModulesPlugin(), new HappyPack({ id: 'jsx', loaders: [ 'babel-loader' ] - }), - new UglifyJsPlugin() + }) ], node: { fs: "empty", @@ -39,5 +41,5 @@ module.exports = env => { __filename: false }, target: 'electron-main' - } + }; }; diff --git a/webpack.config.prod.js b/webpack.config.prod.js index e88a6937d9..481b1bc9b3 100644 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -1,7 +1,5 @@ const webpack = require('webpack'); const path = require('path'); -const GoogleFontsPlugin = require("google-fonts-webpack-plugin"); -const UglifyJsPlugin = require('uglifyjs-webpack-plugin'); const HappyPack = require('happypack'); const BUILD_DIR = path.resolve(__dirname, 'dist'); @@ -18,8 +16,16 @@ const config = { node: { fs: "empty" }, + mode: 'production', + optimization: { + namedModules: true, + minimize: true, + splitChunks: { + chunks: 'all' + } + }, module: { - loaders: [ + rules: [ { test: /.jsx?$/, use: 'happypack/loader?id=jsx', @@ -39,7 +45,6 @@ const config = { ] }, plugins: [ - new webpack.NamedModulesPlugin(), new HappyPack({ id: 'jsx', loaders: [ 'babel-loader' ] @@ -48,15 +53,6 @@ const config = { id: 'scss', loaders: [ 'style-loader!css-loader?importLoaders=1&modules&localIdentName=[local]!sass-loader' ] }), - new UglifyJsPlugin(), - new GoogleFontsPlugin({ - fonts: [ - { - family: 'lato', - variants: ['regular', '300', '700'] - } - ] - }), new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('production') }) From 07642d6a466e4a2aa6d2c52b2490a13e51cc1217 Mon Sep 17 00:00:00 2001 From: nukeop Date: Fri, 29 Jun 2018 00:16:46 +0200 Subject: [PATCH 171/487] Add html-webpack-plugin to generate the html from a template; fixes #73 --- index.html | 2 - package-lock.json | 5537 ++++++++++++++++++-------------------- package.json | 1 + server/main.dev.js | 4 +- server/main.dev.linux.js | 4 +- webpack.config.dev.js | 17 +- 6 files changed, 2628 insertions(+), 2937 deletions(-) diff --git a/index.html b/index.html index 057f823056..93ae078110 100644 --- a/index.html +++ b/index.html @@ -17,7 +17,5 @@
- - diff --git a/package-lock.json b/package-lock.json index e23dfe8b97..3e34398adf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,9 +16,7 @@ "integrity": "sha512-juYJNi8JEpTUWXwz8ssa8Oop4n/kwJ/pIQP22vJAVAe6RTRD+0m+e9LRNnfK2EDaX8uwmUzLNGviFQRD6SxeOw==", "dev": true, "requires": { - "7zip-bin-linux": "~1.3.1", - "7zip-bin-mac": "~1.0.1", - "7zip-bin-win": "~2.2.0" + "7zip-bin-linux": "1.3.1" } }, "7zip-bin-linux": { @@ -28,26 +26,13 @@ "dev": true, "optional": true }, - "7zip-bin-mac": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz", - "integrity": "sha1-Pmh3i78JJq3GgVlCcHRQXUdVXAI=", - "optional": true - }, - "7zip-bin-win": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/7zip-bin-win/-/7zip-bin-win-2.2.0.tgz", - "integrity": "sha512-uPHXapEmUtlUKTBx4asWMlxtFUWXzEY0KVEgU7QKhgO2LJzzM3kYxM6yOyUZTtYE6mhK4dDn3FDut9SCQWHzgg==", - "dev": true, - "optional": true - }, "@babel/runtime": { "version": "7.0.0-beta.51", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.51.tgz", "integrity": "sha1-SLjtGDBwNMZiD2Q1FGUMoszAFlo=", "requires": { - "core-js": "^2.5.7", - "regenerator-runtime": "^0.11.1" + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -71,8 +56,8 @@ "@webassemblyjs/helper-module-context": "1.5.12", "@webassemblyjs/helper-wasm-bytecode": "1.5.12", "@webassemblyjs/wast-parser": "1.5.12", - "debug": "^3.1.0", - "mamacro": "^0.0.3" + "debug": "3.1.0", + "mamacro": "0.0.3" }, "dependencies": { "debug": { @@ -104,7 +89,7 @@ "integrity": "sha512-tJNUjttL5CxiiS/KLxT4/Zk0Nbl/poFhztFxktb46zoQEUWaGHR9ZJ0SnvE7DbFX5PY5JNJDMZ0Li4lm246fWw==", "dev": true, "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -139,8 +124,8 @@ "integrity": "sha512-SCXR8hPI4JOG3cdy9HAO8W5/VQ68YXG/Hfs7qDf1cd64zWuMNshyEour5NYnLMVkrrtc0XzfVS/MdeV94woFHA==", "dev": true, "requires": { - "debug": "^3.1.0", - "mamacro": "^0.0.3" + "debug": "3.1.0", + "mamacro": "0.0.3" }, "dependencies": { "debug": { @@ -170,7 +155,7 @@ "@webassemblyjs/helper-buffer": "1.5.12", "@webassemblyjs/helper-wasm-bytecode": "1.5.12", "@webassemblyjs/wasm-gen": "1.5.12", - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -190,7 +175,7 @@ "integrity": "sha512-F+PEv9QBzPi1ThLBouUJbuxhEr+Sy/oua1ftXFKHiaYYS5Z9tKPvK/hgCxlSdq+RY4MSG15jU2JYb/K5pkoybg==", "dev": true, "requires": { - "ieee754": "^1.1.11" + "ieee754": "1.1.11" } }, "@webassemblyjs/leb128": { @@ -199,7 +184,7 @@ "integrity": "sha512-cCOx/LVGiWyCwVrVlvGmTdnwHzIP4+zflLjGkZxWpYCpdNax9krVIJh1Pm7O86Ox/c5PrJpbvZU1cZLxndlPEw==", "dev": true, "requires": { - "leb": "^0.3.0" + "leb": "0.3.0" } }, "@webassemblyjs/utf8": { @@ -222,7 +207,7 @@ "@webassemblyjs/wasm-opt": "1.5.12", "@webassemblyjs/wasm-parser": "1.5.12", "@webassemblyjs/wast-printer": "1.5.12", - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -259,7 +244,7 @@ "@webassemblyjs/helper-buffer": "1.5.12", "@webassemblyjs/wasm-gen": "1.5.12", "@webassemblyjs/wasm-parser": "1.5.12", - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -298,8 +283,8 @@ "@webassemblyjs/helper-api-error": "1.5.12", "@webassemblyjs/helper-code-frame": "1.5.12", "@webassemblyjs/helper-fsm": "1.5.12", - "long": "^3.2.0", - "mamacro": "^0.0.3" + "long": "3.2.0", + "mamacro": "0.0.3" } }, "@webassemblyjs/wast-printer": { @@ -310,7 +295,7 @@ "requires": { "@webassemblyjs/ast": "1.5.12", "@webassemblyjs/wast-parser": "1.5.12", - "long": "^3.2.0" + "long": "3.2.0" } }, "abab": { @@ -331,7 +316,7 @@ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.18", "negotiator": "0.6.1" } }, @@ -346,7 +331,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "^5.0.0" + "acorn": "5.7.1" }, "dependencies": { "acorn": { @@ -363,7 +348,7 @@ "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", "optional": true, "requires": { - "acorn": "^2.1.0" + "acorn": "2.7.0" } }, "ajv": { @@ -371,10 +356,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { @@ -401,7 +386,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -422,8 +407,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -432,7 +417,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -465,8 +450,8 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" } }, "app-builder-bin": { @@ -475,9 +460,7 @@ "integrity": "sha512-jQiCV8fxW3SPtPnU/BnTEQqawWtBmanCgydzRuzsptFVb/6Q4OKWdB5T3B+XHOf8lqaH89+XeJf6oA1b/QQEnQ==", "dev": true, "requires": { - "app-builder-bin-linux": "1.8.6", - "app-builder-bin-mac": "1.8.6", - "app-builder-bin-win": "1.8.6" + "app-builder-bin-linux": "1.8.6" } }, "app-builder-bin-linux": { @@ -487,20 +470,6 @@ "dev": true, "optional": true }, - "app-builder-bin-mac": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz", - "integrity": "sha512-lWIpI2zmOmQ4JCp1IGxK6KngKAEN6QO9nu5k8h+ZzMxHBTCk8+kbBTE+R36BSRGX9q/4FhHBpYGXHVj+N9xOXg==", - "dev": true, - "optional": true - }, - "app-builder-bin-win": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz", - "integrity": "sha512-nlceArzkRtWgqNoif6OFKaAKNNZ3uZuiG+9UkpOPLf/EDoYdeAq4YdvKWaQx1RHsNNfQTx0s/IODvlD0AdUmPA==", - "dev": true, - "optional": true - }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", @@ -513,8 +482,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" }, "dependencies": { "isarray": { @@ -529,13 +498,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -544,7 +513,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -555,7 +524,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -600,8 +569,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "1.1.2", + "es-abstract": "1.11.0" } }, "array-map": { @@ -622,7 +591,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -653,9 +622,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "assert": { @@ -707,7 +676,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "^4.14.0" + "lodash": "4.17.10" } }, "async-each": { @@ -745,12 +714,12 @@ "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", "dev": true, "requires": { - "browserslist": "^1.7.6", - "caniuse-db": "^1.0.30000634", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^5.2.16", - "postcss-value-parser": "^3.2.3" + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000833", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" }, "dependencies": { "browserslist": { @@ -759,8 +728,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" + "caniuse-db": "1.0.30000833", + "electron-to-chromium": "1.3.45" } } } @@ -781,9 +750,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "babel-core": { @@ -792,25 +761,25 @@ "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-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "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.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -827,14 +796,14 @@ "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-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.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "source-map": { @@ -851,9 +820,9 @@ "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-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-builder-react-jsx": { @@ -862,9 +831,9 @@ "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-runtime": "6.26.0", + "babel-types": "6.26.0", + "esutils": "2.0.2" } }, "babel-helper-call-delegate": { @@ -873,10 +842,10 @@ "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-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-define-map": { @@ -885,10 +854,10 @@ "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-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-explode-assignable-expression": { @@ -897,9 +866,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-function-name": { @@ -908,11 +877,11 @@ "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": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-get-function-arity": { @@ -921,8 +890,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-hoist-variables": { @@ -931,8 +900,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-optimise-call-expression": { @@ -941,8 +910,8 @@ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-regex": { @@ -951,9 +920,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "lodash": "^4.17.4" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-helper-remap-async-to-generator": { @@ -962,11 +931,11 @@ "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-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helper-replace-supers": { @@ -975,12 +944,12 @@ "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-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-helpers": { @@ -989,8 +958,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-loader": { @@ -999,9 +968,9 @@ "integrity": "sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw==", "dev": true, "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" } }, "babel-messages": { @@ -1010,7 +979,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-check-es2015-constants": { @@ -1019,7 +988,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-syntax-async-functions": { @@ -1058,9 +1027,9 @@ "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-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-arrow-functions": { @@ -1069,7 +1038,7 @@ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -1078,7 +1047,7 @@ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -1087,11 +1056,11 @@ "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-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" } }, "babel-plugin-transform-es2015-classes": { @@ -1100,15 +1069,15 @@ "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-helper-define-map": "6.26.0", + "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.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-computed-properties": { @@ -1117,8 +1086,8 @@ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-destructuring": { @@ -1127,7 +1096,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -1136,8 +1105,8 @@ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-for-of": { @@ -1146,7 +1115,7 @@ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -1155,9 +1124,9 @@ "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-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-literals": { @@ -1166,7 +1135,7 @@ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -1175,9 +1144,9 @@ "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": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -1186,10 +1155,10 @@ "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-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": { @@ -1198,9 +1167,9 @@ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -1209,9 +1178,9 @@ "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-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" } }, "babel-plugin-transform-es2015-object-super": { @@ -1220,8 +1189,8 @@ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "babel-helper-replace-supers": "^6.24.1", - "babel-runtime": "^6.22.0" + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -1230,12 +1199,12 @@ "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-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-shorthand-properties": { @@ -1244,8 +1213,8 @@ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-spread": { @@ -1254,7 +1223,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -1263,9 +1232,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-plugin-transform-es2015-template-literals": { @@ -1274,7 +1243,7 @@ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -1283,7 +1252,7 @@ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -1292,9 +1261,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "^6.24.1", - "babel-runtime": "^6.22.0", - "regexpu-core": "^2.0.0" + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -1303,9 +1272,9 @@ "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-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-flow-strip-types": { @@ -1314,8 +1283,8 @@ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "dev": true, "requires": { - "babel-plugin-syntax-flow": "^6.18.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-display-name": { @@ -1324,7 +1293,7 @@ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", "dev": true, "requires": { - "babel-runtime": "^6.22.0" + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx": { @@ -1333,9 +1302,9 @@ "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-helper-builder-react-jsx": "6.26.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx-self": { @@ -1344,8 +1313,8 @@ "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-react-jsx-source": { @@ -1354,8 +1323,8 @@ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0" + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" } }, "babel-plugin-transform-regenerator": { @@ -1364,7 +1333,7 @@ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "regenerator-transform": "^0.10.0" + "regenerator-transform": "0.10.1" } }, "babel-plugin-transform-strict-mode": { @@ -1373,8 +1342,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" } }, "babel-preset-env": { @@ -1383,36 +1352,36 @@ "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-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "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.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "3.2.8", + "invariant": "2.2.4", + "semver": "5.5.0" } }, "babel-preset-es2015": { @@ -1421,30 +1390,30 @@ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" } }, "babel-preset-flow": { @@ -1453,7 +1422,7 @@ "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", "dev": true, "requires": { - "babel-plugin-transform-flow-strip-types": "^6.22.0" + "babel-plugin-transform-flow-strip-types": "6.22.0" } }, "babel-preset-react": { @@ -1462,12 +1431,12 @@ "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-plugin-syntax-jsx": "6.18.0", + "babel-plugin-transform-react-display-name": "6.25.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-register": { @@ -1476,13 +1445,13 @@ "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" + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.5", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" }, "dependencies": { "core-js": { @@ -1498,8 +1467,8 @@ "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "core-js": "2.5.5", + "regenerator-runtime": "0.11.1" }, "dependencies": { "core-js": { @@ -1515,11 +1484,11 @@ "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-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" } }, "babel-traverse": { @@ -1528,15 +1497,15 @@ "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-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.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" } }, "babel-types": { @@ -1545,10 +1514,10 @@ "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" + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" } }, "babylon": { @@ -1569,13 +1538,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { @@ -1584,7 +1553,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -1593,7 +1562,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -1602,7 +1571,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -1611,9 +1580,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -1635,7 +1604,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, "big.js": { @@ -1648,8 +1617,8 @@ "resolved": "https://registry.npmjs.org/billboard-top-100/-/billboard-top-100-2.0.9.tgz", "integrity": "sha1-8pt3xrthnIyz+lVw1i0k6wQLkio=", "requires": { - "cheerio": "^0.20.0", - "request": "^2.72.0" + "cheerio": "0.20.0", + "request": "2.85.0" } }, "binary-extensions": { @@ -1664,7 +1633,7 @@ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "inherits": "~2.0.0" + "inherits": "2.0.3" } }, "bluebird": { @@ -1679,7 +1648,7 @@ "integrity": "sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA==", "dev": true, "requires": { - "bluebird": "^3.5.1" + "bluebird": "3.5.1" } }, "bn.js": { @@ -1695,15 +1664,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", + "depd": "1.1.2", + "http-errors": "1.6.3", "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "~1.6.15" + "type-is": "1.6.16" }, "dependencies": { "iconv-lite": { @@ -1726,12 +1695,12 @@ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.2.3", + "multicast-dns-service-types": "1.1.0" } }, "boolbase": { @@ -1744,7 +1713,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.1" } }, "boxen": { @@ -1753,13 +1722,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -1774,7 +1743,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "camelcase": { @@ -1789,9 +1758,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -1812,8 +1781,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -1822,7 +1791,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -1831,7 +1800,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -1842,7 +1811,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -1852,16 +1821,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -1870,7 +1839,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -1893,12 +1862,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "browserify-cipher": { @@ -1907,9 +1876,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "browserify-aes": "1.2.0", + "browserify-des": "1.0.1", + "evp_bytestokey": "1.0.3" } }, "browserify-des": { @@ -1918,9 +1887,9 @@ "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1" + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3" } }, "browserify-rsa": { @@ -1929,8 +1898,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "randombytes": "2.0.6" } }, "browserify-sign": { @@ -1939,13 +1908,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" } }, "browserify-zlib": { @@ -1954,7 +1923,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "~1.0.5" + "pako": "1.0.6" } }, "browserslist": { @@ -1963,8 +1932,8 @@ "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "caniuse-lite": "1.0.30000858", + "electron-to-chromium": "1.3.50" }, "dependencies": { "electron-to-chromium": { @@ -1980,8 +1949,8 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "1.3.0", + "ieee754": "1.1.11" } }, "buffer-from": { @@ -2008,20 +1977,20 @@ "integrity": "sha512-vod4bl9Y+uuXhG5puvi7ike9JhF5/eTyc11WjhsVycVTYWAyxQlJqW1EaOtu34N+e1/AHPhA8XA3QI/Zskfpag==", "dev": true, "requires": { - "7zip-bin": "~3.1.0", + "7zip-bin": "3.1.0", "app-builder-bin": "1.8.6", - "bluebird-lst": "^1.0.5", - "builder-util-runtime": "^4.2.0", - "chalk": "^2.4.1", - "debug": "^3.1.0", - "fs-extra-p": "^4.5.2", - "is-ci": "^1.1.0", - "js-yaml": "^3.11.0", - "lazy-val": "^1.0.3", - "semver": "^5.5.0", - "source-map-support": "^0.5.5", - "stat-mode": "^0.2.2", - "temp-file": "^3.1.1" + "bluebird-lst": "1.0.5", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.1", + "debug": "3.1.0", + "fs-extra-p": "4.6.0", + "is-ci": "1.1.0", + "js-yaml": "3.11.0", + "lazy-val": "1.0.3", + "semver": "5.5.0", + "source-map-support": "0.5.5", + "stat-mode": "0.2.2", + "temp-file": "3.1.2" }, "dependencies": { "ansi-styles": { @@ -2030,7 +1999,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -2039,9 +2008,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "debug": { @@ -2071,8 +2040,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "source-map-support": { @@ -2081,8 +2050,8 @@ "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.0.0", + "source-map": "0.6.1" } }, "supports-color": { @@ -2091,7 +2060,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -2102,10 +2071,10 @@ "integrity": "sha512-cROCExnJOJvRD58HHcnrrgyRAoDHGZT0hKox0op7vTuuuRC/1JKMXvSR+Hxy7KWy/aEmKu0HfSqMd4znDEqQsA==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", - "debug": "^3.1.0", - "fs-extra-p": "^4.5.2", - "sax": "^1.2.4" + "bluebird-lst": "1.0.5", + "debug": "3.1.0", + "fs-extra-p": "4.6.0", + "sax": "1.2.4" }, "dependencies": { "debug": { @@ -2143,19 +2112,19 @@ "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { - "bluebird": "^3.5.1", - "chownr": "^1.0.1", - "glob": "^7.1.2", - "graceful-fs": "^4.1.11", - "lru-cache": "^4.1.1", - "mississippi": "^2.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.2", - "ssri": "^5.2.4", - "unique-filename": "^1.1.0", - "y18n": "^4.0.0" + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.2", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" }, "dependencies": { "y18n": { @@ -2172,15 +2141,25 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" } }, "camelcase": { @@ -2195,8 +2174,8 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" + "camelcase": "2.1.1", + "map-obj": "1.0.1" } }, "caniuse-api": { @@ -2205,10 +2184,10 @@ "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", "dev": true, "requires": { - "browserslist": "^1.3.6", - "caniuse-db": "^1.0.30000529", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000833", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" }, "dependencies": { "browserslist": { @@ -2217,8 +2196,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" + "caniuse-db": "1.0.30000833", + "electron-to-chromium": "1.3.45" } } } @@ -2252,12 +2231,12 @@ "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", "dev": true, "requires": { - "assertion-error": "^1.0.1", - "check-error": "^1.0.1", - "deep-eql": "^3.0.0", - "get-func-name": "^2.0.0", - "pathval": "^1.0.0", - "type-detect": "^4.0.0" + "assertion-error": "1.1.0", + "check-error": "1.0.2", + "deep-eql": "3.0.1", + "get-func-name": "2.0.0", + "pathval": "1.1.0", + "type-detect": "4.0.8" } }, "chalk": { @@ -2266,11 +2245,11 @@ "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" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" }, "dependencies": { "supports-color": { @@ -2302,12 +2281,12 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "~3.8.1", - "jsdom": "^7.0.2", - "lodash": "^4.1.0" + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.8.3", + "jsdom": "7.2.2", + "lodash": "4.17.10" } }, "chokidar": { @@ -2316,19 +2295,18 @@ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" } }, "chownr": { @@ -2343,7 +2321,7 @@ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", "dev": true, "requires": { - "tslib": "^1.9.0" + "tslib": "1.9.3" } }, "chromium-pickle-js": { @@ -2364,8 +2342,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "clap": { @@ -2374,7 +2352,7 @@ "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "dev": true, "requires": { - "chalk": "^1.1.3" + "chalk": "1.1.3" } }, "class-utils": { @@ -2383,10 +2361,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { @@ -2395,7 +2373,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -2405,6 +2383,23 @@ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" }, + "clean-css": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz", + "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", + "dev": true, + "requires": { + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, "cli-boxes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", @@ -2416,7 +2411,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { @@ -2429,9 +2424,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" }, "dependencies": { "ansi-regex": { @@ -2449,8 +2444,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -2458,7 +2453,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -2475,10 +2470,10 @@ "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", "dev": true, "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "6.0.2", + "shallow-clone": "1.0.0" } }, "co": { @@ -2492,7 +2487,7 @@ "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", "dev": true, "requires": { - "q": "^1.1.2" + "q": "1.5.1" } }, "code-point-at": { @@ -2506,8 +2501,8 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color": { @@ -2516,9 +2511,9 @@ "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", "dev": true, "requires": { - "clone": "^1.0.2", - "color-convert": "^1.3.0", - "color-string": "^0.3.0" + "clone": "1.0.4", + "color-convert": "1.9.1", + "color-string": "0.3.0" } }, "color-convert": { @@ -2526,7 +2521,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { - "color-name": "^1.1.1" + "color-name": "1.1.3" } }, "color-name": { @@ -2540,7 +2535,7 @@ "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", "dev": true, "requires": { - "color-name": "^1.0.0" + "color-name": "1.1.3" } }, "colormin": { @@ -2549,9 +2544,9 @@ "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", "dev": true, "requires": { - "color": "^0.11.0", + "color": "0.11.4", "css-color-names": "0.0.4", - "has": "^1.0.1" + "has": "1.0.1" } }, "colors": { @@ -2565,7 +2560,7 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { @@ -2598,7 +2593,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": ">= 1.34.0 < 2" + "mime-db": "1.34.0" }, "dependencies": { "mime-db": { @@ -2615,13 +2610,13 @@ "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "dev": true, "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.5", "bytes": "3.0.0", - "compressible": "~2.0.13", + "compressible": "2.0.14", "debug": "2.6.9", - "on-headers": "~1.0.1", + "on-headers": "1.0.1", "safe-buffer": "5.1.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "safe-buffer": { @@ -2644,9 +2639,9 @@ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" }, "dependencies": { "isarray": { @@ -2661,13 +2656,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -2676,7 +2671,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -2687,12 +2682,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.2.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "connect-history-api-fallback": { @@ -2707,7 +2702,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "^0.1.4" + "date-now": "0.1.4" } }, "console-control-strings": { @@ -2758,12 +2753,12 @@ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" } }, "copy-descriptor": { @@ -2788,8 +2783,8 @@ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" + "bn.js": "4.11.8", + "elliptic": "6.4.0" } }, "create-error-class": { @@ -2798,7 +2793,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" } }, "create-hash": { @@ -2807,11 +2802,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" } }, "create-hmac": { @@ -2820,12 +2815,12 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "cross-spawn": { @@ -2833,9 +2828,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.2", + "shebang-command": "1.2.0", + "which": "1.3.0" } }, "cross-unzip": { @@ -2854,7 +2849,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "requires": { - "boom": "5.x.x" + "boom": "5.2.0" }, "dependencies": { "boom": { @@ -2862,7 +2857,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.1" } } } @@ -2873,17 +2868,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" } }, "crypto-random-string": { @@ -2914,20 +2909,20 @@ "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", "dev": true, "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "cssnano": "^3.10.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash.camelcase": "^4.3.0", - "object-assign": "^4.1.1", - "postcss": "^5.0.6", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.2.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" } }, "css-select": { @@ -2935,10 +2930,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", + "boolbase": "1.0.0", + "css-what": "2.1.0", "domutils": "1.5.1", - "nth-check": "~1.0.1" + "nth-check": "1.0.1" } }, "css-selector-tokenizer": { @@ -2947,9 +2942,9 @@ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "dev": true, "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" }, "dependencies": { "regexpu-core": { @@ -2958,9 +2953,9 @@ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } } } @@ -2970,9 +2965,9 @@ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.1.2.tgz", "integrity": "sha512-akxvxNPNm+Qb7kGswgWhD8rLENM8857NVIn1lX0Dr9BQuju8vx6ypet7KvwvqBC01FUEne5V/jvt7FJXWJPtgw==", "requires": { - "css-color-keywords": "^1.0.0", - "fbjs": "^0.8.5", - "postcss-value-parser": "^3.3.0" + "css-color-keywords": "1.0.0", + "fbjs": "0.8.16", + "postcss-value-parser": "3.3.0" } }, "css-what": { @@ -2992,38 +2987,38 @@ "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", "dev": true, "requires": { - "autoprefixer": "^6.3.1", - "decamelize": "^1.1.2", - "defined": "^1.0.0", - "has": "^1.0.1", - "object-assign": "^4.0.1", - "postcss": "^5.0.14", - "postcss-calc": "^5.2.0", - "postcss-colormin": "^2.1.8", - "postcss-convert-values": "^2.3.4", - "postcss-discard-comments": "^2.0.4", - "postcss-discard-duplicates": "^2.0.1", - "postcss-discard-empty": "^2.0.1", - "postcss-discard-overridden": "^0.1.1", - "postcss-discard-unused": "^2.2.1", - "postcss-filter-plugins": "^2.0.0", - "postcss-merge-idents": "^2.1.5", - "postcss-merge-longhand": "^2.0.1", - "postcss-merge-rules": "^2.0.3", - "postcss-minify-font-values": "^1.0.2", - "postcss-minify-gradients": "^1.0.1", - "postcss-minify-params": "^1.0.4", - "postcss-minify-selectors": "^2.0.4", - "postcss-normalize-charset": "^1.1.0", - "postcss-normalize-url": "^3.0.7", - "postcss-ordered-values": "^2.1.0", - "postcss-reduce-idents": "^2.2.2", - "postcss-reduce-initial": "^1.0.0", - "postcss-reduce-transforms": "^1.0.3", - "postcss-svgo": "^2.1.1", - "postcss-unique-selectors": "^2.0.2", - "postcss-value-parser": "^3.2.3", - "postcss-zindex": "^2.0.1" + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.1", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.2", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.0" } }, "csso": { @@ -3032,8 +3027,8 @@ "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", "dev": true, "requires": { - "clap": "^1.0.9", - "source-map": "^0.5.3" + "clap": "1.2.3", + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -3055,7 +3050,7 @@ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "optional": true, "requires": { - "cssom": "0.3.x" + "cssom": "0.3.2" } }, "currently-unhandled": { @@ -3064,7 +3059,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "^1.0.1" + "array-find-index": "1.0.2" } }, "cyclist": { @@ -3079,7 +3074,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -3087,7 +3082,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "date-now": { @@ -3102,7 +3097,7 @@ "integrity": "sha1-vO2hSGc7wvzKIEK6BqlZZXYmibw=", "optional": true, "requires": { - "nan": "^2.1.0" + "nan": "2.10.0" } }, "debug": { @@ -3131,7 +3126,7 @@ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "type-detect": "^4.0.0" + "type-detect": "4.0.8" } }, "deep-equal": { @@ -3158,8 +3153,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.11" }, "dependencies": { "object-keys": { @@ -3176,8 +3171,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3186,7 +3181,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3195,7 +3190,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3204,9 +3199,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -3223,12 +3218,12 @@ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" } }, "delayed-stream": { @@ -3254,8 +3249,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "destroy": { @@ -3270,7 +3265,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "detect-node": { @@ -3291,9 +3286,9 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" } }, "dmg-builder": { @@ -3302,14 +3297,14 @@ "integrity": "sha512-AoBHrC7ARxMurEMgvshcW4br1JWgqBqLtxRtEnt2W6ScYWYsTFPAur7CNxtm1vI94rEIgBiH7lg0Q+OZNRnVvQ==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", - "builder-util": "^5.7.6", - "electron-builder-lib": "~20.9.0", - "fs-extra-p": "^4.5.2", - "iconv-lite": "^0.4.21", - "js-yaml": "^3.11.0", - "parse-color": "^1.0.0", - "sanitize-filename": "^1.6.1" + "bluebird-lst": "1.0.5", + "builder-util": "5.7.10", + "electron-builder-lib": "20.9.2", + "fs-extra-p": "4.6.0", + "iconv-lite": "0.4.21", + "js-yaml": "3.11.0", + "parse-color": "1.0.0", + "sanitize-filename": "1.6.1" }, "dependencies": { "ansi-styles": { @@ -3318,7 +3313,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -3327,9 +3322,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "debug": { @@ -3347,30 +3342,30 @@ "integrity": "sha512-V0XQU8Va4T3ZC/saOTxEB9AxmClmEuS1afsAcY5dLbbTKdPrIv3t0vU/zN1rYxYb01dB6pLcGP6eRmgxTefhQQ==", "dev": true, "requires": { - "7zip-bin": "~3.1.0", + "7zip-bin": "3.1.0", "app-builder-bin": "1.8.6", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.5", + "async-exit-hook": "2.0.1", + "bluebird-lst": "1.0.5", "builder-util": "5.7.8", "builder-util-runtime": "4.2.0", - "chromium-pickle-js": "^0.2.0", - "debug": "^3.1.0", - "ejs": "^2.5.9", + "chromium-pickle-js": "0.2.0", + "debug": "3.1.0", + "ejs": "2.6.1", "electron-osx-sign": "0.4.10", "electron-publish": "20.9.0", - "fs-extra-p": "^4.5.2", - "hosted-git-info": "^2.6.0", - "is-ci": "^1.1.0", - "isbinaryfile": "^3.0.2", - "js-yaml": "^3.11.0", - "lazy-val": "^1.0.3", - "minimatch": "^3.0.4", - "normalize-package-data": "^2.4.0", - "plist": "^3.0.1", + "fs-extra-p": "4.6.0", + "hosted-git-info": "2.6.0", + "is-ci": "1.1.0", + "isbinaryfile": "3.0.2", + "js-yaml": "3.11.0", + "lazy-val": "1.0.3", + "minimatch": "3.0.4", + "normalize-package-data": "2.4.0", + "plist": "3.0.1", "read-config-file": "3.0.0", - "sanitize-filename": "^1.6.1", - "semver": "^5.5.0", - "temp-file": "^3.1.1" + "sanitize-filename": "1.6.1", + "semver": "5.5.0", + "temp-file": "3.1.2" }, "dependencies": { "builder-util": { @@ -3379,20 +3374,20 @@ "integrity": "sha512-4GuYgxBpLWk4LGh/6r58extk4cnyM+wOp+pEUNbRVHP1KuljDAHnvTvBMewrG5IXGpYzGhhUDCtRaO/85u9JYw==", "dev": true, "requires": { - "7zip-bin": "~3.1.0", + "7zip-bin": "3.1.0", "app-builder-bin": "1.8.6", - "bluebird-lst": "^1.0.5", - "builder-util-runtime": "^4.2.0", - "chalk": "^2.3.2", - "debug": "^3.1.0", - "fs-extra-p": "^4.5.2", - "is-ci": "^1.1.0", - "js-yaml": "^3.11.0", - "lazy-val": "^1.0.3", - "semver": "^5.5.0", - "source-map-support": "^0.5.4", - "stat-mode": "^0.2.2", - "temp-file": "^3.1.1" + "bluebird-lst": "1.0.5", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.1", + "debug": "3.1.0", + "fs-extra-p": "4.6.0", + "is-ci": "1.1.0", + "js-yaml": "3.11.0", + "lazy-val": "1.0.3", + "semver": "5.5.0", + "source-map-support": "0.5.5", + "stat-mode": "0.2.2", + "temp-file": "3.1.2" } } } @@ -3415,8 +3410,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "source-map-support": { @@ -3425,8 +3420,8 @@ "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "buffer-from": "1.0.0", + "source-map": "0.6.1" } }, "supports-color": { @@ -3435,7 +3430,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -3452,8 +3447,8 @@ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "ip": "1.1.5", + "safe-buffer": "5.1.2" } }, "dns-txt": { @@ -3462,7 +3457,24 @@ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { - "buffer-indexof": "^1.0.0" + "buffer-indexof": "1.1.1" + } + }, + "dom-converter": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", + "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", + "dev": true, + "requires": { + "utila": "0.3.3" + }, + "dependencies": { + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } } }, "dom-serializer": { @@ -3470,8 +3482,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" + "domelementtype": "1.1.3", + "entities": "1.1.1" }, "dependencies": { "domelementtype": { @@ -3503,7 +3515,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "requires": { - "domelementtype": "1" + "domelementtype": "1.3.0" } }, "domutils": { @@ -3511,8 +3523,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0", - "domelementtype": "1" + "dom-serializer": "0.1.0", + "domelementtype": "1.3.0" } }, "dot-prop": { @@ -3521,7 +3533,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "dotenv": { @@ -3554,10 +3566,10 @@ "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" }, "dependencies": { "isarray": { @@ -3572,13 +3584,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -3587,7 +3599,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -3598,7 +3610,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1" } }, "ee-first": { @@ -3619,9 +3631,9 @@ "integrity": "sha512-SLCmnEqcpZD+GjNWcqRvr+CC8palbN6O/wlCcGJgUtPkQqwGiUg9V3FK4/0HnWdp0YQpmQrZh9BzqtW3Hiw96w==", "dev": true, "requires": { - "@types/node": "^8.0.24", - "electron-download": "^3.0.1", - "extract-zip": "^1.0.3" + "@types/node": "8.10.20", + "electron-download": "3.3.0", + "extract-zip": "1.6.7" }, "dependencies": { "@types/node": { @@ -3638,20 +3650,20 @@ "integrity": "sha512-pVaPw2L1j3v+oB5r9yJ1Smj1jWhwec9+c/gRwyDNmskMHJYpE+EkQgPe52NiMsP/A7xxQFPgcTD1lXgJFnb0Zg==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", + "bluebird-lst": "1.0.5", "builder-util": "5.7.10", "builder-util-runtime": "4.2.0", - "chalk": "^2.4.1", + "chalk": "2.4.1", "dmg-builder": "4.1.5", "electron-builder-lib": "20.11.1", "electron-download-tf": "4.3.4", - "fs-extra-p": "^4.5.2", - "is-ci": "^1.1.0", - "lazy-val": "^1.0.3", + "fs-extra-p": "4.6.0", + "is-ci": "1.1.0", + "lazy-val": "1.0.3", "read-config-file": "3.0.0", - "sanitize-filename": "^1.6.1", - "update-notifier": "^2.5.0", - "yargs": "^11.0.0" + "sanitize-filename": "1.6.1", + "update-notifier": "2.5.0", + "yargs": "11.0.0" }, "dependencies": { "ansi-styles": { @@ -3660,7 +3672,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -3669,9 +3681,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "debug": { @@ -3689,15 +3701,15 @@ "integrity": "sha512-SQYDGMLpTgty1bx3NycuDb7dNPzktVSdK2sqPZjyRocauq/uN/V4S2lcpFVLupaHhKlD8zozm9fTpm5UdohvTg==", "dev": true, "requires": { - "debug": "^3.0.0", - "env-paths": "^1.0.0", - "fs-extra": "^4.0.1", - "minimist": "^1.2.0", - "nugget": "^2.0.1", - "path-exists": "^3.0.0", - "rc": "^1.2.1", - "semver": "^5.4.1", - "sumchecker": "^2.0.2" + "debug": "3.1.0", + "env-paths": "1.0.0", + "fs-extra": "4.0.3", + "minimist": "1.2.0", + "nugget": "2.0.1", + "path-exists": "3.0.0", + "rc": "1.2.7", + "semver": "5.5.0", + "sumchecker": "2.0.2" } }, "fs-extra": { @@ -3706,9 +3718,9 @@ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" } }, "has-flag": { @@ -3723,7 +3735,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "minimist": { @@ -3738,7 +3750,7 @@ "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", "dev": true, "requires": { - "debug": "^2.2.0" + "debug": "2.6.9" }, "dependencies": { "debug": { @@ -3758,7 +3770,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -3769,30 +3781,30 @@ "integrity": "sha512-sK0Fdvrsqmx4UtCG58sA6udYWGY8aVAbSGlVOzzJE2A+rQZBb+gMOttnF6dyrNCy5Vw6eBkPWS80eIJXMF40pQ==", "dev": true, "requires": { - "7zip-bin": "~3.1.0", + "7zip-bin": "3.1.0", "app-builder-bin": "1.8.6", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.5", + "async-exit-hook": "2.0.1", + "bluebird-lst": "1.0.5", "builder-util": "5.7.10", "builder-util-runtime": "4.2.0", - "chromium-pickle-js": "^0.2.0", - "debug": "^3.1.0", - "ejs": "^2.5.9", + "chromium-pickle-js": "0.2.0", + "debug": "3.1.0", + "ejs": "2.6.1", "electron-osx-sign": "0.4.10", "electron-publish": "20.11.0", - "fs-extra-p": "^4.5.2", - "hosted-git-info": "^2.6.0", - "is-ci": "^1.1.0", - "isbinaryfile": "^3.0.2", - "js-yaml": "^3.11.0", - "lazy-val": "^1.0.3", - "minimatch": "^3.0.4", - "normalize-package-data": "^2.4.0", - "plist": "^3.0.1", + "fs-extra-p": "4.6.0", + "hosted-git-info": "2.6.0", + "is-ci": "1.1.0", + "isbinaryfile": "3.0.2", + "js-yaml": "3.11.0", + "lazy-val": "1.0.3", + "minimatch": "3.0.4", + "normalize-package-data": "2.4.0", + "plist": "3.0.1", "read-config-file": "3.0.0", - "sanitize-filename": "^1.6.1", - "semver": "^5.5.0", - "temp-file": "^3.1.1" + "sanitize-filename": "1.6.1", + "semver": "5.5.0", + "temp-file": "3.1.2" }, "dependencies": { "ansi-styles": { @@ -3801,7 +3813,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -3810,9 +3822,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "debug": { @@ -3830,13 +3842,13 @@ "integrity": "sha512-oq8VcXJ1FSgxX4Z13oOutvj0TKbRCtqkpzOYlB2jU+wnfqaK2sYoz2zI1px6IjsX4LQ7m5Fa9POVmKndnCE5lw==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", - "builder-util": "^5.7.10", - "builder-util-runtime": "^4.2.0", - "chalk": "^2.4.1", - "fs-extra-p": "^4.5.2", - "lazy-val": "^1.0.3", - "mime": "^2.3.1" + "bluebird-lst": "1.0.5", + "builder-util": "5.7.10", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.1", + "fs-extra-p": "4.6.0", + "lazy-val": "1.0.3", + "mime": "2.3.1" } }, "esprima": { @@ -3857,8 +3869,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } }, "supports-color": { @@ -3867,7 +3879,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -3880,8 +3892,8 @@ "requires": { "7zip": "0.0.6", "cross-unzip": "0.0.2", - "rimraf": "^2.5.2", - "semver": "^5.3.0" + "rimraf": "2.6.2", + "semver": "5.5.0" } }, "electron-download": { @@ -3890,15 +3902,15 @@ "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", "dev": true, "requires": { - "debug": "^2.2.0", - "fs-extra": "^0.30.0", - "home-path": "^1.0.1", - "minimist": "^1.2.0", - "nugget": "^2.0.0", - "path-exists": "^2.1.0", - "rc": "^1.1.2", - "semver": "^5.3.0", - "sumchecker": "^1.2.0" + "debug": "2.6.9", + "fs-extra": "0.30.0", + "home-path": "1.0.6", + "minimist": "1.2.0", + "nugget": "2.0.1", + "path-exists": "2.1.0", + "rc": "1.2.7", + "semver": "5.5.0", + "sumchecker": "1.3.1" }, "dependencies": { "minimist": { @@ -3913,7 +3925,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } } } @@ -3924,12 +3936,12 @@ "integrity": "sha1-vk87ibKnWh3F8eckkIGrKSnKOiY=", "dev": true, "requires": { - "bluebird": "^3.5.0", - "compare-version": "^0.1.2", - "debug": "^2.6.8", - "isbinaryfile": "^3.0.2", - "minimist": "^1.2.0", - "plist": "^2.1.0" + "bluebird": "3.5.1", + "compare-version": "0.1.2", + "debug": "2.6.9", + "isbinaryfile": "3.0.2", + "minimist": "1.2.0", + "plist": "2.1.0" }, "dependencies": { "base64-js": { @@ -3952,7 +3964,7 @@ "requires": { "base64-js": "1.2.0", "xmlbuilder": "8.2.2", - "xmldom": "0.1.x" + "xmldom": "0.1.27" } } } @@ -3968,13 +3980,13 @@ "integrity": "sha512-Fqc+XpSDssHUX2+qKIV3fEi3y25PRzO3lD4l/Bfk/OSSnITHBr3DMBkxE7Z3lvqwGs/9fYEzon/sdV17mtR5sQ==", "dev": true, "requires": { - "bluebird-lst": "^1.0.5", - "builder-util": "^5.7.6", - "builder-util-runtime": "^4.2.0", - "chalk": "^2.3.2", - "fs-extra-p": "^4.5.2", - "lazy-val": "^1.0.3", - "mime": "^2.3.1" + "bluebird-lst": "1.0.5", + "builder-util": "5.7.10", + "builder-util-runtime": "4.2.0", + "chalk": "2.4.1", + "fs-extra-p": "4.6.0", + "lazy-val": "1.0.3", + "mime": "2.3.1" }, "dependencies": { "ansi-styles": { @@ -3983,7 +3995,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -3992,9 +4004,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -4009,7 +4021,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -4026,13 +4038,13 @@ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.4", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "emojis-list": { @@ -4051,7 +4063,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.21" } }, "end-of-stream": { @@ -4060,7 +4072,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "^1.4.0" + "once": "1.4.0" } }, "enhanced-resolve": { @@ -4068,9 +4080,9 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz", "integrity": "sha512-jox/62b2GofV1qTUQTMPEJSDIGycS43evqYzD/KVtEb9OCoki9cnacUPxCrZa7JfPzZSYOCZhu9O9luaMxAX8g==", "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "tapable": "1.0.0" } }, "entities": { @@ -4089,7 +4101,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "requires": { - "prr": "~1.0.1" + "prr": "1.0.1" } }, "error-ex": { @@ -4098,7 +4110,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -4107,11 +4119,11 @@ "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.3", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -4120,9 +4132,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.3", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { @@ -4131,9 +4143,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-iterator": { @@ -4142,9 +4154,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" } }, "es6-promise": { @@ -4159,8 +4171,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "escape-html": { @@ -4180,11 +4192,11 @@ "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "optional": true, "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" + "esprima": "3.1.3", + "estraverse": "4.2.0", + "esutils": "2.0.2", + "optionator": "0.8.2", + "source-map": "0.6.1" } }, "eslint-scope": { @@ -4193,8 +4205,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "esprima": { @@ -4209,7 +4221,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { @@ -4234,13 +4246,13 @@ "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "dev": true, "requires": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", + "duplexer": "0.1.1", + "from": "0.1.7", + "map-stream": "0.1.0", "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" + "split": "0.3.3", + "stream-combiner": "0.0.4", + "through": "2.3.8" } }, "eventemitter3": { @@ -4261,7 +4273,7 @@ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "dev": true, "requires": { - "original": ">=0.0.5" + "original": "1.0.1" } }, "evp_bytestokey": { @@ -4270,8 +4282,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "md5.js": "1.3.4", + "safe-buffer": "5.1.2" } }, "execa": { @@ -4279,13 +4291,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" } }, "expand-brackets": { @@ -4294,13 +4306,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -4309,7 +4321,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -4318,7 +4330,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4329,36 +4341,36 @@ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.3.1", "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", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", + "proxy-addr": "2.0.3", "qs": "6.5.1", - "range-parser": "~1.2.0", + "range-parser": "1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "statuses": "1.4.0", + "type-is": "1.6.16", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "array-flatten": { @@ -4398,8 +4410,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -4408,7 +4420,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -4418,9 +4430,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.0.tgz", "integrity": "sha512-mpkfj0FEdxrIhOC04zk85X7StNtr0yXnG7zCb+8ikO8OJi2jsHh5YGoknNTyXgsbHOf1WOOcVU3kPFWT2WgCkQ==", "requires": { - "chardet": "^0.5.0", - "iconv-lite": "^0.4.22", - "tmp": "^0.0.33" + "chardet": "0.5.0", + "iconv-lite": "0.4.23", + "tmp": "0.0.33" }, "dependencies": { "iconv-lite": { @@ -4428,7 +4440,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } } } @@ -4439,14 +4451,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -4455,7 +4467,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -4464,7 +4476,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -4473,7 +4485,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -4482,7 +4494,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -4491,9 +4503,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -4504,10 +4516,10 @@ "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "dev": true, "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" + "async": "2.6.0", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.1.0" } }, "extract-zip": { @@ -4528,10 +4540,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "isarray": { @@ -4546,13 +4558,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -4561,7 +4573,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -4598,7 +4610,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } }, "fbjs": { @@ -4606,13 +4618,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.9" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fd-slicer": { @@ -4621,7 +4633,7 @@ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "dev": true, "requires": { - "pend": "~1.2.0" + "pend": "1.2.0" } }, "figures": { @@ -4629,7 +4641,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-loader": { @@ -4638,8 +4650,8 @@ "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" }, "dependencies": { "ajv": { @@ -4648,10 +4660,10 @@ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0", - "uri-js": "^3.0.2" + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1", + "uri-js": "3.0.2" } }, "schema-utils": { @@ -4660,8 +4672,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.4.0", + "ajv-keywords": "3.2.0" } } } @@ -4672,10 +4684,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -4684,7 +4696,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -4696,12 +4708,12 @@ "dev": true, "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", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" } }, "find-cache-dir": { @@ -4710,9 +4722,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^2.0.0" + "commondir": "1.0.1", + "make-dir": "1.2.0", + "pkg-dir": "2.0.0" } }, "find-up": { @@ -4720,7 +4732,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } }, "flatten": { @@ -4735,8 +4747,8 @@ "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.4" + "inherits": "2.0.3", + "readable-stream": "2.3.6" }, "dependencies": { "isarray": { @@ -4751,13 +4763,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -4766,7 +4778,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -4777,7 +4789,7 @@ "integrity": "sha512-HR2IjMkqJreoFm1Hx7hmMAtUFeo+ad8hPMYPo8o3YSWjbSq0sMwuXMbv4giB3TXngYB7+svkAJewQwwvwsE6xw==", "dev": true, "requires": { - "lodash": "^4.0.0" + "lodash": "4.17.10" } }, "follow-redirects": { @@ -4786,7 +4798,7 @@ "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "dev": true, "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" }, "dependencies": { "debug": { @@ -4817,7 +4829,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "^1.0.1" + "for-in": "1.0.2" } }, "foreach": { @@ -4836,9 +4848,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.18" } }, "forwarded": { @@ -4853,7 +4865,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "fresh": { @@ -4874,653 +4886,115 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "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-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^2.1.0", - "klaw": "^1.0.0", - "path-is-absolute": "^1.0.0", - "rimraf": "^2.2.8" - } - }, - "fs-extra-p": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.6.0.tgz", - "integrity": "sha512-nSVqB5UfWZQdU6pzBwcFh+7lJpBynnTsVtNJTBhAnAppUQRut0W7WeM271iS0TqQ9FoCqDXqyL0+h+h8DQUCpg==", - "dev": true, - "requires": { - "bluebird-lst": "^1.0.5", - "fs-extra": "^6.0.0" - }, - "dependencies": { - "fs-extra": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.0.tgz", - "integrity": "sha512-lk2cUCo8QzbiEWEbt7Cw3m27WMiRG321xsssbcIpfMhpRjrlC08WBOVQqj1/nQYYNnPtyIhP1oqLO3QwT2tPCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - } - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" + "inherits": "2.0.3", + "readable-stream": "2.3.6" }, "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": 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.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": "^2.1.0" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } + "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", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.0.5" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "safe-buffer": "5.1.2" } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, + } + } + }, + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1", + "path-is-absolute": "1.0.1", + "rimraf": "2.6.2" + } + }, + "fs-extra-p": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-4.6.0.tgz", + "integrity": "sha512-nSVqB5UfWZQdU6pzBwcFh+7lJpBynnTsVtNJTBhAnAppUQRut0W7WeM271iS0TqQ9FoCqDXqyL0+h+h8DQUCpg==", + "dev": true, + "requires": { + "bluebird-lst": "1.0.5", + "fs-extra": "6.0.0" + }, + "dependencies": { + "fs-extra": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-6.0.0.tgz", + "integrity": "sha512-lk2cUCo8QzbiEWEbt7Cw3m27WMiRG321xsssbcIpfMhpRjrlC08WBOVQqj1/nQYYNnPtyIhP1oqLO3QwT2tPCw==", "dev": true, - "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.1" } }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "optional": true, "requires": { - "string-width": "^1.0.2" + "graceful-fs": "4.1.11" } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true, - "dev": true } } }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "1.1.14" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, "fstream": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" } }, "function-bind": { @@ -5535,14 +5009,14 @@ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "dev": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" } }, "gaze": { @@ -5551,7 +5025,7 @@ "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", "dev": true, "requires": { - "globule": "^1.0.0" + "globule": "1.2.0" } }, "generate-function": { @@ -5566,7 +5040,7 @@ "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", "dev": true, "requires": { - "is-property": "^1.0.0" + "is-property": "1.0.2" } }, "get-caller-file": { @@ -5602,7 +5076,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -5611,12 +5085,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "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" + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } }, "glob-parent": { @@ -5625,8 +5099,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -5635,7 +5109,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -5646,8 +5120,8 @@ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "dev": true, "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" + "min-document": "2.19.0", + "process": "0.5.2" } }, "global-dirs": { @@ -5656,7 +5130,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "global-modules-path": { @@ -5676,11 +5150,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" }, "dependencies": { "pify": { @@ -5697,9 +5171,9 @@ "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "dev": true, "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.4", - "minimatch": "~3.0.2" + "glob": "7.1.2", + "lodash": "4.17.10", + "minimatch": "3.0.4" } }, "got": { @@ -5708,17 +5182,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } }, "graceful-fs": { @@ -5747,7 +5221,7 @@ "async": "1.5.0", "json-stringify-safe": "5.0.1", "loader-utils": "1.1.0", - "serialize-error": "^2.1.0" + "serialize-error": "2.1.0" }, "dependencies": { "async": { @@ -5768,8 +5242,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { @@ -5778,7 +5252,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "^1.0.2" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -5787,7 +5261,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { @@ -5813,9 +5287,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" } }, "has-values": { @@ -5824,8 +5298,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "kind-of": { @@ -5834,7 +5308,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -5845,8 +5319,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "hash.js": { @@ -5855,8 +5329,8 @@ "integrity": "sha512-A6RlQvvZEtFS5fLU43IDu0QUmBy+fDO9VMdTXvufKwIkt/rFfvICAViCax5fbDO4zdNzaC3/27ZhKUok5bAJyw==", "dev": true, "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.0" + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" } }, "hawk": { @@ -5864,10 +5338,10 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" } }, "he": { @@ -5881,11 +5355,11 @@ "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { - "invariant": "^2.2.1", - "loose-envify": "^1.2.0", - "resolve-pathname": "^2.2.0", - "value-equal": "^0.4.0", - "warning": "^3.0.0" + "invariant": "2.2.4", + "loose-envify": "1.3.1", + "resolve-pathname": "2.2.0", + "value-equal": "0.4.0", + "warning": "3.0.0" } }, "hmac-drbg": { @@ -5894,9 +5368,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "hash.js": "1.1.4", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" } }, "hoek": { @@ -5915,8 +5389,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "home-path": { @@ -5937,10 +5411,10 @@ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "inherits": "2.0.3", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "wbuf": "1.7.3" }, "dependencies": { "isarray": { @@ -5955,13 +5429,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -5970,7 +5444,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -5986,16 +5460,78 @@ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" }, + "html-minifier": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.17.tgz", + "integrity": "sha512-O+StuKL0UWfwX5Zv4rFxd60DPcT5DVjGq1AlnP6VQ8wzudft/W4hx5Wl98aSYNwFBHY6XWJreRw/BehX4l+diQ==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.1.11", + "commander": "2.15.1", + "he": "1.1.1", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.4.2" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", + "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", + "dev": true + }, + "uglify-js": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.2.tgz", + "integrity": "sha512-/kVQDzwiE9Vy7Y63eMkMozF4jIt0C2+xHctF9YpqNWdE/NLOuMurshkpoYGUlAbeYhACPv0HJPIHJul0Ak4/uw==", + "dev": true, + "requires": { + "commander": "2.15.1", + "source-map": "0.6.1" + } + } + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "3.5.17", + "loader-utils": "0.2.17", + "lodash": "4.17.10", + "pretty-error": "2.1.1", + "tapable": "1.0.0", + "toposort": "1.0.7", + "util.promisify": "1.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, "htmlparser2": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" + "domelementtype": "1.3.0", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" }, "dependencies": { "entities": { @@ -6017,10 +5553,10 @@ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.4.0" } }, "http-parser-js": { @@ -6035,9 +5571,9 @@ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "dev": true, "requires": { - "eventemitter3": "^3.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "eventemitter3": "3.1.0", + "follow-redirects": "1.5.0", + "requires-port": "1.0.0" } }, "http-proxy-middleware": { @@ -6046,10 +5582,10 @@ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { - "http-proxy": "^1.16.2", - "is-glob": "^4.0.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.9" + "http-proxy": "1.17.0", + "is-glob": "4.0.0", + "lodash": "4.17.10", + "micromatch": "3.1.10" } }, "http-signature": { @@ -6057,9 +5593,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" } }, "https-browserify": { @@ -6073,7 +5609,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "icss-replace-symbols": { @@ -6088,7 +5624,7 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "^6.0.1" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { @@ -6097,7 +5633,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -6106,9 +5642,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -6123,9 +5659,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" } }, "supports-color": { @@ -6134,7 +5670,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6161,8 +5697,8 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "requires": { - "pkg-dir": "^2.0.0", - "resolve-cwd": "^2.0.0" + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" } }, "imurmurhash": { @@ -6183,7 +5719,7 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "^2.0.0" + "repeating": "2.0.1" } }, "indexes-of": { @@ -6204,8 +5740,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -6224,19 +5760,19 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.0.0.tgz", "integrity": "sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg==", "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.0", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "3.0.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.1.0", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rxjs": "6.2.1", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" }, "dependencies": { "ansi-regex": { @@ -6249,7 +5785,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -6257,9 +5793,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -6277,8 +5813,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -6286,7 +5822,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -6294,7 +5830,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -6305,7 +5841,7 @@ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "dev": true, "requires": { - "meow": "^3.3.0" + "meow": "3.7.0" } }, "interpret": { @@ -6318,7 +5854,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { @@ -6350,7 +5886,7 @@ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6359,7 +5895,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6376,7 +5912,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-buffer": { @@ -6390,7 +5926,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { @@ -6405,7 +5941,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { @@ -6414,7 +5950,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6423,7 +5959,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6440,9 +5976,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { @@ -6471,7 +6007,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-fullwidth-code-point": { @@ -6479,7 +6015,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "is-glob": { @@ -6488,7 +6024,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -6497,8 +6033,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-my-ip-valid": { @@ -6513,11 +6049,11 @@ "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", "dev": true, "requires": { - "generate-function": "^2.0.0", - "generate-object-property": "^1.1.0", - "is-my-ip-valid": "^1.0.0", - "jsonpointer": "^4.0.0", - "xtend": "^4.0.0" + "generate-function": "2.0.0", + "generate-object-property": "1.2.0", + "is-my-ip-valid": "1.0.0", + "jsonpointer": "4.0.1", + "xtend": "4.0.1" }, "dependencies": { "xtend": { @@ -6540,7 +6076,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -6549,7 +6085,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -6566,7 +6102,7 @@ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { @@ -6589,7 +6125,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -6598,7 +6134,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -6612,7 +6148,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "is-promise": { @@ -6638,7 +6174,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.1" } }, "is-retry-allowed": { @@ -6658,7 +6194,7 @@ "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", "dev": true, "requires": { - "html-comment-regex": "^1.1.0" + "html-comment-regex": "1.1.1" } }, "is-symbol": { @@ -6716,8 +6252,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.4" } }, "isstream": { @@ -6742,8 +6278,8 @@ "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^2.6.0" + "argparse": "1.0.10", + "esprima": "2.7.3" }, "dependencies": { "esprima": { @@ -6766,21 +6302,21 @@ "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", "optional": true, "requires": { - "abab": "^1.0.0", - "acorn": "^2.4.0", - "acorn-globals": "^1.0.4", - "cssom": ">= 0.3.0 < 0.4.0", - "cssstyle": ">= 0.2.29 < 0.3.0", - "escodegen": "^1.6.1", - "nwmatcher": ">= 1.3.7 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.55.0", - "sax": "^1.1.4", - "symbol-tree": ">= 3.1.0 < 4.0.0", - "tough-cookie": "^2.2.0", - "webidl-conversions": "^2.0.0", - "whatwg-url-compat": "~0.6.5", - "xml-name-validator": ">= 2.0.1 < 3.0.0" + "abab": "1.0.4", + "acorn": "2.7.0", + "acorn-globals": "1.0.9", + "cssom": "0.3.2", + "cssstyle": "0.2.37", + "escodegen": "1.9.1", + "nwmatcher": "1.4.4", + "parse5": "1.5.1", + "request": "2.85.0", + "sax": "1.2.4", + "symbol-tree": "3.2.2", + "tough-cookie": "2.3.4", + "webidl-conversions": "2.0.1", + "whatwg-url-compat": "0.6.5", + "xml-name-validator": "2.0.1" } }, "jsesc": { @@ -6827,7 +6363,7 @@ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsonify": { @@ -6876,7 +6412,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "^4.1.9" + "graceful-fs": "4.1.11" } }, "latest-version": { @@ -6885,7 +6421,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-val": { @@ -6899,7 +6435,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "leb": { @@ -6914,8 +6450,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "optional": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { @@ -6924,11 +6460,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" }, "dependencies": { "pify": { @@ -6950,9 +6486,9 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" } }, "locate-path": { @@ -6960,8 +6496,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" } }, "lodash": { @@ -7028,7 +6564,7 @@ "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "^2.0.1" + "chalk": "2.4.1" }, "dependencies": { "ansi-styles": { @@ -7037,7 +6573,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -7046,9 +6582,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -7063,7 +6599,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -7080,8 +6616,8 @@ "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", "dev": true, "requires": { - "es6-symbol": "^3.1.1", - "object.assign": "^4.1.0" + "es6-symbol": "3.1.1", + "object.assign": "4.1.0" } }, "long": { @@ -7095,7 +6631,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" } }, "loud-rejection": { @@ -7104,8 +6640,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowdb": { @@ -7113,13 +6649,19 @@ "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", "requires": { - "graceful-fs": "^4.1.3", - "is-promise": "^2.1.0", - "lodash": "4", - "pify": "^3.0.0", - "steno": "^0.4.1" + "graceful-fs": "4.1.11", + "is-promise": "2.1.0", + "lodash": "4.17.10", + "pify": "3.0.0", + "steno": "0.4.4" } }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -7131,8 +6673,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "m3u8stream": { @@ -7140,7 +6682,7 @@ "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.2.2.tgz", "integrity": "sha512-R/xWLXBtVr0m9sPruRL4p9uO01JyHxhcQ4nhqQhVgyT802OZyVW+dn+fWHvTnbfE6YMLc65TksZZut+Mh2OVMQ==", "requires": { - "miniget": "^1.1.0" + "miniget": "1.2.0" } }, "macaddress": { @@ -7155,7 +6697,7 @@ "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "mamacro": { @@ -7188,7 +6730,7 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" } }, "math-expression-evaluator": { @@ -7202,9 +6744,9 @@ "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", "requires": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "1.1.6" } }, "md5.js": { @@ -7213,8 +6755,8 @@ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "media-typer": { @@ -7228,7 +6770,7 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "memoize-one": { @@ -7241,8 +6783,8 @@ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "errno": "0.1.7", + "readable-stream": "2.3.6" }, "dependencies": { "isarray": { @@ -7255,13 +6797,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -7269,7 +6811,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -7286,16 +6828,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" }, "dependencies": { "minimist": { @@ -7324,19 +6866,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "miller-rabin": { @@ -7345,8 +6887,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "bn.js": "4.11.8", + "brorand": "1.1.0" } }, "mime": { @@ -7365,7 +6907,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { @@ -7379,7 +6921,7 @@ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { - "dom-walk": "^0.1.0" + "dom-walk": "0.1.1" } }, "miniget": { @@ -7405,7 +6947,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -7420,16 +6962,16 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^2.0.1", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" + "concat-stream": "1.6.0", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.5.0", + "stream-each": "1.2.2", + "through2": "2.0.3" }, "dependencies": { "isarray": { @@ -7444,13 +6986,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -7459,7 +7001,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "through2": { @@ -7468,8 +7010,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" + "readable-stream": "2.3.6", + "xtend": "4.0.1" } }, "xtend": { @@ -7486,8 +7028,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { @@ -7496,7 +7038,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } @@ -7507,8 +7049,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "^0.1.3", - "is-extendable": "^0.1.1" + "for-in": "0.1.8", + "is-extendable": "0.1.1" }, "dependencies": { "for-in": { @@ -7568,7 +7110,7 @@ "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { - "has-flag": "^2.0.0" + "has-flag": "2.0.0" } } } @@ -7584,12 +7126,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" } }, "mpris-service": { @@ -7598,7 +7140,7 @@ "integrity": "sha1-GUup8v3+Vsgg3YvbFMd8RUoDqlg=", "optional": true, "requires": { - "dbus": "^0.2.11" + "dbus": "0.2.23" }, "dependencies": { "dbus": { @@ -7607,7 +7149,7 @@ "integrity": "sha1-E3ZHeco8CB51CG2CFjb8IVvZvAE=", "optional": true, "requires": { - "nan": "^2.1.0" + "nan": "2.10.0" } } } @@ -7624,8 +7166,8 @@ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "dns-packet": "1.3.1", + "thunky": "1.0.2" } }, "multicast-dns-service-types": { @@ -7650,18 +7192,18 @@ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" } }, "negotiator": { @@ -7687,13 +7229,22 @@ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.4.tgz", "integrity": "sha512-2NpiFHqC87y/zFke0fC0spBXL3bBsoh/p5H1EFhshxjCR5+0g2d6BiXbUFz9v1sAcxsk2htp2eQnNIci2dIYcA==" }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" + "encoding": "0.1.12", + "is-stream": "1.1.0" } }, "node-forge": { @@ -7708,19 +7259,19 @@ "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", "dev": true, "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "2", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.85.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.0" }, "dependencies": { "semver": { @@ -7737,28 +7288,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^1.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.10.3", + "url": "0.11.0", + "util": "0.10.4", "vm-browserify": "0.0.4" }, "dependencies": { @@ -7768,9 +7319,9 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "base64-js": "1.3.0", + "ieee754": "1.1.11", + "isarray": "1.0.0" } }, "isarray": { @@ -7791,13 +7342,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -7806,7 +7357,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -7823,25 +7374,25 @@ "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", "dev": true, "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "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", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.10.0", - "node-gyp": "^3.3.1", - "npmlog": "^4.0.0", - "request": "~2.79.0", - "sass-graph": "^2.2.4", - "stdout-stream": "^1.4.0", - "true-case-path": "^1.0.2" + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.2", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.10.0", + "node-gyp": "3.6.2", + "npmlog": "4.1.2", + "request": "2.79.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" }, "dependencies": { "assert-plus": { @@ -7862,7 +7413,7 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "caseless": { @@ -7877,8 +7428,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" + "lru-cache": "4.1.2", + "which": "1.3.0" } }, "cryptiles": { @@ -7887,7 +7438,7 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.x.x" + "boom": "2.10.1" } }, "form-data": { @@ -7896,9 +7447,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.5", - "mime-types": "^2.1.12" + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" } }, "har-validator": { @@ -7907,10 +7458,10 @@ "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, "requires": { - "chalk": "^1.1.1", - "commander": "^2.9.0", - "is-my-json-valid": "^2.12.4", - "pinkie-promise": "^2.0.0" + "chalk": "1.1.3", + "commander": "2.11.0", + "is-my-json-valid": "2.17.2", + "pinkie-promise": "2.0.1" } }, "hawk": { @@ -7919,10 +7470,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.x.x", - "cryptiles": "2.x.x", - "hoek": "2.x.x", - "sntp": "1.x.x" + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" } }, "hoek": { @@ -7937,9 +7488,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "^0.2.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" } }, "qs": { @@ -7954,26 +7505,26 @@ "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, "requires": { - "aws-sign2": "~0.6.0", - "aws4": "^1.2.1", - "caseless": "~0.11.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.0", - "forever-agent": "~0.6.1", - "form-data": "~2.1.1", - "har-validator": "~2.0.6", - "hawk": "~3.1.3", - "http-signature": "~1.1.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.7", - "oauth-sign": "~0.8.1", - "qs": "~6.3.0", - "stringstream": "~0.0.4", - "tough-cookie": "~2.3.0", - "tunnel-agent": "~0.4.1", - "uuid": "^3.0.0" + "aws-sign2": "0.6.0", + "aws4": "1.7.0", + "caseless": "0.11.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "2.0.6", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "qs": "6.3.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.4.3", + "uuid": "3.2.1" } }, "sntp": { @@ -7982,7 +7533,7 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.x.x" + "hoek": "2.16.3" } }, "tunnel-agent": { @@ -8005,7 +7556,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1" + "abbrev": "1.1.1" } }, "normalize-package-data": { @@ -8014,10 +7565,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { @@ -8026,7 +7577,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "remove-trailing-separator": "1.1.0" } }, "normalize-range": { @@ -8041,10 +7592,10 @@ "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "dev": true, "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" } }, "npm-run-all": { @@ -8053,15 +7604,15 @@ "integrity": "sha512-Z2aRlajMK4SQ8u19ZA75NZZu7wupfCNQWdYosIi8S6FgBdGf/8Y6Hgyjdc8zU2cYmIRVCx1nM80tJPkdEd+UYg==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "chalk": "^2.1.0", - "cross-spawn": "^5.1.0", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "ps-tree": "^1.1.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" + "ansi-styles": "3.2.1", + "chalk": "2.4.1", + "cross-spawn": "5.1.0", + "memorystream": "0.3.1", + "minimatch": "3.0.4", + "ps-tree": "1.1.0", + "read-pkg": "3.0.0", + "shell-quote": "1.6.1", + "string.prototype.padend": "3.0.0" }, "dependencies": { "ansi-styles": { @@ -8070,7 +7621,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -8079,9 +7630,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -8096,10 +7647,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "4.0.0", + "pify": "3.0.0", + "strip-bom": "3.0.0" } }, "parse-json": { @@ -8108,8 +7659,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.2" } }, "path-type": { @@ -8118,7 +7669,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" } }, "read-pkg": { @@ -8127,9 +7678,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" + "load-json-file": "4.0.0", + "normalize-package-data": "2.4.0", + "path-type": "3.0.0" } }, "strip-bom": { @@ -8144,7 +7695,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -8154,7 +7705,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "^2.0.0" + "path-key": "2.0.1" } }, "npmlog": { @@ -8163,10 +7714,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "nth-check": { @@ -8174,7 +7725,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "requires": { - "boolbase": "~1.0.0" + "boolbase": "1.0.0" } }, "nugget": { @@ -8183,12 +7734,12 @@ "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", "dev": true, "requires": { - "debug": "^2.1.3", - "minimist": "^1.1.0", - "pretty-bytes": "^1.0.2", - "progress-stream": "^1.1.0", - "request": "^2.45.0", - "single-line-log": "^1.1.2", + "debug": "2.6.9", + "minimist": "1.2.0", + "pretty-bytes": "1.0.4", + "progress-stream": "1.2.0", + "request": "2.85.0", + "single-line-log": "1.1.2", "throttleit": "0.0.2" }, "dependencies": { @@ -8238,9 +7789,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { @@ -8249,7 +7800,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "kind-of": { @@ -8258,7 +7809,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -8275,7 +7826,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" } }, "object.assign": { @@ -8284,10 +7835,10 @@ "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" + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.0.12" }, "dependencies": { "object-keys": { @@ -8298,13 +7849,23 @@ } } }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "es-abstract": "1.11.0" + } + }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" } }, "obuf": { @@ -8334,7 +7895,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "onetime": { @@ -8342,7 +7903,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "opn": { @@ -8351,7 +7912,7 @@ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "is-wsl": "^1.1.0" + "is-wsl": "1.1.0" } }, "optionator": { @@ -8360,12 +7921,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "optional": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" } }, "original": { @@ -8374,7 +7935,7 @@ "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", "dev": true, "requires": { - "url-parse": "~1.4.0" + "url-parse": "1.4.1" } }, "os-browserify": { @@ -8394,9 +7955,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "os-tmpdir": { @@ -8410,8 +7971,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "p-finally": { @@ -8424,7 +7985,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { @@ -8432,7 +7993,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-map": { @@ -8452,10 +8013,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" } }, "pako": { @@ -8470,9 +8031,9 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "~0.2.2", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" }, "dependencies": { "isarray": { @@ -8487,13 +8048,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -8502,22 +8063,31 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, "parse-asn1": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3" + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" } }, "parse-color": { @@ -8526,7 +8096,7 @@ "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", "dev": true, "requires": { - "color-convert": "~0.5.0" + "color-convert": "0.5.3" }, "dependencies": { "color-convert": { @@ -8543,7 +8113,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "parse5": { @@ -8612,9 +8182,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" }, "dependencies": { "pify": { @@ -8637,7 +8207,7 @@ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "dev": true, "requires": { - "through": "~2.3" + "through": "2.3.8" } }, "pbkdf2": { @@ -8646,11 +8216,11 @@ "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", "dev": true, "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" } }, "pend": { @@ -8681,7 +8251,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pitchfork-bnm": { @@ -8689,8 +8259,8 @@ "resolved": "https://registry.npmjs.org/pitchfork-bnm/-/pitchfork-bnm-1.0.3.tgz", "integrity": "sha512-2N60Eot+P/9/c0/EwhSdDViivBsf0q9G1/zAo5gJhQ+6q34gfLM2GnMkWAmvmgFuSCmeXGfoigssh/D5UmbeqQ==", "requires": { - "cheerio": "^1.0.0-rc.2", - "isomorphic-fetch": "^2.2.1" + "cheerio": "1.0.0-rc.2", + "isomorphic-fetch": "2.2.1" }, "dependencies": { "cheerio": { @@ -8698,12 +8268,12 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" + "css-select": "1.2.0", + "dom-serializer": "0.1.0", + "entities": "1.1.1", + "htmlparser2": "3.9.2", + "lodash": "4.17.10", + "parse5": "3.0.3" } }, "htmlparser2": { @@ -8711,12 +8281,12 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "requires": { - "domelementtype": "^1.3.0", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^2.0.2" + "domelementtype": "1.3.0", + "domhandler": "2.3.0", + "domutils": "1.5.1", + "entities": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6" } }, "isarray": { @@ -8729,7 +8299,7 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "requires": { - "@types/node": "*" + "@types/node": "10.0.4" } }, "readable-stream": { @@ -8737,13 +8307,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -8751,7 +8321,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -8761,7 +8331,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "^2.1.0" + "find-up": "2.1.0" } }, "plist": { @@ -8770,9 +8340,9 @@ "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "dev": true, "requires": { - "base64-js": "^1.2.3", - "xmlbuilder": "^9.0.7", - "xmldom": "0.1.x" + "base64-js": "1.3.0", + "xmlbuilder": "9.0.7", + "xmldom": "0.1.27" }, "dependencies": { "xmlbuilder": { @@ -8789,9 +8359,9 @@ "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "dev": true, "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" }, "dependencies": { "async": { @@ -8814,10 +8384,10 @@ "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "dev": true, "requires": { - "chalk": "^1.1.3", - "js-base64": "^2.1.9", - "source-map": "^0.5.6", - "supports-color": "^3.2.3" + "chalk": "1.1.3", + "js-base64": "2.4.3", + "source-map": "0.5.7", + "supports-color": "3.2.3" }, "dependencies": { "source-map": { @@ -8834,9 +8404,9 @@ "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", "dev": true, "requires": { - "postcss": "^5.0.2", - "postcss-message-helpers": "^2.0.0", - "reduce-css-calc": "^1.2.6" + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" } }, "postcss-colormin": { @@ -8845,9 +8415,9 @@ "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", "dev": true, "requires": { - "colormin": "^1.0.5", - "postcss": "^5.0.13", - "postcss-value-parser": "^3.2.3" + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-convert-values": { @@ -8856,8 +8426,8 @@ "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", "dev": true, "requires": { - "postcss": "^5.0.11", - "postcss-value-parser": "^3.1.2" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-discard-comments": { @@ -8866,7 +8436,7 @@ "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", "dev": true, "requires": { - "postcss": "^5.0.14" + "postcss": "5.2.18" } }, "postcss-discard-duplicates": { @@ -8875,7 +8445,7 @@ "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", "dev": true, "requires": { - "postcss": "^5.0.4" + "postcss": "5.2.18" } }, "postcss-discard-empty": { @@ -8884,7 +8454,7 @@ "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", "dev": true, "requires": { - "postcss": "^5.0.14" + "postcss": "5.2.18" } }, "postcss-discard-overridden": { @@ -8893,7 +8463,7 @@ "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", "dev": true, "requires": { - "postcss": "^5.0.16" + "postcss": "5.2.18" } }, "postcss-discard-unused": { @@ -8902,8 +8472,8 @@ "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", "dev": true, "requires": { - "postcss": "^5.0.14", - "uniqs": "^2.0.0" + "postcss": "5.2.18", + "uniqs": "2.0.0" } }, "postcss-filter-plugins": { @@ -8912,8 +8482,8 @@ "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", "dev": true, "requires": { - "postcss": "^5.0.4", - "uniqid": "^4.0.0" + "postcss": "5.2.18", + "uniqid": "4.1.1" } }, "postcss-merge-idents": { @@ -8922,9 +8492,9 @@ "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", "dev": true, "requires": { - "has": "^1.0.1", - "postcss": "^5.0.10", - "postcss-value-parser": "^3.1.1" + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-merge-longhand": { @@ -8933,7 +8503,7 @@ "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", "dev": true, "requires": { - "postcss": "^5.0.4" + "postcss": "5.2.18" } }, "postcss-merge-rules": { @@ -8942,11 +8512,11 @@ "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", "dev": true, "requires": { - "browserslist": "^1.5.2", - "caniuse-api": "^1.5.2", - "postcss": "^5.0.4", - "postcss-selector-parser": "^2.2.2", - "vendors": "^1.0.0" + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.2" }, "dependencies": { "browserslist": { @@ -8955,8 +8525,8 @@ "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", "dev": true, "requires": { - "caniuse-db": "^1.0.30000639", - "electron-to-chromium": "^1.2.7" + "caniuse-db": "1.0.30000833", + "electron-to-chromium": "1.3.45" } } } @@ -8973,9 +8543,9 @@ "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", "dev": true, "requires": { - "object-assign": "^4.0.1", - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-minify-gradients": { @@ -8984,8 +8554,8 @@ "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", "dev": true, "requires": { - "postcss": "^5.0.12", - "postcss-value-parser": "^3.3.0" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-minify-params": { @@ -8994,10 +8564,10 @@ "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", "dev": true, "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.2", - "postcss-value-parser": "^3.0.2", - "uniqs": "^2.0.0" + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" } }, "postcss-minify-selectors": { @@ -9006,10 +8576,10 @@ "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", "dev": true, "requires": { - "alphanum-sort": "^1.0.2", - "has": "^1.0.1", - "postcss": "^5.0.14", - "postcss-selector-parser": "^2.0.0" + "alphanum-sort": "1.0.2", + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" } }, "postcss-modules-extract-imports": { @@ -9018,7 +8588,7 @@ "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { - "postcss": "^6.0.1" + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { @@ -9027,7 +8597,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -9036,9 +8606,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -9053,9 +8623,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" } }, "supports-color": { @@ -9064,7 +8634,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -9075,8 +8645,8 @@ "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { @@ -9085,7 +8655,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -9094,9 +8664,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -9111,9 +8681,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" } }, "supports-color": { @@ -9122,7 +8692,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -9133,8 +8703,8 @@ "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { @@ -9143,7 +8713,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -9152,9 +8722,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -9169,9 +8739,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" } }, "supports-color": { @@ -9180,7 +8750,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -9191,8 +8761,8 @@ "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.22" }, "dependencies": { "ansi-styles": { @@ -9201,7 +8771,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -9210,9 +8780,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -9227,9 +8797,9 @@ "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", "dev": true, "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" } }, "supports-color": { @@ -9238,7 +8808,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -9249,7 +8819,7 @@ "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", "dev": true, "requires": { - "postcss": "^5.0.5" + "postcss": "5.2.18" } }, "postcss-normalize-url": { @@ -9258,10 +8828,10 @@ "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", "dev": true, "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^1.4.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3" + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-ordered-values": { @@ -9270,8 +8840,8 @@ "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", "dev": true, "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.1" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-reduce-idents": { @@ -9280,8 +8850,8 @@ "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", "dev": true, "requires": { - "postcss": "^5.0.4", - "postcss-value-parser": "^3.0.2" + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-reduce-initial": { @@ -9290,7 +8860,7 @@ "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", "dev": true, "requires": { - "postcss": "^5.0.4" + "postcss": "5.2.18" } }, "postcss-reduce-transforms": { @@ -9299,9 +8869,9 @@ "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", "dev": true, "requires": { - "has": "^1.0.1", - "postcss": "^5.0.8", - "postcss-value-parser": "^3.0.1" + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" } }, "postcss-selector-parser": { @@ -9310,9 +8880,9 @@ "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", "dev": true, "requires": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" } }, "postcss-svgo": { @@ -9321,10 +8891,10 @@ "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", "dev": true, "requires": { - "is-svg": "^2.0.0", - "postcss": "^5.0.14", - "postcss-value-parser": "^3.2.3", - "svgo": "^0.7.0" + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" } }, "postcss-unique-selectors": { @@ -9333,9 +8903,9 @@ "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", "dev": true, "requires": { - "alphanum-sort": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" } }, "postcss-value-parser": { @@ -9349,9 +8919,9 @@ "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", "dev": true, "requires": { - "has": "^1.0.1", - "postcss": "^5.0.4", - "uniqs": "^2.0.0" + "has": "1.0.1", + "postcss": "5.2.18", + "uniqs": "2.0.0" } }, "prelude-ls": { @@ -9371,8 +8941,18 @@ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", "dev": true, "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" + "get-stdin": "4.0.1", + "meow": "3.7.0" + } + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "2.0.1", + "utila": "0.4.0" } }, "private": { @@ -9398,8 +8978,8 @@ "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", "dev": true, "requires": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" + "speedometer": "0.1.4", + "through2": "0.2.3" } }, "promise": { @@ -9407,7 +8987,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "promise-inflight": { @@ -9421,9 +9001,9 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1" } }, "proxy-addr": { @@ -9432,7 +9012,7 @@ "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.6.0" } }, @@ -9447,7 +9027,7 @@ "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", "dev": true, "requires": { - "event-stream": "~3.3.0" + "event-stream": "3.3.4" } }, "pseudomap": { @@ -9461,11 +9041,11 @@ "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" } }, "pump": { @@ -9474,8 +9054,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "end-of-stream": "1.4.1", + "once": "1.4.0" } }, "pumpify": { @@ -9484,9 +9064,9 @@ "integrity": "sha512-UWi0klDoq8xtVzlMRgENV9F7iCTZExaJQSQL187UXsxpk9NnrKGqTqqUNYAKGOzucSOxs2+jUnRNI+rLviPhJg==", "dev": true, "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" + "duplexify": "3.6.0", + "inherits": "2.0.3", + "pump": "2.0.1" } }, "punycode": { @@ -9511,8 +9091,8 @@ "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", "dev": true, "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" } }, "querystring": { @@ -9538,7 +9118,7 @@ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "requires": { - "performance-now": "^2.1.0" + "performance-now": "2.1.0" } }, "raf-schd": { @@ -9552,7 +9132,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "^5.1.0" + "safe-buffer": "5.1.2" } }, "randomfill": { @@ -9561,8 +9141,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" } }, "range-parser": { @@ -9598,7 +9178,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "statuses": "1.4.0" } }, "iconv-lite": { @@ -9621,10 +9201,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { - "deep-extend": "^0.5.1", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -9640,10 +9220,10 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-beautiful-dnd": { @@ -9651,17 +9231,17 @@ "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-7.1.2.tgz", "integrity": "sha512-9gFO0q9sU+OxVGvFHzNXO8qZXWJGPplI6nEJasiMM3LoFvGijxBTlshSlNwE1ysBTkoYlcGz+Afd7ZoVkGDkHA==", "requires": { - "babel-runtime": "^6.26.0", - "css-box-model": "^0.0.12", - "memoize-one": "^3.1.1", - "prop-types": "^15.6.0", - "raf-schd": "^2.1.1", - "react-motion": "^0.5.2", - "react-redux": "^5.0.7", - "redux": "^4.0.0", - "redux-thunk": "^2.2.0", - "reselect": "^3.0.1", - "tiny-invariant": "^0.0.3" + "babel-runtime": "6.26.0", + "css-box-model": "0.0.12", + "memoize-one": "3.1.1", + "prop-types": "15.6.1", + "raf-schd": "2.1.1", + "react-motion": "0.5.2", + "react-redux": "5.0.7", + "redux": "4.0.0", + "redux-thunk": "2.2.0", + "reselect": "3.0.1", + "tiny-invariant": "0.0.3" }, "dependencies": { "redux": { @@ -9669,8 +9249,8 @@ "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz", "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", "requires": { - "loose-envify": "^1.1.0", - "symbol-observable": "^1.2.0" + "loose-envify": "1.3.1", + "symbol-observable": "1.2.0" } } } @@ -9681,8 +9261,8 @@ "integrity": "sha1-aXjGBh2Jj1SfQEF/sNLrvs9Qqqo=", "dev": true, "requires": { - "lodash.debounce": "^4", - "prop-types": "^15" + "lodash.debounce": "4.0.8", + "prop-types": "15.6.1" } }, "react-dom": { @@ -9690,10 +9270,10 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz", "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.16", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.1" } }, "react-fontawesome": { @@ -9702,7 +9282,7 @@ "integrity": "sha1-7dzhfn3HMaoJ/UoYZoimF5OhbFw=", "dev": true, "requires": { - "prop-types": "^15.5.6" + "prop-types": "15.6.1" } }, "react-hot-loader": { @@ -9711,11 +9291,11 @@ "integrity": "sha512-TxgvDJj/EuY05VXyPBYSWuGVGNd2g0K6WJxaOwjgAl1/1Hqni1BmMXnw6k/DGYeB1prh0jpB1N1x15ZEVytSSw==", "dev": true, "requires": { - "fast-levenshtein": "^2.0.6", - "global": "^4.3.0", - "hoist-non-react-statics": "^2.5.0", - "prop-types": "^15.6.0", - "shallowequal": "^1.0.2" + "fast-levenshtein": "2.0.6", + "global": "4.3.2", + "hoist-non-react-statics": "2.5.0", + "prop-types": "15.6.1", + "shallowequal": "1.1.0" } }, "react-image-smooth-loading": { @@ -9733,9 +9313,9 @@ "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==", "requires": { - "performance-now": "^0.2.0", - "prop-types": "^15.5.8", - "raf": "^3.1.0" + "performance-now": "0.2.0", + "prop-types": "15.6.1", + "raf": "3.4.0" }, "dependencies": { "performance-now": { @@ -9750,12 +9330,12 @@ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", "requires": { - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.0.0", - "lodash": "^4.17.5", - "lodash-es": "^4.17.5", - "loose-envify": "^1.1.0", - "prop-types": "^15.6.0" + "hoist-non-react-statics": "2.5.0", + "invariant": "2.2.4", + "lodash": "4.17.10", + "lodash-es": "4.17.10", + "loose-envify": "1.3.1", + "prop-types": "15.6.1" } }, "react-router": { @@ -9763,13 +9343,13 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz", "integrity": "sha512-DY6pjwRhdARE4TDw7XjxjZsbx9lKmIcyZoZ+SDO7SBJ1KUeWNxT22Kara2AC7u6/c2SYEHlEDLnzBCcNhLE8Vg==", "requires": { - "history": "^4.7.2", - "hoist-non-react-statics": "^2.3.0", - "invariant": "^2.2.2", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.5.4", - "warning": "^3.0.0" + "history": "4.7.2", + "hoist-non-react-statics": "2.5.0", + "invariant": "2.2.4", + "loose-envify": "1.3.1", + "path-to-regexp": "1.7.0", + "prop-types": "15.6.1", + "warning": "3.0.0" } }, "react-router-dom": { @@ -9777,12 +9357,12 @@ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz", "integrity": "sha512-cHMFC1ZoLDfEaMFoKTjN7fry/oczMgRt5BKfMAkTu5zEuJvUiPp1J8d0eXSVTnBh6pxlbdqDhozunOOLtmKfPA==", "requires": { - "history": "^4.7.2", - "invariant": "^2.2.2", - "loose-envify": "^1.3.1", - "prop-types": "^15.5.4", - "react-router": "^4.2.0", - "warning": "^3.0.0" + "history": "4.7.2", + "invariant": "2.2.4", + "loose-envify": "1.3.1", + "prop-types": "15.6.1", + "react-router": "4.2.0", + "warning": "3.0.0" } }, "react-router-redux": { @@ -9796,9 +9376,9 @@ "resolved": "https://registry.npmjs.org/react-router-transition/-/react-router-transition-1.2.1.tgz", "integrity": "sha512-cwXhw/qLskkj0yBcdY3AcBc3g2z4SxFCZpq12h7lqFH56W5RurVevuiumwyirHEPAUHvtR0EmMkF/eRNJmaWcA==", "requires": { - "prop-types": "^15.5.10", - "react-motion": "^0.5.0", - "react-router-dom": "^4.1.1" + "prop-types": "15.6.1", + "react-motion": "0.5.2", + "react-router-dom": "4.2.2" } }, "react-sound": { @@ -9806,8 +9386,8 @@ "resolved": "https://registry.npmjs.org/react-sound/-/react-sound-1.2.0.tgz", "integrity": "sha512-pc2l8f7Oy3VePRRVesBwSSJ0mrCeD/lE5GVCT1RPdEQ7lgbZTDyWI8HokXHmS1v79aiLnd3WTRhfsBAY0NTb8g==", "requires": { - "prop-types": "^15.5.7", - "soundmanager2": "^2.97.20170602" + "prop-types": "15.6.1", + "soundmanager2": "2.97.20170602" } }, "read-config-file": { @@ -9816,15 +9396,15 @@ "integrity": "sha512-BVm//hhy9uxRbmeZrKAsUu6MUUNvtwkMrc3t15E79M1lLvg6ivHiwQYIEQK65ZtHCSautbgRY4rD8Z4skRk+4Q==", "dev": true, "requires": { - "ajv": "^6.1.1", - "ajv-keywords": "^3.1.0", - "bluebird-lst": "^1.0.5", - "dotenv": "^5.0.0", - "dotenv-expand": "^4.0.1", - "fs-extra-p": "^4.5.0", - "js-yaml": "^3.10.0", - "json5": "^0.5.1", - "lazy-val": "^1.0.3" + "ajv": "6.4.0", + "ajv-keywords": "3.2.0", + "bluebird-lst": "1.0.5", + "dotenv": "5.0.1", + "dotenv-expand": "4.2.0", + "fs-extra-p": "4.6.0", + "js-yaml": "3.11.0", + "json5": "0.5.1", + "lazy-val": "1.0.3" }, "dependencies": { "ajv": { @@ -9833,10 +9413,10 @@ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0", - "uri-js": "^3.0.2" + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1", + "uri-js": "3.0.2" } }, "esprima": { @@ -9851,8 +9431,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" } } } @@ -9863,9 +9443,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" } }, "read-pkg-up": { @@ -9874,8 +9454,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "1.1.2", + "read-pkg": "1.1.0" }, "dependencies": { "find-up": { @@ -9884,8 +9464,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "path-exists": { @@ -9894,7 +9474,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } } } @@ -9904,10 +9484,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", + "core-util-is": "1.0.2", + "inherits": "2.0.3", "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "string_decoder": "0.10.31" } }, "readdirp": { @@ -9916,10 +9496,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" }, "dependencies": { "isarray": { @@ -9934,13 +9514,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -9949,7 +9529,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -9960,8 +9540,8 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" } }, "reduce-css-calc": { @@ -9970,9 +9550,9 @@ "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", "dev": true, "requires": { - "balanced-match": "^0.4.2", - "math-expression-evaluator": "^1.2.14", - "reduce-function-call": "^1.0.1" + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" }, "dependencies": { "balanced-match": { @@ -9989,7 +9569,7 @@ "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", "dev": true, "requires": { - "balanced-match": "^0.4.2" + "balanced-match": "0.4.2" }, "dependencies": { "balanced-match": { @@ -10006,8 +9586,8 @@ "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", "dev": true, "requires": { - "loose-envify": "^1.1.0", - "symbol-observable": "^1.2.0" + "loose-envify": "1.3.1", + "symbol-observable": "1.2.0" } }, "redux-promise": { @@ -10016,8 +9596,8 @@ "integrity": "sha512-R2mGxJbPFgXyCNbFDE6LjTZhCEuACF54g1bxld3nqBhnRMX0OsUyWk77moF7UMGkUdl5WOAwc4BC5jOd1dunqQ==", "dev": true, "requires": { - "flux-standard-action": "^2.0.3", - "is-promise": "^2.1.0" + "flux-standard-action": "2.0.3", + "is-promise": "2.1.0" } }, "redux-thunk": { @@ -10042,9 +9622,9 @@ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { - "babel-runtime": "^6.18.0", - "babel-types": "^6.19.0", - "private": "^0.1.6" + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" } }, "regex-not": { @@ -10053,8 +9633,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpu-core": { @@ -10063,9 +9643,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" } }, "registry-auth-token": { @@ -10074,8 +9654,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.7", + "safe-buffer": "5.1.2" } }, "registry-url": { @@ -10084,7 +9664,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.7" } }, "regjsgen": { @@ -10099,7 +9679,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { @@ -10110,12 +9690,81 @@ } } }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", "dev": true }, + "renderkid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", + "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.1.4", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.3.3" + }, + "dependencies": { + "domhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.3.0" + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + } + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "utila": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", + "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", + "dev": true + } + } + }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", @@ -10134,7 +9783,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "^1.0.0" + "is-finite": "1.0.2" } }, "request": { @@ -10142,28 +9791,28 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "hawk": "~6.0.2", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "stringstream": "~0.0.5", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "stringstream": "0.0.5", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" } }, "require-directory": { @@ -10192,7 +9841,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "requires": { - "resolve-from": "^3.0.0" + "resolve-from": "3.0.0" } }, "resolve-from": { @@ -10216,8 +9865,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { @@ -10232,7 +9881,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "ripemd160": { @@ -10241,8 +9890,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "run-async": { @@ -10250,7 +9899,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "run-queue": { @@ -10259,7 +9908,7 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "^1.1.1" + "aproba": "1.2.0" } }, "rxjs": { @@ -10267,7 +9916,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", "requires": { - "tslib": "^1.9.0" + "tslib": "1.9.3" } }, "safe-buffer": { @@ -10281,7 +9930,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -10295,7 +9944,7 @@ "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", "dev": true, "requires": { - "truncate-utf8-bytes": "^1.0.0" + "truncate-utf8-bytes": "1.0.2" } }, "sass-graph": { @@ -10304,10 +9953,10 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" + "glob": "7.1.2", + "lodash": "4.17.10", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" }, "dependencies": { "camelcase": { @@ -10322,9 +9971,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" } }, "os-locale": { @@ -10333,7 +9982,7 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "^1.0.0" + "lcid": "1.0.0" } }, "which-module": { @@ -10348,19 +9997,19 @@ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" } }, "yargs-parser": { @@ -10369,7 +10018,7 @@ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "^3.0.0" + "camelcase": "3.0.0" } } } @@ -10380,11 +10029,11 @@ "integrity": "sha512-MeVVJFejJELlAbA7jrRchi88PGP6U9yIfqyiG+bBC4a9s2PX+ulJB9h8bbEohtPBfZmlLhNZ0opQM9hovRXvlw==", "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" + "clone-deep": "2.0.2", + "loader-utils": "1.1.0", + "lodash.tail": "4.1.1", + "neo-async": "2.5.1", + "pify": "3.0.0" } }, "sax": { @@ -10398,7 +10047,7 @@ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "dev": true, "requires": { - "ajv": "^5.0.0" + "ajv": "5.5.2" } }, "scss-tokenizer": { @@ -10407,8 +10056,8 @@ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" + "js-base64": "2.4.3", + "source-map": "0.4.4" }, "dependencies": { "source-map": { @@ -10417,7 +10066,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": ">=0.0.4" + "amdefine": "1.0.1" } } } @@ -10442,12 +10091,12 @@ "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.81.1.tgz", "integrity": "sha512-ooLjHxSkLsjWkOlXxLsZzeaCBy8fjanpUwkJNhzVj6t8XC8qcK2Y57GetC2bMdyx6ewUL9DOHZfoybwfjUG9ZA==", "requires": { - "@babel/runtime": "^7.0.0-beta.49", - "classnames": "^2.2.5", - "fbjs": "^0.8.16", - "keyboard-key": "^1.0.1", - "lodash": "^4.17.10", - "prop-types": "^15.6.1" + "@babel/runtime": "7.0.0-beta.51", + "classnames": "2.2.5", + "fbjs": "0.8.16", + "keyboard-key": "1.0.1", + "lodash": "4.17.10", + "prop-types": "15.6.1" } }, "semver": { @@ -10461,7 +10110,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "send": { @@ -10471,18 +10120,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "mime": { @@ -10511,13 +10160,13 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "~1.3.4", + "accepts": "1.3.5", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" + "escape-html": "1.0.3", + "http-errors": "1.6.3", + "mime-types": "2.1.18", + "parseurl": "1.3.2" } }, "serve-static": { @@ -10526,9 +10175,9 @@ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, @@ -10549,10 +10198,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { @@ -10561,7 +10210,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -10583,8 +10232,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "inherits": "2.0.3", + "safe-buffer": "5.1.2" } }, "shallow-clone": { @@ -10593,9 +10242,9 @@ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { - "is-extendable": "^0.1.1", - "kind-of": "^5.0.0", - "mixin-object": "^2.0.1" + "is-extendable": "0.1.1", + "kind-of": "5.1.0", + "mixin-object": "2.0.1" }, "dependencies": { "kind-of": { @@ -10617,7 +10266,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { @@ -10631,10 +10280,10 @@ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "dev": true, "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" } }, "signal-exit": { @@ -10648,7 +10297,7 @@ "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", "dev": true, "requires": { - "string-width": "^1.0.1" + "string-width": "1.0.2" } }, "slash": { @@ -10663,14 +10312,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.0" }, "dependencies": { "define-property": { @@ -10679,7 +10328,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -10688,7 +10337,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "source-map": { @@ -10705,9 +10354,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" }, "dependencies": { "define-property": { @@ -10716,7 +10365,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { @@ -10725,7 +10374,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -10734,7 +10383,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -10743,9 +10392,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } } } @@ -10756,7 +10405,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "^3.2.0" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -10765,7 +10414,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -10775,7 +10424,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.1" } }, "sockjs": { @@ -10784,8 +10433,8 @@ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", "dev": true, "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" + "faye-websocket": "0.10.0", + "uuid": "3.2.1" } }, "sockjs-client": { @@ -10794,12 +10443,12 @@ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "dev": true, "requires": { - "debug": "^2.6.6", + "debug": "2.6.9", "eventsource": "0.1.6", - "faye-websocket": "~0.11.0", - "inherits": "^2.0.1", - "json3": "^3.3.2", - "url-parse": "^1.1.8" + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.4.1" }, "dependencies": { "faye-websocket": { @@ -10808,7 +10457,7 @@ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "dev": true, "requires": { - "websocket-driver": ">=0.5.1" + "websocket-driver": "0.7.0" } } } @@ -10819,7 +10468,7 @@ "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", "dev": true, "requires": { - "is-plain-obj": "^1.0.0" + "is-plain-obj": "1.1.0" } }, "soundmanager2": { @@ -10844,11 +10493,11 @@ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "atob": "2.1.1", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" } }, "source-map-support": { @@ -10857,7 +10506,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "^0.5.6" + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -10880,8 +10529,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { @@ -10896,8 +10545,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { @@ -10912,12 +10561,12 @@ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "dev": true, "requires": { - "debug": "^2.6.8", - "handle-thing": "^1.2.5", - "http-deceiver": "^1.2.7", - "safe-buffer": "^5.0.1", - "select-hose": "^2.0.0", - "spdy-transport": "^2.0.18" + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.2", + "select-hose": "2.0.0", + "spdy-transport": "2.1.0" } }, "spdy-transport": { @@ -10926,13 +10575,13 @@ "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", "dev": true, "requires": { - "debug": "^2.6.8", - "detect-node": "^2.0.3", - "hpack.js": "^2.1.6", - "obuf": "^1.1.1", - "readable-stream": "^2.2.9", - "safe-buffer": "^5.0.1", - "wbuf": "^1.7.2" + "debug": "2.6.9", + "detect-node": "2.0.3", + "hpack.js": "2.1.6", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2", + "wbuf": "1.7.3" }, "dependencies": { "isarray": { @@ -10947,13 +10596,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -10962,7 +10611,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -10979,7 +10628,7 @@ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { - "through": "2" + "through": "2.3.8" } }, "split-string": { @@ -10988,7 +10637,7 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -11002,14 +10651,14 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "tweetnacl": "~0.14.0" + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" } }, "ssri": { @@ -11018,7 +10667,7 @@ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { - "safe-buffer": "^5.1.1" + "safe-buffer": "5.1.2" } }, "stat-mode": { @@ -11033,8 +10682,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { @@ -11043,7 +10692,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -11060,7 +10709,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "^2.0.1" + "readable-stream": "2.3.6" }, "dependencies": { "isarray": { @@ -11075,13 +10724,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -11090,7 +10739,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -11100,7 +10749,7 @@ "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", "integrity": "sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=", "requires": { - "graceful-fs": "^4.1.3" + "graceful-fs": "4.1.11" } }, "stream-browserify": { @@ -11109,8 +10758,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "inherits": "2.0.3", + "readable-stream": "2.3.6" }, "dependencies": { "isarray": { @@ -11125,13 +10774,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -11140,7 +10789,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } } } @@ -11151,7 +10800,7 @@ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "dev": true, "requires": { - "duplexer": "~0.1.1" + "duplexer": "0.1.1" } }, "stream-each": { @@ -11160,8 +10809,8 @@ "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" } }, "stream-http": { @@ -11170,11 +10819,11 @@ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" }, "dependencies": { "isarray": { @@ -11189,13 +10838,13 @@ "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" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "string_decoder": { @@ -11204,7 +10853,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.2" } }, "xtend": { @@ -11232,9 +10881,9 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string.prototype.padend": { @@ -11243,9 +10892,9 @@ "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.4.3", - "function-bind": "^1.0.2" + "define-properties": "1.1.2", + "es-abstract": "1.11.0", + "function-bind": "1.1.1" } }, "string_decoder": { @@ -11263,7 +10912,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-bom": { @@ -11272,7 +10921,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "^0.2.0" + "is-utf8": "0.2.1" } }, "strip-eof": { @@ -11286,7 +10935,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "^4.0.1" + "get-stdin": "4.0.1" } }, "strip-json-comments": { @@ -11301,8 +10950,8 @@ "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^0.4.5" + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" }, "dependencies": { "ajv": { @@ -11311,10 +10960,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "fast-deep-equal": { @@ -11341,8 +10990,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.5.1", + "ajv-keywords": "3.2.0" } }, "uri-js": { @@ -11351,7 +11000,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } } } @@ -11361,16 +11010,16 @@ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.2.6.tgz", "integrity": "sha1-mebnWnRr3t0pWhfgPdFJMFWhzDs=", "requires": { - "buffer": "^5.0.3", - "css-to-react-native": "^2.0.3", - "fbjs": "^0.8.16", - "hoist-non-react-statics": "^2.5.0", - "is-plain-object": "^2.0.1", - "prop-types": "^15.5.4", - "react-is": "^16.3.1", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10", - "supports-color": "^3.2.3" + "buffer": "5.1.0", + "css-to-react-native": "2.1.2", + "fbjs": "0.8.16", + "hoist-non-react-statics": "2.5.0", + "is-plain-object": "2.0.4", + "prop-types": "15.6.1", + "react-is": "16.3.2", + "stylis": "3.5.0", + "stylis-rule-sheet": "0.0.10", + "supports-color": "3.2.3" } }, "stylis": { @@ -11389,8 +11038,8 @@ "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", "dev": true, "requires": { - "debug": "^2.2.0", - "es6-promise": "^4.0.5" + "debug": "2.6.9", + "es6-promise": "4.2.4" } }, "supports-color": { @@ -11398,7 +11047,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "^1.0.0" + "has-flag": "1.0.0" } }, "svgo": { @@ -11407,13 +11056,13 @@ "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "dev": true, "requires": { - "coa": "~1.0.1", - "colors": "~1.1.2", - "csso": "~2.3.1", - "js-yaml": "~3.7.0", - "mkdirp": "~0.5.1", - "sax": "~1.2.1", - "whet.extend": "~0.9.9" + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" } }, "symbol-observable": { @@ -11438,9 +11087,9 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" } }, "temp-file": { @@ -11449,10 +11098,10 @@ "integrity": "sha512-s5JJnUbvV6QaKBxBJm6wDpKIVVvr/ssrb8Cdaz2iaXcjFMtWX+OGBwY+UTvARoWYI5HlKaoD7xFJSpo0jJUlbA==", "dev": true, "requires": { - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.5", - "fs-extra-p": "^4.6.0", - "lazy-val": "^1.0.3" + "async-exit-hook": "2.0.1", + "bluebird-lst": "1.0.5", + "fs-extra-p": "4.6.0", + "lazy-val": "1.0.3" } }, "term-size": { @@ -11461,7 +11110,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "throttleit": { @@ -11481,8 +11130,8 @@ "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", "dev": true, "requires": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" + "readable-stream": "1.1.14", + "xtend": "2.1.2" } }, "thunky": { @@ -11503,7 +11152,7 @@ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "setimmediate": "^1.0.4" + "setimmediate": "1.0.5" } }, "tiny-invariant": { @@ -11516,7 +11165,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, "to-arraybuffer": { @@ -11537,7 +11186,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { @@ -11546,7 +11195,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -11557,10 +11206,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { @@ -11569,16 +11218,22 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" } }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, "tough-cookie": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, "tr46": { @@ -11605,7 +11260,7 @@ "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", "dev": true, "requires": { - "glob": "^6.0.4" + "glob": "6.0.4" }, "dependencies": { "glob": { @@ -11614,11 +11269,11 @@ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "dev": true, "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" } } } @@ -11629,7 +11284,7 @@ "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", "dev": true, "requires": { - "utf8-byte-length": "^1.0.1" + "utf8-byte-length": "1.0.4" } }, "tslib": { @@ -11648,7 +11303,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.2" } }, "tweetnacl": { @@ -11662,7 +11317,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -11678,7 +11333,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "2.1.18" } }, "typedarray": { @@ -11698,8 +11353,8 @@ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "commander": "~2.13.0", - "source-map": "~0.6.1" + "commander": "2.13.0", + "source-map": "0.6.1" }, "dependencies": { "commander": { @@ -11716,14 +11371,14 @@ "integrity": "sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw==", "dev": true, "requires": { - "cacache": "^10.0.4", - "find-cache-dir": "^1.0.0", - "schema-utils": "^0.4.5", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "uglify-es": "^3.3.4", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.5", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.1.0", + "worker-farm": "1.6.0" }, "dependencies": { "ajv": { @@ -11732,10 +11387,10 @@ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0", - "uri-js": "^3.0.2" + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1", + "uri-js": "3.0.2" } }, "schema-utils": { @@ -11744,8 +11399,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.4.0", + "ajv-keywords": "3.2.0" } } } @@ -11756,10 +11411,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { @@ -11768,7 +11423,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { @@ -11777,10 +11432,10 @@ "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" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } @@ -11797,7 +11452,7 @@ "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", "dev": true, "requires": { - "macaddress": "^0.2.8" + "macaddress": "0.2.8" } }, "uniqs": { @@ -11812,7 +11467,7 @@ "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "unique-slug": "^2.0.0" + "unique-slug": "2.0.0" } }, "unique-slug": { @@ -11821,7 +11476,7 @@ "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { - "imurmurhash": "^0.1.4" + "imurmurhash": "0.1.4" } }, "unique-string": { @@ -11830,7 +11485,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "universalify": { @@ -11851,8 +11506,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { @@ -11861,9 +11516,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { @@ -11909,16 +11564,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" }, "dependencies": { "ansi-styles": { @@ -11927,7 +11582,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -11936,9 +11591,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -11953,18 +11608,24 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, "uri-js": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.0" }, "dependencies": { "punycode": { @@ -12011,9 +11672,9 @@ "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", "dev": true, "requires": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^0.4.3" + "loader-utils": "1.1.0", + "mime": "2.3.1", + "schema-utils": "0.4.5" }, "dependencies": { "ajv": { @@ -12022,10 +11683,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "fast-deep-equal": { @@ -12052,8 +11713,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.5.1", + "ajv-keywords": "3.2.0" } }, "uri-js": { @@ -12062,7 +11723,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } } } @@ -12073,8 +11734,8 @@ "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", "dev": true, "requires": { - "querystringify": "^2.0.0", - "requires-port": "^1.0.0" + "querystringify": "2.0.0", + "requires-port": "1.0.0" } }, "url-parse-lax": { @@ -12083,7 +11744,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "use": { @@ -12092,7 +11753,7 @@ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" } }, "utf8-byte-length": { @@ -12115,6 +11776,22 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "1.1.2", + "object.getownpropertydescriptors": "2.0.3" + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", @@ -12137,8 +11814,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "value-equal": { @@ -12163,9 +11840,9 @@ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" } }, "vm-browserify": { @@ -12182,7 +11859,7 @@ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "watchpack": { @@ -12191,9 +11868,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "chokidar": "2.0.4", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" } }, "wbuf": { @@ -12202,7 +11879,7 @@ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { - "minimalistic-assert": "^1.0.0" + "minimalistic-assert": "1.0.1" } }, "webidl-conversions": { @@ -12222,26 +11899,26 @@ "@webassemblyjs/wasm-edit": "1.5.12", "@webassemblyjs/wasm-opt": "1.5.12", "@webassemblyjs/wasm-parser": "1.5.12", - "acorn": "^5.6.2", - "acorn-dynamic-import": "^3.0.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", - "enhanced-resolve": "^4.0.0", - "eslint-scope": "^3.7.1", - "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", - "schema-utils": "^0.4.4", - "tapable": "^1.0.0", - "uglifyjs-webpack-plugin": "^1.2.4", - "watchpack": "^1.5.0", - "webpack-sources": "^1.0.1" + "acorn": "5.7.1", + "acorn-dynamic-import": "3.0.0", + "ajv": "6.5.1", + "ajv-keywords": "3.2.0", + "chrome-trace-event": "1.0.0", + "enhanced-resolve": "4.0.0", + "eslint-scope": "3.7.1", + "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.10", + "mkdirp": "0.5.1", + "neo-async": "2.5.1", + "node-libs-browser": "2.1.0", + "schema-utils": "0.4.5", + "tapable": "1.0.0", + "uglifyjs-webpack-plugin": "1.2.5", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0" }, "dependencies": { "acorn": { @@ -12256,10 +11933,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.1" + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" } }, "fast-deep-equal": { @@ -12286,8 +11963,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" + "ajv": "6.5.1", + "ajv-keywords": "3.2.0" } }, "uri-js": { @@ -12296,7 +11973,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "^2.1.0" + "punycode": "2.1.1" } } } @@ -12306,17 +11983,17 @@ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.8.tgz", "integrity": "sha512-KnRLJ0BUaYRqrhAMb9dv3gzdmhmgIMKo0FmdsnmfqbPGtLnnZ6tORZAvmmKfr+A0VgiVpqC60Gv7Ofg0R2CHtQ==", "requires": { - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "enhanced-resolve": "^4.0.0", - "global-modules-path": "^2.1.0", - "import-local": "^1.0.0", - "inquirer": "^6.0.0", - "interpret": "^1.1.0", - "loader-utils": "^1.1.0", - "supports-color": "^5.4.0", - "v8-compile-cache": "^2.0.0", - "yargs": "^11.1.0" + "chalk": "2.4.1", + "cross-spawn": "6.0.5", + "enhanced-resolve": "4.0.0", + "global-modules-path": "2.1.0", + "import-local": "1.0.0", + "inquirer": "6.0.0", + "interpret": "1.1.0", + "loader-utils": "1.1.0", + "supports-color": "5.4.0", + "v8-compile-cache": "2.0.0", + "yargs": "11.1.0" }, "dependencies": { "ansi-regex": { @@ -12329,7 +12006,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -12337,9 +12014,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "cross-spawn": { @@ -12347,11 +12024,11 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "nice-try": "1.0.4", + "path-key": "2.0.1", + "semver": "5.5.0", + "shebang-command": "1.2.0", + "which": "1.3.0" } }, "has-flag": { @@ -12369,8 +12046,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12378,7 +12055,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } }, "supports-color": { @@ -12386,7 +12063,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } }, "yargs": { @@ -12394,18 +12071,18 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" } } } @@ -12416,13 +12093,13 @@ "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", "dev": true, "requires": { - "loud-rejection": "^1.6.0", - "memory-fs": "~0.4.1", - "mime": "^2.1.0", - "path-is-absolute": "^1.0.0", - "range-parser": "^1.0.3", - "url-join": "^4.0.0", - "webpack-log": "^1.0.1" + "loud-rejection": "1.6.0", + "memory-fs": "0.4.1", + "mime": "2.3.1", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "url-join": "4.0.0", + "webpack-log": "1.2.0" } }, "webpack-dev-server": { @@ -12432,32 +12109,32 @@ "dev": true, "requires": { "ansi-html": "0.0.7", - "array-includes": "^3.0.3", - "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^3.1.0", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "~0.18.0", - "import-local": "^1.0.0", + "array-includes": "3.0.3", + "bonjour": "3.5.0", + "chokidar": "2.0.4", + "compression": "1.7.2", + "connect-history-api-fallback": "1.5.0", + "debug": "3.1.0", + "del": "3.0.0", + "express": "4.16.3", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.18.0", + "import-local": "1.0.0", "internal-ip": "1.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "selfsigned": "^1.9.1", - "serve-index": "^1.7.2", + "ip": "1.1.5", + "killable": "1.0.0", + "loglevel": "1.6.1", + "opn": "5.3.0", + "portfinder": "1.0.13", + "selfsigned": "1.10.3", + "serve-index": "1.9.1", "sockjs": "0.3.19", "sockjs-client": "1.1.4", - "spdy": "^3.4.1", - "strip-ansi": "^3.0.0", - "supports-color": "^5.1.0", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "5.4.0", "webpack-dev-middleware": "3.1.3", - "webpack-log": "^1.1.2", + "webpack-log": "1.2.0", "yargs": "11.0.0" }, "dependencies": { @@ -12482,7 +12159,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -12493,10 +12170,10 @@ "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", "dev": true, "requires": { - "chalk": "^2.1.0", - "log-symbols": "^2.1.0", - "loglevelnext": "^1.0.1", - "uuid": "^3.1.0" + "chalk": "2.4.1", + "log-symbols": "2.2.0", + "loglevelnext": "1.0.5", + "uuid": "3.2.1" }, "dependencies": { "ansi-styles": { @@ -12505,7 +12182,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "chalk": { @@ -12514,9 +12191,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "has-flag": { @@ -12531,7 +12208,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "^3.0.0" + "has-flag": "3.0.0" } } } @@ -12542,8 +12219,8 @@ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "source-list-map": "2.0.0", + "source-map": "0.6.1" } }, "websocket-driver": { @@ -12552,8 +12229,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" + "http-parser-js": "0.4.13", + "websocket-extensions": "0.1.3" } }, "websocket-extensions": { @@ -12573,7 +12250,7 @@ "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", "optional": true, "requires": { - "tr46": "~0.0.1" + "tr46": "0.0.3" } }, "whet.extend": { @@ -12587,7 +12264,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { @@ -12601,7 +12278,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "widest-line": { @@ -12610,7 +12287,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" + "string-width": "2.1.1" }, "dependencies": { "ansi-regex": { @@ -12631,8 +12308,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12641,7 +12318,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12658,7 +12335,7 @@ "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "~0.1.7" + "errno": "0.1.7" } }, "wrap-ansi": { @@ -12666,8 +12343,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" } }, "wrappy": { @@ -12682,9 +12359,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "xdg-basedir": { @@ -12717,7 +12394,7 @@ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dev": true, "requires": { - "object-keys": "~0.4.0" + "object-keys": "0.4.0" } }, "y18n": { @@ -12736,18 +12413,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.1.1", - "find-up": "^2.1.0", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^9.0.2" + "cliui": "4.1.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" }, "dependencies": { "ansi-regex": { @@ -12768,8 +12445,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" } }, "strip-ansi": { @@ -12778,7 +12455,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "^3.0.0" + "ansi-regex": "3.0.0" } } } @@ -12788,7 +12465,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { @@ -12804,7 +12481,7 @@ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "dev": true, "requires": { - "fd-slicer": "~1.0.1" + "fd-slicer": "1.0.1" } }, "ytdl-core": { @@ -12812,10 +12489,10 @@ "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.20.4.tgz", "integrity": "sha512-d+jthiJxSQ6yqCeCwwMggXYOjFSOJsD7ahvAAE1sFW9nVNnsA/roz91SFH1FzaMGS7/y7AnJfhVgpE9i8uYjJQ==", "requires": { - "html-entities": "^1.1.3", - "m3u8stream": "^0.2.1", - "miniget": "^1.1.0", - "sax": "^1.1.3" + "html-entities": "1.2.1", + "m3u8stream": "0.2.2", + "miniget": "1.2.0", + "sax": "1.2.4" } } } diff --git a/package.json b/package.json index c59695008e..0e21b47462 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "extract-text-webpack-plugin": "^3.0.2", "file-loader": "^1.1.6", "happypack": "^5.0.0", + "html-webpack-plugin": "^3.2.0", "isomorphic-fetch": "^2.2.1", "lodash": "^4.17.5", "mocha": "^5.0.0", diff --git a/server/main.dev.js b/server/main.dev.js index fd7d976061..f544c95da1 100644 --- a/server/main.dev.js +++ b/server/main.dev.js @@ -36,8 +36,8 @@ function createWindow() { .catch((err) => console.log('An error occurred: ', err)); win.loadURL(url.format({ - pathname: path.join(__dirname, 'index.html'), - protocol: 'file:', + pathname: 'localhost:8080', + protocol: 'http:', slashes: true })); diff --git a/server/main.dev.linux.js b/server/main.dev.linux.js index 04839d4898..0a1d8cdacd 100644 --- a/server/main.dev.linux.js +++ b/server/main.dev.linux.js @@ -44,8 +44,8 @@ function createWindow() { // .catch((err) => console.log('An error occurred: ', err)); win.loadURL(url.format({ - pathname: path.join(__dirname, 'index.html'), - protocol: 'file:', + pathname: 'localhost:8080', + protocol: 'http:', slashes: true })); diff --git a/webpack.config.dev.js b/webpack.config.dev.js index ac5104aa04..30584b00cf 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -1,6 +1,7 @@ const webpack = require('webpack'); -const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); const HappyPack = require('happypack'); +const path = require('path'); const BUILD_DIR = path.resolve(__dirname, 'dist'); const APP_DIR = path.resolve(__dirname, 'app'); @@ -51,6 +52,20 @@ const config = { plugins: [ new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), + new HtmlWebpackPlugin({ + template: 'index.html', + minify: { + html5: true, + removeComments: true, + collapseWhitespace: true, + removeRedundantAttributes: true, + useShortDoctype: true, + removeEmptyAttributes: true, + removeStyleLinkTypeAttributes: true, + keepClosingSlash: true + }, + inject: true + }), new HappyPack({ id: 'jsx', loaders: [ 'babel-loader' ] From b1317a520fbad7b58ea9992eb18ccf57676c9fe6 Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Tue, 3 Jul 2018 07:28:04 +0000 Subject: [PATCH 172/487] fix(package): update react-beautiful-dnd to version 8.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0e21b47462..334f4357b6 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "numeral": "^2.0.6", "pitchfork-bnm": "^1.0.3", "react": "^16.3.2", - "react-beautiful-dnd": "^7.1.0", + "react-beautiful-dnd": "^8.0.0", "react-dom": "^16.3.2", "react-image-smooth-loading": "^2.0.0", "react-router-transition": "^1.2.1", From fe9460a717a3022893c54f45737ac2d37292c79b Mon Sep 17 00:00:00 2001 From: "greenkeeper[bot]" Date: Fri, 6 Jul 2018 17:30:46 +0000 Subject: [PATCH 173/487] chore(package): update css-loader to version 1.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 334f4357b6..b91c1bac7b 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "babel-register": "^6.26.0", "chai": "^4.1.2", "classnames": "^2.2.5", - "css-loader": "^0.28.9", + "css-loader": "^1.0.0", "electron": "^2.0.2", "electron-builder": "^20.9.0", "electron-devtools-installer": "^2.2.4", From b69b099b478e9a60803e334f031d6127c43ef8a7 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 12 Jul 2018 23:20:07 +0200 Subject: [PATCH 174/487] Inline styles for dev html --- index.html | 78 + package-lock.json | 6252 ++++++++++++++++++++--------------------- package.json | 1 + webpack.config.dev.js | 6 +- 4 files changed, 3117 insertions(+), 3220 deletions(-) diff --git a/index.html b/index.html index 93ae078110..6216243e97 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,84 @@ +
diff --git a/package-lock.json b/package-lock.json index 3e34398adf..cbb6c3c733 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,9 @@ "integrity": "sha512-juYJNi8JEpTUWXwz8ssa8Oop4n/kwJ/pIQP22vJAVAe6RTRD+0m+e9LRNnfK2EDaX8uwmUzLNGviFQRD6SxeOw==", "dev": true, "requires": { - "7zip-bin-linux": "1.3.1" + "7zip-bin-linux": "~1.3.1", + "7zip-bin-mac": "~1.0.1", + "7zip-bin-win": "~2.2.0" } }, "7zip-bin-linux": { @@ -26,13 +28,26 @@ "dev": true, "optional": true }, + "7zip-bin-mac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz", + "integrity": "sha1-Pmh3i78JJq3GgVlCcHRQXUdVXAI=", + "optional": true + }, + "7zip-bin-win": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/7zip-bin-win/-/7zip-bin-win-2.2.0.tgz", + "integrity": "sha512-uPHXapEmUtlUKTBx4asWMlxtFUWXzEY0KVEgU7QKhgO2LJzzM3kYxM6yOyUZTtYE6mhK4dDn3FDut9SCQWHzgg==", + "dev": true, + "optional": true + }, "@babel/runtime": { "version": "7.0.0-beta.51", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.51.tgz", "integrity": "sha1-SLjtGDBwNMZiD2Q1FGUMoszAFlo=", "requires": { - "core-js": "2.5.7", - "regenerator-runtime": "0.11.1" + "core-js": "^2.5.7", + "regenerator-runtime": "^0.11.1" }, "dependencies": { "core-js": { @@ -42,6 +57,19 @@ } } }, + "@sindresorhus/fnv1a": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/fnv1a/-/fnv1a-1.0.0.tgz", + "integrity": "sha512-n+7NAD9vCDb2PaCRFIGrT2UF8WPIfMgGvCiVsYKY1/eBTrZU80N9erKhX9UTdxyvWhNuxQxwZGzdOIOlt8WqsA==" + }, + "@sindresorhus/string-hash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/string-hash/-/string-hash-1.0.0.tgz", + "integrity": "sha512-f+MXwrsBBcicamPLVcvfoc1SBXLRRwRGe0atZlJFRypb6CKoODYwElIQLFuilFoD+7YWdjX42Lfx6mC0ClMKgw==", + "requires": { + "@sindresorhus/fnv1a": "^1.0.0" + } + }, "@types/node": { "version": "10.0.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.0.4.tgz", @@ -56,8 +84,8 @@ "@webassemblyjs/helper-module-context": "1.5.12", "@webassemblyjs/helper-wasm-bytecode": "1.5.12", "@webassemblyjs/wast-parser": "1.5.12", - "debug": "3.1.0", - "mamacro": "0.0.3" + "debug": "^3.1.0", + "mamacro": "^0.0.3" }, "dependencies": { "debug": { @@ -89,7 +117,7 @@ "integrity": "sha512-tJNUjttL5CxiiS/KLxT4/Zk0Nbl/poFhztFxktb46zoQEUWaGHR9ZJ0SnvE7DbFX5PY5JNJDMZ0Li4lm246fWw==", "dev": true, "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -124,8 +152,8 @@ "integrity": "sha512-SCXR8hPI4JOG3cdy9HAO8W5/VQ68YXG/Hfs7qDf1cd64zWuMNshyEour5NYnLMVkrrtc0XzfVS/MdeV94woFHA==", "dev": true, "requires": { - "debug": "3.1.0", - "mamacro": "0.0.3" + "debug": "^3.1.0", + "mamacro": "^0.0.3" }, "dependencies": { "debug": { @@ -155,7 +183,7 @@ "@webassemblyjs/helper-buffer": "1.5.12", "@webassemblyjs/helper-wasm-bytecode": "1.5.12", "@webassemblyjs/wasm-gen": "1.5.12", - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -175,7 +203,7 @@ "integrity": "sha512-F+PEv9QBzPi1ThLBouUJbuxhEr+Sy/oua1ftXFKHiaYYS5Z9tKPvK/hgCxlSdq+RY4MSG15jU2JYb/K5pkoybg==", "dev": true, "requires": { - "ieee754": "1.1.11" + "ieee754": "^1.1.11" } }, "@webassemblyjs/leb128": { @@ -184,7 +212,7 @@ "integrity": "sha512-cCOx/LVGiWyCwVrVlvGmTdnwHzIP4+zflLjGkZxWpYCpdNax9krVIJh1Pm7O86Ox/c5PrJpbvZU1cZLxndlPEw==", "dev": true, "requires": { - "leb": "0.3.0" + "leb": "^0.3.0" } }, "@webassemblyjs/utf8": { @@ -207,7 +235,7 @@ "@webassemblyjs/wasm-opt": "1.5.12", "@webassemblyjs/wasm-parser": "1.5.12", "@webassemblyjs/wast-printer": "1.5.12", - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -244,7 +272,7 @@ "@webassemblyjs/helper-buffer": "1.5.12", "@webassemblyjs/wasm-gen": "1.5.12", "@webassemblyjs/wasm-parser": "1.5.12", - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -283,8 +311,8 @@ "@webassemblyjs/helper-api-error": "1.5.12", "@webassemblyjs/helper-code-frame": "1.5.12", "@webassemblyjs/helper-fsm": "1.5.12", - "long": "3.2.0", - "mamacro": "0.0.3" + "long": "^3.2.0", + "mamacro": "^0.0.3" } }, "@webassemblyjs/wast-printer": { @@ -295,7 +323,7 @@ "requires": { "@webassemblyjs/ast": "1.5.12", "@webassemblyjs/wast-parser": "1.5.12", - "long": "3.2.0" + "long": "^3.2.0" } }, "abab": { @@ -316,7 +344,7 @@ "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "dev": true, "requires": { - "mime-types": "2.1.18", + "mime-types": "~2.1.18", "negotiator": "0.6.1" } }, @@ -331,7 +359,7 @@ "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", "dev": true, "requires": { - "acorn": "5.7.1" + "acorn": "^5.0.0" }, "dependencies": { "acorn": { @@ -348,7 +376,7 @@ "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", "optional": true, "requires": { - "acorn": "2.7.0" + "acorn": "^2.1.0" } }, "ajv": { @@ -356,10 +384,10 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1" + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" } }, "ajv-keywords": { @@ -368,12 +396,6 @@ "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", "dev": true }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -386,7 +408,7 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -407,8 +429,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -417,7 +439,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -450,8 +472,8 @@ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, "requires": { - "micromatch": "3.1.10", - "normalize-path": "2.1.1" + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, "app-builder-bin": { @@ -460,7 +482,9 @@ "integrity": "sha512-jQiCV8fxW3SPtPnU/BnTEQqawWtBmanCgydzRuzsptFVb/6Q4OKWdB5T3B+XHOf8lqaH89+XeJf6oA1b/QQEnQ==", "dev": true, "requires": { - "app-builder-bin-linux": "1.8.6" + "app-builder-bin-linux": "1.8.6", + "app-builder-bin-mac": "1.8.6", + "app-builder-bin-win": "1.8.6" } }, "app-builder-bin-linux": { @@ -470,6 +494,20 @@ "dev": true, "optional": true }, + "app-builder-bin-mac": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-mac/-/app-builder-bin-mac-1.8.6.tgz", + "integrity": "sha512-lWIpI2zmOmQ4JCp1IGxK6KngKAEN6QO9nu5k8h+ZzMxHBTCk8+kbBTE+R36BSRGX9q/4FhHBpYGXHVj+N9xOXg==", + "dev": true, + "optional": true + }, + "app-builder-bin-win": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/app-builder-bin-win/-/app-builder-bin-win-1.8.6.tgz", + "integrity": "sha512-nlceArzkRtWgqNoif6OFKaAKNNZ3uZuiG+9UkpOPLf/EDoYdeAq4YdvKWaQx1RHsNNfQTx0s/IODvlD0AdUmPA==", + "dev": true, + "optional": true + }, "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", @@ -482,8 +520,8 @@ "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "dev": true, "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" }, "dependencies": { "isarray": { @@ -498,13 +536,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -513,7 +551,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -524,7 +562,7 @@ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, "requires": { - "sprintf-js": "1.0.3" + "sprintf-js": "~1.0.2" } }, "arr-diff": { @@ -569,8 +607,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.7.0" } }, "array-map": { @@ -591,7 +629,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "1.0.3" + "array-uniq": "^1.0.1" } }, "array-uniq": { @@ -622,9 +660,9 @@ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "assert": { @@ -676,7 +714,7 @@ "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.14.0" } }, "async-each": { @@ -708,31 +746,10 @@ "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", "dev": true }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000833", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000833", - "electron-to-chromium": "1.3.45" - } - } - } + "auto-bind": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.1.tgz", + "integrity": "sha512-/W9yj1yKmBLwpexwAujeD9YHwYmRuWFGV8HWE7smQab797VeHa4/cnE2NFeDhA+E+5e/OGBI8763EhLjfZ/MXA==" }, "aws-sign2": { "version": "0.7.0", @@ -750,9 +767,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" } }, "babel-core": { @@ -761,25 +778,25 @@ "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.1", - "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.10", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.8", - "slash": "1.0.0", - "source-map": "0.5.7" + "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" }, "dependencies": { "source-map": { @@ -796,14 +813,14 @@ "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.10", - "source-map": "0.5.7", - "trim-right": "1.0.1" + "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" }, "dependencies": { "source-map": { @@ -820,9 +837,9 @@ "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", "dev": true, "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-builder-react-jsx": { @@ -831,9 +848,9 @@ "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-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "esutils": "^2.0.2" } }, "babel-helper-call-delegate": { @@ -842,10 +859,10 @@ "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -854,10 +871,10 @@ "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.10" + "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": { @@ -866,9 +883,9 @@ "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" } }, "babel-helper-function-name": { @@ -877,11 +894,11 @@ "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", "dev": true, "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -890,8 +907,8 @@ "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-hoist-variables": { @@ -900,8 +917,8 @@ "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-optimise-call-expression": { @@ -910,8 +927,8 @@ "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-helper-regex": { @@ -920,9 +937,9 @@ "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.10" + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" } }, "babel-helper-remap-async-to-generator": { @@ -931,11 +948,11 @@ "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -944,12 +961,12 @@ "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", "dev": true, "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -958,8 +975,8 @@ "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-loader": { @@ -968,9 +985,9 @@ "integrity": "sha512-/hbyEvPzBJuGpk9o80R0ZyTej6heEOr59GoEUtn8qFKbnx4cJm9FWES6J/iv644sYgrtVw9JJQkjaLW/bqb5gw==", "dev": true, "requires": { - "find-cache-dir": "1.0.0", - "loader-utils": "1.1.0", - "mkdirp": "0.5.1" + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" } }, "babel-messages": { @@ -979,7 +996,7 @@ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-check-es2015-constants": { @@ -988,7 +1005,7 @@ "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-syntax-async-functions": { @@ -1027,9 +1044,9 @@ "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", "dev": true, "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" + "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-es2015-arrow-functions": { @@ -1038,7 +1055,7 @@ "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoped-functions": { @@ -1047,7 +1064,7 @@ "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-block-scoping": { @@ -1056,11 +1073,11 @@ "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.10" + "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": { @@ -1069,15 +1086,15 @@ "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", "dev": true, "requires": { - "babel-helper-define-map": "6.26.0", - "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.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -1086,8 +1103,8 @@ "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-destructuring": { @@ -1096,7 +1113,7 @@ "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-duplicate-keys": { @@ -1105,8 +1122,8 @@ "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-for-of": { @@ -1115,7 +1132,7 @@ "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-function-name": { @@ -1124,9 +1141,9 @@ "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", "dev": true, "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-literals": { @@ -1135,7 +1152,7 @@ "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-modules-amd": { @@ -1144,9 +1161,9 @@ "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "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": { @@ -1155,10 +1172,10 @@ "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-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": { @@ -1167,9 +1184,9 @@ "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", "dev": true, "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" } }, "babel-plugin-transform-es2015-modules-umd": { @@ -1178,9 +1195,9 @@ "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", "dev": true, "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" + "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": { @@ -1189,8 +1206,8 @@ "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", "dev": true, "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-parameters": { @@ -1199,12 +1216,12 @@ "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", "dev": true, "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" + "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": { @@ -1213,8 +1230,8 @@ "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-spread": { @@ -1223,7 +1240,7 @@ "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-sticky-regex": { @@ -1232,9 +1249,9 @@ "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-plugin-transform-es2015-template-literals": { @@ -1243,7 +1260,7 @@ "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-typeof-symbol": { @@ -1252,7 +1269,7 @@ "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-es2015-unicode-regex": { @@ -1261,9 +1278,9 @@ "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", "dev": true, "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" } }, "babel-plugin-transform-exponentiation-operator": { @@ -1272,9 +1289,9 @@ "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", "dev": true, "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" + "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-flow-strip-types": { @@ -1283,8 +1300,8 @@ "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", "dev": true, "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-flow": "^6.18.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-display-name": { @@ -1293,7 +1310,7 @@ "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", "dev": true, "requires": { - "babel-runtime": "6.26.0" + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx": { @@ -1302,9 +1319,9 @@ "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", "dev": true, "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "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": { @@ -1313,8 +1330,8 @@ "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-react-jsx-source": { @@ -1323,8 +1340,8 @@ "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" + "babel-plugin-syntax-jsx": "^6.8.0", + "babel-runtime": "^6.22.0" } }, "babel-plugin-transform-regenerator": { @@ -1333,7 +1350,7 @@ "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", "dev": true, "requires": { - "regenerator-transform": "0.10.1" + "regenerator-transform": "^0.10.0" } }, "babel-plugin-transform-strict-mode": { @@ -1342,8 +1359,8 @@ "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" } }, "babel-preset-env": { @@ -1352,36 +1369,36 @@ "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.24.1", - "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.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "3.2.8", - "invariant": "2.2.4", - "semver": "5.5.0" + "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-es2015": { @@ -1390,30 +1407,30 @@ "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", "dev": true, "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0" + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" } }, "babel-preset-flow": { @@ -1422,7 +1439,7 @@ "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", "dev": true, "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0" + "babel-plugin-transform-flow-strip-types": "^6.22.0" } }, "babel-preset-react": { @@ -1431,12 +1448,12 @@ "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", "dev": true, "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-transform-react-display-name": "6.25.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-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-register": { @@ -1445,13 +1462,13 @@ "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", "dev": true, "requires": { - "babel-core": "6.26.3", - "babel-runtime": "6.26.0", - "core-js": "2.5.5", - "home-or-tmp": "2.0.0", - "lodash": "4.17.10", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" + "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" }, "dependencies": { "core-js": { @@ -1466,15 +1483,17 @@ "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, "requires": { - "core-js": "2.5.5", - "regenerator-runtime": "0.11.1" + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" }, "dependencies": { "core-js": { "version": "2.5.5", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.5.tgz", - "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=" + "integrity": "sha1-sU3ek2xkDAV5prUMq8wTLdYSfjs=", + "dev": true } } }, @@ -1484,11 +1503,11 @@ "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.10" + "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": { @@ -1497,15 +1516,15 @@ "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.9", - "globals": "9.18.0", - "invariant": "2.2.4", - "lodash": "4.17.10" + "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": { @@ -1514,10 +1533,10 @@ "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.10", - "to-fast-properties": "1.0.3" + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" } }, "babylon": { @@ -1538,13 +1557,13 @@ "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, "requires": { - "cache-base": "1.0.1", - "class-utils": "0.3.6", - "component-emitter": "1.2.1", - "define-property": "1.0.0", - "isobject": "3.0.1", - "mixin-deep": "1.3.1", - "pascalcase": "0.1.1" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" }, "dependencies": { "define-property": { @@ -1553,7 +1572,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -1562,7 +1581,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -1571,7 +1590,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -1580,9 +1599,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -1604,7 +1623,7 @@ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", "optional": true, "requires": { - "tweetnacl": "0.14.5" + "tweetnacl": "^0.14.3" } }, "big.js": { @@ -1617,8 +1636,8 @@ "resolved": "https://registry.npmjs.org/billboard-top-100/-/billboard-top-100-2.0.9.tgz", "integrity": "sha1-8pt3xrthnIyz+lVw1i0k6wQLkio=", "requires": { - "cheerio": "0.20.0", - "request": "2.85.0" + "cheerio": "^0.20.0", + "request": "^2.72.0" } }, "binary-extensions": { @@ -1633,7 +1652,7 @@ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", "dev": true, "requires": { - "inherits": "2.0.3" + "inherits": "~2.0.0" } }, "bluebird": { @@ -1648,7 +1667,7 @@ "integrity": "sha512-Ey0bDNys5qpYPhZ/oQ9vOEvD0TYQDTILMXWP2iGfvMg7rSDde+oV4aQQgqRH+CvBFNz2BSDQnPGMUl6LKBUUQA==", "dev": true, "requires": { - "bluebird": "3.5.1" + "bluebird": "^3.5.1" } }, "bn.js": { @@ -1664,15 +1683,15 @@ "dev": true, "requires": { "bytes": "3.0.0", - "content-type": "1.0.4", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.6.3", + "depd": "~1.1.1", + "http-errors": "~1.6.2", "iconv-lite": "0.4.19", - "on-finished": "2.3.0", + "on-finished": "~2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.16" + "type-is": "~1.6.15" }, "dependencies": { "iconv-lite": { @@ -1695,12 +1714,12 @@ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", "dev": true, "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.3", - "multicast-dns-service-types": "1.1.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, "boolbase": { @@ -1713,7 +1732,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } }, "boxen": { @@ -1722,13 +1741,13 @@ "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { - "ansi-align": "2.0.0", - "camelcase": "4.1.0", - "chalk": "2.4.1", - "cli-boxes": "1.0.0", - "string-width": "2.1.1", - "term-size": "1.2.0", - "widest-line": "2.0.0" + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -1743,7 +1762,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "camelcase": { @@ -1758,9 +1777,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -1781,8 +1800,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -1791,7 +1810,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -1800,7 +1819,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -1811,7 +1830,7 @@ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "requires": { - "balanced-match": "1.0.0", + "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, @@ -1821,16 +1840,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "1.1.0", - "array-unique": "0.3.2", - "extend-shallow": "2.0.1", - "fill-range": "4.0.0", - "isobject": "3.0.1", - "repeat-element": "1.1.2", - "snapdragon": "0.8.2", - "snapdragon-node": "2.1.1", - "split-string": "3.1.0", - "to-regex": "3.0.2" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -1839,7 +1858,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -1862,12 +1881,12 @@ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", "dev": true, "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "browserify-cipher": { @@ -1876,9 +1895,9 @@ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", "dev": true, "requires": { - "browserify-aes": "1.2.0", - "browserify-des": "1.0.1", - "evp_bytestokey": "1.0.3" + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" } }, "browserify-des": { @@ -1887,9 +1906,9 @@ "integrity": "sha512-zy0Cobe3hhgpiOM32Tj7KQ3Vl91m0njwsjzZQK1L+JDf11dzP9qIvjreVinsvXrgfjhStXwUWAEpB9D7Gwmayw==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1" } }, "browserify-rsa": { @@ -1898,8 +1917,8 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { @@ -1908,13 +1927,13 @@ "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.1" + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" } }, "browserify-zlib": { @@ -1923,7 +1942,7 @@ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "dev": true, "requires": { - "pako": "1.0.6" + "pako": "~1.0.5" } }, "browserslist": { @@ -1932,8 +1951,8 @@ "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000858", - "electron-to-chromium": "1.3.50" + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" }, "dependencies": { "electron-to-chromium": { @@ -1949,8 +1968,8 @@ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.11" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" } }, "buffer-from": { @@ -1977,20 +1996,20 @@ "integrity": "sha512-vod4bl9Y+uuXhG5puvi7ike9JhF5/eTyc11WjhsVycVTYWAyxQlJqW1EaOtu34N+e1/AHPhA8XA3QI/Zskfpag==", "dev": true, "requires": { - "7zip-bin": "3.1.0", + "7zip-bin": "~3.1.0", "app-builder-bin": "1.8.6", - "bluebird-lst": "1.0.5", - "builder-util-runtime": "4.2.0", - "chalk": "2.4.1", - "debug": "3.1.0", - "fs-extra-p": "4.6.0", - "is-ci": "1.1.0", - "js-yaml": "3.11.0", - "lazy-val": "1.0.3", - "semver": "5.5.0", - "source-map-support": "0.5.5", - "stat-mode": "0.2.2", - "temp-file": "3.1.2" + "bluebird-lst": "^1.0.5", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.4.1", + "debug": "^3.1.0", + "fs-extra-p": "^4.5.2", + "is-ci": "^1.1.0", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "semver": "^5.5.0", + "source-map-support": "^0.5.5", + "stat-mode": "^0.2.2", + "temp-file": "^3.1.1" }, "dependencies": { "ansi-styles": { @@ -1999,7 +2018,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -2008,9 +2027,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -2040,8 +2059,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "source-map-support": { @@ -2050,8 +2069,8 @@ "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "supports-color": { @@ -2060,7 +2079,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -2071,10 +2090,10 @@ "integrity": "sha512-cROCExnJOJvRD58HHcnrrgyRAoDHGZT0hKox0op7vTuuuRC/1JKMXvSR+Hxy7KWy/aEmKu0HfSqMd4znDEqQsA==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "debug": "3.1.0", - "fs-extra-p": "4.6.0", - "sax": "1.2.4" + "bluebird-lst": "^1.0.5", + "debug": "^3.1.0", + "fs-extra-p": "^4.5.2", + "sax": "^1.2.4" }, "dependencies": { "debug": { @@ -2112,19 +2131,19 @@ "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", "dev": true, "requires": { - "bluebird": "3.5.1", - "chownr": "1.0.1", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "lru-cache": "4.1.2", - "mississippi": "2.0.0", - "mkdirp": "0.5.1", - "move-concurrently": "1.0.1", - "promise-inflight": "1.0.1", - "rimraf": "2.6.2", - "ssri": "5.3.0", - "unique-filename": "1.1.0", - "y18n": "4.0.0" + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" }, "dependencies": { "y18n": { @@ -2141,15 +2160,15 @@ "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, "requires": { - "collection-visit": "1.0.0", - "component-emitter": "1.2.1", - "get-value": "2.0.6", - "has-value": "1.0.0", - "isobject": "3.0.1", - "set-value": "2.0.0", - "to-object-path": "0.3.0", - "union-value": "1.0.0", - "unset-value": "1.0.0" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" } }, "camel-case": { @@ -2158,8 +2177,8 @@ "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", "dev": true, "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" + "no-case": "^2.2.0", + "upper-case": "^1.1.1" } }, "camelcase": { @@ -2174,40 +2193,10 @@ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", "dev": true, "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000833", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000833", - "electron-to-chromium": "1.3.45" - } - } + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" } }, - "caniuse-db": { - "version": "1.0.30000833", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000833.tgz", - "integrity": "sha1-K9e+cqQBZY0svLj012AN7r6xxnY=", - "dev": true - }, "caniuse-lite": { "version": "1.0.30000858", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000858.tgz", @@ -2231,12 +2220,12 @@ "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", "dev": true, "requires": { - "assertion-error": "1.1.0", - "check-error": "1.0.2", - "deep-eql": "3.0.1", - "get-func-name": "2.0.0", - "pathval": "1.1.0", - "type-detect": "4.0.8" + "assertion-error": "^1.0.1", + "check-error": "^1.0.1", + "deep-eql": "^3.0.0", + "get-func-name": "^2.0.0", + "pathval": "^1.0.0", + "type-detect": "^4.0.0" } }, "chalk": { @@ -2245,11 +2234,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, "dependencies": { "supports-color": { @@ -2281,12 +2270,12 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.8.3", - "jsdom": "7.2.2", - "lodash": "4.17.10" + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "~3.8.1", + "jsdom": "^7.0.2", + "lodash": "^4.1.0" } }, "chokidar": { @@ -2295,18 +2284,19 @@ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, "requires": { - "anymatch": "2.0.0", - "async-each": "1.0.1", - "braces": "2.3.2", - "glob-parent": "3.1.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "4.0.0", - "lodash.debounce": "4.0.8", - "normalize-path": "2.1.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0", - "upath": "1.1.0" + "anymatch": "^2.0.0", + "async-each": "^1.0.0", + "braces": "^2.3.0", + "fsevents": "^1.2.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "lodash.debounce": "^4.0.8", + "normalize-path": "^2.1.1", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0", + "upath": "^1.0.5" } }, "chownr": { @@ -2321,7 +2311,7 @@ "integrity": "sha512-xDbVgyfDTT2piup/h8dK/y4QZfJRSa73bw1WZ8b4XM1o7fsFubUVGYcE+1ANtOzJJELGpYoG2961z0Z6OAld9A==", "dev": true, "requires": { - "tslib": "1.9.3" + "tslib": "^1.9.0" } }, "chromium-pickle-js": { @@ -2342,17 +2332,8 @@ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" - } - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, - "requires": { - "chalk": "1.1.3" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "class-utils": { @@ -2361,10 +2342,10 @@ "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, "requires": { - "arr-union": "3.1.0", - "define-property": "0.2.5", - "isobject": "3.0.1", - "static-extend": "0.1.2" + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" }, "dependencies": { "define-property": { @@ -2373,7 +2354,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -2389,7 +2370,7 @@ "integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "0.5.x" }, "dependencies": { "source-map": { @@ -2411,7 +2392,7 @@ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", "requires": { - "restore-cursor": "2.0.0" + "restore-cursor": "^2.0.0" } }, "cli-width": { @@ -2424,9 +2405,9 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" }, "dependencies": { "ansi-regex": { @@ -2444,8 +2425,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -2453,27 +2434,21 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "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==", "dev": true, "requires": { - "for-own": "1.0.0", - "is-plain-object": "2.0.4", - "kind-of": "6.0.2", - "shallow-clone": "1.0.0" + "for-own": "^1.0.0", + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.0", + "shallow-clone": "^1.0.0" } }, "co": { @@ -2481,15 +2456,6 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "1.5.1" - } - }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", @@ -2501,19 +2467,17 @@ "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", "dev": true, "requires": { - "map-visit": "1.0.0", - "object-visit": "1.0.1" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" } }, "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz", + "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==", "requires": { - "clone": "1.0.4", - "color-convert": "1.9.1", - "color-string": "0.3.0" + "color-convert": "^1.9.1", + "color-string": "^1.5.2" } }, "color-convert": { @@ -2521,7 +2485,7 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { - "color-name": "1.1.3" + "color-name": "^1.1.1" } }, "color-name": { @@ -2530,37 +2494,20 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.2.tgz", + "integrity": "sha1-JuRYFLw8mny9Z1FkikFDRRSnc6k=", "requires": { - "color": "0.11.4", - "css-color-names": "0.0.4", - "has": "1.0.1" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "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=", "requires": { - "delayed-stream": "1.0.0" + "delayed-stream": "~1.0.0" } }, "commander": { @@ -2593,7 +2540,7 @@ "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "dev": true, "requires": { - "mime-db": "1.34.0" + "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { @@ -2610,13 +2557,13 @@ "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.4", "bytes": "3.0.0", - "compressible": "2.0.14", + "compressible": "~2.0.13", "debug": "2.6.9", - "on-headers": "1.0.1", + "on-headers": "~1.0.1", "safe-buffer": "5.1.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "safe-buffer": { @@ -2639,9 +2586,9 @@ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" }, "dependencies": { "isarray": { @@ -2656,13 +2603,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -2671,7 +2618,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -2682,12 +2629,12 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "4.2.0", - "graceful-fs": "4.1.11", - "make-dir": "1.2.0", - "unique-string": "1.0.0", - "write-file-atomic": "2.3.0", - "xdg-basedir": "3.0.0" + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" } }, "connect-history-api-fallback": { @@ -2702,7 +2649,7 @@ "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", "dev": true, "requires": { - "date-now": "0.1.4" + "date-now": "^0.1.4" } }, "console-control-strings": { @@ -2753,12 +2700,12 @@ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "dev": true, "requires": { - "aproba": "1.2.0", - "fs-write-stream-atomic": "1.0.10", - "iferr": "0.1.5", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" } }, "copy-descriptor": { @@ -2783,8 +2730,8 @@ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", "dev": true, "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" } }, "create-error-class": { @@ -2793,7 +2740,7 @@ "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "1.0.0" + "capture-stack-trace": "^1.0.0" } }, "create-hash": { @@ -2802,11 +2749,11 @@ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "md5.js": "1.3.4", - "ripemd160": "2.0.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" } }, "create-hmac": { @@ -2815,12 +2762,12 @@ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", "dev": true, "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.2.0", - "inherits": "2.0.3", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "cross-spawn": { @@ -2828,9 +2775,9 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { - "lru-cache": "4.1.2", - "shebang-command": "1.2.0", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "cross-unzip": { @@ -2849,7 +2796,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "requires": { - "boom": "5.2.0" + "boom": "5.x.x" }, "dependencies": { "boom": { @@ -2857,7 +2804,7 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } } } @@ -2868,17 +2815,17 @@ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "dev": true, "requires": { - "browserify-cipher": "1.0.1", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.3", - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "diffie-hellman": "5.0.3", - "inherits": "2.0.3", - "pbkdf2": "3.0.16", - "public-encrypt": "4.0.2", - "randombytes": "2.0.6", - "randomfill": "1.0.4" + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" } }, "crypto-random-string": { @@ -2888,41 +2835,33 @@ "dev": true }, "css-box-model": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-0.0.12.tgz", - "integrity": "sha512-9mIf6mJtgXJhsSHSCR+K18eoxsgXx2h0MOXhGBf0ObTPg4ciuD8R7wpLuS+YYxkrxcnMG+AsOgQ2OHGKMpvxOg==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.0.0.tgz", + "integrity": "sha512-MGipbCM6/HGmsOwN6Enq1OvNKy8H5Q1XKoyBszxwv2efly7ZVg+HcFILX8O6S0xfj27l1+6P7FyCjcQ90m5HBQ==" }, "css-color-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, "css-loader": { - "version": "0.28.11", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", - "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.0.tgz", + "integrity": "sha512-tMXlTYf3mIMt3b0dDCOQFJiVvxbocJ5Ho577WiGPYPZcqVEO218L2iU22pDXzkTZCLDE+9AmGSUkWxeh/nZReA==", "dev": true, "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.2.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "2.0.0" + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" } }, "css-select": { @@ -2930,10 +2869,10 @@ "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", + "boolbase": "~1.0.0", + "css-what": "2.1", "domutils": "1.5.1", - "nth-check": "1.0.1" + "nth-check": "~1.0.1" } }, "css-selector-tokenizer": { @@ -2942,9 +2881,9 @@ "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", "dev": true, "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" + "cssesc": "^0.1.0", + "fastparse": "^1.1.1", + "regexpu-core": "^1.0.0" }, "dependencies": { "regexpu-core": { @@ -2953,9 +2892,9 @@ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "dev": true, "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } } } @@ -2965,9 +2904,9 @@ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.1.2.tgz", "integrity": "sha512-akxvxNPNm+Qb7kGswgWhD8rLENM8857NVIn1lX0Dr9BQuju8vx6ypet7KvwvqBC01FUEne5V/jvt7FJXWJPtgw==", "requires": { - "css-color-keywords": "1.0.0", - "fbjs": "0.8.16", - "postcss-value-parser": "3.3.0" + "css-color-keywords": "^1.0.0", + "fbjs": "^0.8.5", + "postcss-value-parser": "^3.3.0" } }, "css-what": { @@ -2981,64 +2920,6 @@ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", "dev": true }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, "cssom": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", @@ -3050,7 +2931,7 @@ "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", "optional": true, "requires": { - "cssom": "0.3.2" + "cssom": "0.3.x" } }, "currently-unhandled": { @@ -3059,7 +2940,7 @@ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", "dev": true, "requires": { - "array-find-index": "1.0.2" + "array-find-index": "^1.0.1" } }, "cyclist": { @@ -3074,7 +2955,7 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.45" + "es5-ext": "^0.10.9" } }, "dashdash": { @@ -3082,7 +2963,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "date-now": { @@ -3097,7 +2978,7 @@ "integrity": "sha1-vO2hSGc7wvzKIEK6BqlZZXYmibw=", "optional": true, "requires": { - "nan": "2.10.0" + "nan": "^2.1.0" } }, "debug": { @@ -3126,7 +3007,7 @@ "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true, "requires": { - "type-detect": "4.0.8" + "type-detect": "^4.0.0" } }, "deep-equal": { @@ -3153,8 +3034,8 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true, "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" + "foreach": "^2.0.5", + "object-keys": "^1.0.8" }, "dependencies": { "object-keys": { @@ -3171,8 +3052,8 @@ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, "requires": { - "is-descriptor": "1.0.2", - "isobject": "3.0.1" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "dependencies": { "is-accessor-descriptor": { @@ -3181,7 +3062,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -3190,7 +3071,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -3199,31 +3080,25 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, "del": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", "dev": true, "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" } }, "delayed-stream": { @@ -3249,8 +3124,8 @@ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" } }, "destroy": { @@ -3265,7 +3140,7 @@ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, "detect-node": { @@ -3286,9 +3161,9 @@ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" } }, "dmg-builder": { @@ -3297,14 +3172,14 @@ "integrity": "sha512-AoBHrC7ARxMurEMgvshcW4br1JWgqBqLtxRtEnt2W6ScYWYsTFPAur7CNxtm1vI94rEIgBiH7lg0Q+OZNRnVvQ==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "builder-util": "5.7.10", - "electron-builder-lib": "20.9.2", - "fs-extra-p": "4.6.0", - "iconv-lite": "0.4.21", - "js-yaml": "3.11.0", - "parse-color": "1.0.0", - "sanitize-filename": "1.6.1" + "bluebird-lst": "^1.0.5", + "builder-util": "^5.7.6", + "electron-builder-lib": "~20.9.0", + "fs-extra-p": "^4.5.2", + "iconv-lite": "^0.4.21", + "js-yaml": "^3.11.0", + "parse-color": "^1.0.0", + "sanitize-filename": "^1.6.1" }, "dependencies": { "ansi-styles": { @@ -3313,7 +3188,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -3322,9 +3197,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -3342,30 +3217,30 @@ "integrity": "sha512-V0XQU8Va4T3ZC/saOTxEB9AxmClmEuS1afsAcY5dLbbTKdPrIv3t0vU/zN1rYxYb01dB6pLcGP6eRmgxTefhQQ==", "dev": true, "requires": { - "7zip-bin": "3.1.0", + "7zip-bin": "~3.1.0", "app-builder-bin": "1.8.6", - "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.5", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.5", "builder-util": "5.7.8", "builder-util-runtime": "4.2.0", - "chromium-pickle-js": "0.2.0", - "debug": "3.1.0", - "ejs": "2.6.1", + "chromium-pickle-js": "^0.2.0", + "debug": "^3.1.0", + "ejs": "^2.5.9", "electron-osx-sign": "0.4.10", "electron-publish": "20.9.0", - "fs-extra-p": "4.6.0", - "hosted-git-info": "2.6.0", - "is-ci": "1.1.0", - "isbinaryfile": "3.0.2", - "js-yaml": "3.11.0", - "lazy-val": "1.0.3", - "minimatch": "3.0.4", - "normalize-package-data": "2.4.0", - "plist": "3.0.1", + "fs-extra-p": "^4.5.2", + "hosted-git-info": "^2.6.0", + "is-ci": "^1.1.0", + "isbinaryfile": "^3.0.2", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "minimatch": "^3.0.4", + "normalize-package-data": "^2.4.0", + "plist": "^3.0.1", "read-config-file": "3.0.0", - "sanitize-filename": "1.6.1", - "semver": "5.5.0", - "temp-file": "3.1.2" + "sanitize-filename": "^1.6.1", + "semver": "^5.5.0", + "temp-file": "^3.1.1" }, "dependencies": { "builder-util": { @@ -3374,20 +3249,20 @@ "integrity": "sha512-4GuYgxBpLWk4LGh/6r58extk4cnyM+wOp+pEUNbRVHP1KuljDAHnvTvBMewrG5IXGpYzGhhUDCtRaO/85u9JYw==", "dev": true, "requires": { - "7zip-bin": "3.1.0", + "7zip-bin": "~3.1.0", "app-builder-bin": "1.8.6", - "bluebird-lst": "1.0.5", - "builder-util-runtime": "4.2.0", - "chalk": "2.4.1", - "debug": "3.1.0", - "fs-extra-p": "4.6.0", - "is-ci": "1.1.0", - "js-yaml": "3.11.0", - "lazy-val": "1.0.3", - "semver": "5.5.0", - "source-map-support": "0.5.5", - "stat-mode": "0.2.2", - "temp-file": "3.1.2" + "bluebird-lst": "^1.0.5", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.3.2", + "debug": "^3.1.0", + "fs-extra-p": "^4.5.2", + "is-ci": "^1.1.0", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "semver": "^5.5.0", + "source-map-support": "^0.5.4", + "stat-mode": "^0.2.2", + "temp-file": "^3.1.1" } } } @@ -3410,8 +3285,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "source-map-support": { @@ -3420,8 +3295,8 @@ "integrity": "sha512-mR7/Nd5l1z6g99010shcXJiNEaf3fEtmLhRB/sBcQVJGodcHCULPp2y4Sfa43Kv2zq7T+Izmfp/WHCR6dYkQCA==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "source-map": "0.6.1" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "supports-color": { @@ -3430,7 +3305,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -3447,8 +3322,8 @@ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", "dev": true, "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.2" + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, "dns-txt": { @@ -3457,7 +3332,7 @@ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", "dev": true, "requires": { - "buffer-indexof": "1.1.1" + "buffer-indexof": "^1.0.0" } }, "dom-converter": { @@ -3466,7 +3341,7 @@ "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", "dev": true, "requires": { - "utila": "0.3.3" + "utila": "~0.3" }, "dependencies": { "utila": { @@ -3482,8 +3357,8 @@ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" + "domelementtype": "~1.1.1", + "entities": "~1.1.1" }, "dependencies": { "domelementtype": { @@ -3515,7 +3390,7 @@ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -3523,8 +3398,8 @@ "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" + "dom-serializer": "0", + "domelementtype": "1" } }, "dot-prop": { @@ -3533,7 +3408,7 @@ "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "dev": true, "requires": { - "is-obj": "1.0.1" + "is-obj": "^1.0.0" } }, "dotenv": { @@ -3566,10 +3441,10 @@ "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "stream-shift": "1.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" }, "dependencies": { "isarray": { @@ -3584,13 +3459,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -3599,7 +3474,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -3610,7 +3485,7 @@ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", "optional": true, "requires": { - "jsbn": "0.1.1" + "jsbn": "~0.1.0" } }, "ee-first": { @@ -3631,9 +3506,9 @@ "integrity": "sha512-SLCmnEqcpZD+GjNWcqRvr+CC8palbN6O/wlCcGJgUtPkQqwGiUg9V3FK4/0HnWdp0YQpmQrZh9BzqtW3Hiw96w==", "dev": true, "requires": { - "@types/node": "8.10.20", - "electron-download": "3.3.0", - "extract-zip": "1.6.7" + "@types/node": "^8.0.24", + "electron-download": "^3.0.1", + "extract-zip": "^1.0.3" }, "dependencies": { "@types/node": { @@ -3650,20 +3525,20 @@ "integrity": "sha512-pVaPw2L1j3v+oB5r9yJ1Smj1jWhwec9+c/gRwyDNmskMHJYpE+EkQgPe52NiMsP/A7xxQFPgcTD1lXgJFnb0Zg==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", + "bluebird-lst": "^1.0.5", "builder-util": "5.7.10", "builder-util-runtime": "4.2.0", - "chalk": "2.4.1", + "chalk": "^2.4.1", "dmg-builder": "4.1.5", "electron-builder-lib": "20.11.1", "electron-download-tf": "4.3.4", - "fs-extra-p": "4.6.0", - "is-ci": "1.1.0", - "lazy-val": "1.0.3", + "fs-extra-p": "^4.5.2", + "is-ci": "^1.1.0", + "lazy-val": "^1.0.3", "read-config-file": "3.0.0", - "sanitize-filename": "1.6.1", - "update-notifier": "2.5.0", - "yargs": "11.0.0" + "sanitize-filename": "^1.6.1", + "update-notifier": "^2.5.0", + "yargs": "^11.0.0" }, "dependencies": { "ansi-styles": { @@ -3672,7 +3547,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -3681,9 +3556,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -3701,15 +3576,15 @@ "integrity": "sha512-SQYDGMLpTgty1bx3NycuDb7dNPzktVSdK2sqPZjyRocauq/uN/V4S2lcpFVLupaHhKlD8zozm9fTpm5UdohvTg==", "dev": true, "requires": { - "debug": "3.1.0", - "env-paths": "1.0.0", - "fs-extra": "4.0.3", - "minimist": "1.2.0", - "nugget": "2.0.1", - "path-exists": "3.0.0", - "rc": "1.2.7", - "semver": "5.5.0", - "sumchecker": "2.0.2" + "debug": "^3.0.0", + "env-paths": "^1.0.0", + "fs-extra": "^4.0.1", + "minimist": "^1.2.0", + "nugget": "^2.0.1", + "path-exists": "^3.0.0", + "rc": "^1.2.1", + "semver": "^5.4.1", + "sumchecker": "^2.0.2" } }, "fs-extra": { @@ -3718,9 +3593,9 @@ "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "has-flag": { @@ -3735,7 +3610,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "minimist": { @@ -3750,7 +3625,7 @@ "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", "dev": true, "requires": { - "debug": "2.6.9" + "debug": "^2.2.0" }, "dependencies": { "debug": { @@ -3770,7 +3645,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -3781,30 +3656,30 @@ "integrity": "sha512-sK0Fdvrsqmx4UtCG58sA6udYWGY8aVAbSGlVOzzJE2A+rQZBb+gMOttnF6dyrNCy5Vw6eBkPWS80eIJXMF40pQ==", "dev": true, "requires": { - "7zip-bin": "3.1.0", + "7zip-bin": "~3.1.0", "app-builder-bin": "1.8.6", - "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.5", + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.5", "builder-util": "5.7.10", "builder-util-runtime": "4.2.0", - "chromium-pickle-js": "0.2.0", - "debug": "3.1.0", - "ejs": "2.6.1", + "chromium-pickle-js": "^0.2.0", + "debug": "^3.1.0", + "ejs": "^2.5.9", "electron-osx-sign": "0.4.10", "electron-publish": "20.11.0", - "fs-extra-p": "4.6.0", - "hosted-git-info": "2.6.0", - "is-ci": "1.1.0", - "isbinaryfile": "3.0.2", - "js-yaml": "3.11.0", - "lazy-val": "1.0.3", - "minimatch": "3.0.4", - "normalize-package-data": "2.4.0", - "plist": "3.0.1", + "fs-extra-p": "^4.5.2", + "hosted-git-info": "^2.6.0", + "is-ci": "^1.1.0", + "isbinaryfile": "^3.0.2", + "js-yaml": "^3.11.0", + "lazy-val": "^1.0.3", + "minimatch": "^3.0.4", + "normalize-package-data": "^2.4.0", + "plist": "^3.0.1", "read-config-file": "3.0.0", - "sanitize-filename": "1.6.1", - "semver": "5.5.0", - "temp-file": "3.1.2" + "sanitize-filename": "^1.6.1", + "semver": "^5.5.0", + "temp-file": "^3.1.1" }, "dependencies": { "ansi-styles": { @@ -3813,7 +3688,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -3822,9 +3697,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "debug": { @@ -3842,13 +3717,13 @@ "integrity": "sha512-oq8VcXJ1FSgxX4Z13oOutvj0TKbRCtqkpzOYlB2jU+wnfqaK2sYoz2zI1px6IjsX4LQ7m5Fa9POVmKndnCE5lw==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "builder-util": "5.7.10", - "builder-util-runtime": "4.2.0", - "chalk": "2.4.1", - "fs-extra-p": "4.6.0", - "lazy-val": "1.0.3", - "mime": "2.3.1" + "bluebird-lst": "^1.0.5", + "builder-util": "^5.7.10", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.4.1", + "fs-extra-p": "^4.5.2", + "lazy-val": "^1.0.3", + "mime": "^2.3.1" } }, "esprima": { @@ -3869,8 +3744,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } }, "supports-color": { @@ -3879,7 +3754,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -3892,8 +3767,8 @@ "requires": { "7zip": "0.0.6", "cross-unzip": "0.0.2", - "rimraf": "2.6.2", - "semver": "5.5.0" + "rimraf": "^2.5.2", + "semver": "^5.3.0" } }, "electron-download": { @@ -3902,15 +3777,15 @@ "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", "dev": true, "requires": { - "debug": "2.6.9", - "fs-extra": "0.30.0", - "home-path": "1.0.6", - "minimist": "1.2.0", - "nugget": "2.0.1", - "path-exists": "2.1.0", - "rc": "1.2.7", - "semver": "5.5.0", - "sumchecker": "1.3.1" + "debug": "^2.2.0", + "fs-extra": "^0.30.0", + "home-path": "^1.0.1", + "minimist": "^1.2.0", + "nugget": "^2.0.0", + "path-exists": "^2.1.0", + "rc": "^1.1.2", + "semver": "^5.3.0", + "sumchecker": "^1.2.0" }, "dependencies": { "minimist": { @@ -3925,23 +3800,28 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } }, + "electron-is-dev": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.3.0.tgz", + "integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4=" + }, "electron-osx-sign": { "version": "0.4.10", "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.10.tgz", "integrity": "sha1-vk87ibKnWh3F8eckkIGrKSnKOiY=", "dev": true, "requires": { - "bluebird": "3.5.1", - "compare-version": "0.1.2", - "debug": "2.6.9", - "isbinaryfile": "3.0.2", - "minimist": "1.2.0", - "plist": "2.1.0" + "bluebird": "^3.5.0", + "compare-version": "^0.1.2", + "debug": "^2.6.8", + "isbinaryfile": "^3.0.2", + "minimist": "^1.2.0", + "plist": "^2.1.0" }, "dependencies": { "base64-js": { @@ -3964,7 +3844,7 @@ "requires": { "base64-js": "1.2.0", "xmlbuilder": "8.2.2", - "xmldom": "0.1.27" + "xmldom": "0.1.x" } } } @@ -3980,13 +3860,13 @@ "integrity": "sha512-Fqc+XpSDssHUX2+qKIV3fEi3y25PRzO3lD4l/Bfk/OSSnITHBr3DMBkxE7Z3lvqwGs/9fYEzon/sdV17mtR5sQ==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "builder-util": "5.7.10", - "builder-util-runtime": "4.2.0", - "chalk": "2.4.1", - "fs-extra-p": "4.6.0", - "lazy-val": "1.0.3", - "mime": "2.3.1" + "bluebird-lst": "^1.0.5", + "builder-util": "^5.7.6", + "builder-util-runtime": "^4.2.0", + "chalk": "^2.3.2", + "fs-extra-p": "^4.5.2", + "lazy-val": "^1.0.3", + "mime": "^2.3.1" }, "dependencies": { "ansi-styles": { @@ -3995,7 +3875,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -4004,9 +3884,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -4021,16 +3901,63 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } }, - "electron-to-chromium": { - "version": "1.3.45", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz", - "integrity": "sha1-RYrBscXHYM6IEaFtK/vZfsMLr7g=", - "dev": true + "electron-timber": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/electron-timber/-/electron-timber-0.5.1.tgz", + "integrity": "sha512-5CTijMwDeIdwm7GzYqUIRI2SbTjTJq2khexNmqzuZTFi7QmsbeJyvMSHvmTLztQGGmKeAGp4ym2FYRBa+OA5bA==", + "requires": { + "auto-bind": "^1.2.0", + "chalk": "^2.4.1", + "electron-util": "^0.8.2", + "randoma": "^1.2.0", + "split2": "^2.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "electron-util": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/electron-util/-/electron-util-0.8.2.tgz", + "integrity": "sha512-35gFE5oxi39ZBchWWvMNiKyUaNp3OmH3S1UruM+P0ZLpnOgJUMdBxl514f6f9QsShn7Lj3u9t31tavN/PzmhPw==", + "requires": { + "electron-is-dev": "^0.3.0" + } }, "elliptic": { "version": "6.4.0", @@ -4038,13 +3965,13 @@ "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.4", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" } }, "emojis-list": { @@ -4063,7 +3990,7 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "0.4.21" + "iconv-lite": "~0.4.13" } }, "end-of-stream": { @@ -4072,7 +3999,7 @@ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "dev": true, "requires": { - "once": "1.4.0" + "once": "^1.4.0" } }, "enhanced-resolve": { @@ -4080,9 +4007,9 @@ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz", "integrity": "sha512-jox/62b2GofV1qTUQTMPEJSDIGycS43evqYzD/KVtEb9OCoki9cnacUPxCrZa7JfPzZSYOCZhu9O9luaMxAX8g==", "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "tapable": "1.0.0" + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" } }, "entities": { @@ -4101,7 +4028,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "requires": { - "prr": "1.0.1" + "prr": "~1.0.1" } }, "error-ex": { @@ -4110,7 +4037,7 @@ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", "dev": true, "requires": { - "is-arrayish": "0.2.1" + "is-arrayish": "^0.2.1" } }, "es-abstract": { @@ -4119,11 +4046,11 @@ "integrity": "sha512-ZnQrE/lXTTQ39ulXZ+J1DTFazV9qBy61x2bY071B+qGco8Z8q1QddsLdt/EF8Ai9hcWH72dWS0kFqXLxOxqslA==", "dev": true, "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" } }, "es-to-primitive": { @@ -4132,9 +4059,9 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" + "is-callable": "^1.1.1", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.1" } }, "es5-ext": { @@ -4143,9 +4070,9 @@ "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", "dev": true, "requires": { - "es6-iterator": "2.0.3", - "es6-symbol": "3.1.1", - "next-tick": "1.0.0" + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" } }, "es6-iterator": { @@ -4154,9 +4081,9 @@ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45", - "es6-symbol": "3.1.1" + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" } }, "es6-promise": { @@ -4171,8 +4098,8 @@ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", "dev": true, "requires": { - "d": "1.0.0", - "es5-ext": "0.10.45" + "d": "1", + "es5-ext": "~0.10.14" } }, "escape-html": { @@ -4192,11 +4119,11 @@ "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==", "optional": true, "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.6.1" + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" } }, "eslint-scope": { @@ -4205,8 +4132,8 @@ "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", "dev": true, "requires": { - "esrecurse": "4.2.1", - "estraverse": "4.2.0" + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" } }, "esprima": { @@ -4221,7 +4148,7 @@ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", "dev": true, "requires": { - "estraverse": "4.2.0" + "estraverse": "^4.1.0" } }, "estraverse": { @@ -4246,13 +4173,13 @@ "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "dev": true, "requires": { - "duplexer": "0.1.1", - "from": "0.1.7", - "map-stream": "0.1.0", + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", "pause-stream": "0.0.11", - "split": "0.3.3", - "stream-combiner": "0.0.4", - "through": "2.3.8" + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" } }, "eventemitter3": { @@ -4273,7 +4200,7 @@ "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", "dev": true, "requires": { - "original": "1.0.1" + "original": ">=0.0.5" } }, "evp_bytestokey": { @@ -4282,8 +4209,8 @@ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "dev": true, "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.2" + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" } }, "execa": { @@ -4291,13 +4218,13 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" } }, "expand-brackets": { @@ -4306,13 +4233,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "posix-character-classes": "0.1.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -4321,7 +4248,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -4330,7 +4257,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4341,36 +4268,36 @@ "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "1.0.4", + "content-type": "~1.0.4", "cookie": "0.3.1", "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", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.3", + "proxy-addr": "~2.0.3", "qs": "6.5.1", - "range-parser": "1.2.0", + "range-parser": "~1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "1.4.0", - "type-is": "1.6.16", + "statuses": "~1.4.0", + "type-is": "~1.6.16", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "array-flatten": { @@ -4410,8 +4337,8 @@ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", "dev": true, "requires": { - "assign-symbols": "1.0.0", - "is-extendable": "1.0.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -4420,7 +4347,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -4430,9 +4357,9 @@ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.0.tgz", "integrity": "sha512-mpkfj0FEdxrIhOC04zk85X7StNtr0yXnG7zCb+8ikO8OJi2jsHh5YGoknNTyXgsbHOf1WOOcVU3kPFWT2WgCkQ==", "requires": { - "chardet": "0.5.0", - "iconv-lite": "0.4.23", - "tmp": "0.0.33" + "chardet": "^0.5.0", + "iconv-lite": "^0.4.22", + "tmp": "^0.0.33" }, "dependencies": { "iconv-lite": { @@ -4440,7 +4367,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": ">= 2.1.2 < 3" } } } @@ -4451,14 +4378,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "0.3.2", - "define-property": "1.0.0", - "expand-brackets": "2.1.4", - "extend-shallow": "2.0.1", - "fragment-cache": "0.2.1", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "dependencies": { "define-property": { @@ -4467,7 +4394,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "extend-shallow": { @@ -4476,7 +4403,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "is-accessor-descriptor": { @@ -4485,7 +4412,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -4494,7 +4421,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -4503,9 +4430,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -4516,10 +4443,10 @@ "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "dev": true, "requires": { - "async": "2.6.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.1.0" + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" } }, "extract-zip": { @@ -4540,10 +4467,10 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "1.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "typedarray": "0.0.6" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, "isarray": { @@ -4558,13 +4485,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -4573,7 +4500,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -4610,7 +4537,7 @@ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } }, "fbjs": { @@ -4618,13 +4545,13 @@ "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.18" + "core-js": "^1.0.0", + "isomorphic-fetch": "^2.1.1", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.9" } }, "fd-slicer": { @@ -4633,7 +4560,7 @@ "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "dev": true, "requires": { - "pend": "1.2.0" + "pend": "~1.2.0" } }, "figures": { @@ -4641,7 +4568,7 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", "requires": { - "escape-string-regexp": "1.0.5" + "escape-string-regexp": "^1.0.5" } }, "file-loader": { @@ -4650,8 +4577,8 @@ "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.5" + "loader-utils": "^1.0.2", + "schema-utils": "^0.4.5" }, "dependencies": { "ajv": { @@ -4660,10 +4587,10 @@ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1", - "uri-js": "3.0.2" + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" } }, "schema-utils": { @@ -4672,8 +4599,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } } } @@ -4684,10 +4611,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-number": "3.0.0", - "repeat-string": "1.6.1", - "to-regex-range": "2.1.1" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "dependencies": { "extend-shallow": { @@ -4696,7 +4623,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -4708,12 +4635,12 @@ "dev": true, "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", - "unpipe": "1.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" } }, "find-cache-dir": { @@ -4722,9 +4649,9 @@ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", "dev": true, "requires": { - "commondir": "1.0.1", - "make-dir": "1.2.0", - "pkg-dir": "2.0.0" + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" } }, "find-up": { @@ -4732,23 +4659,17 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { - "locate-path": "2.0.0" + "locate-path": "^2.0.0" } }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, "flush-write-stream": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" }, "dependencies": { "isarray": { @@ -4763,13 +4684,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -4778,7 +4699,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -4789,7 +4710,7 @@ "integrity": "sha512-HR2IjMkqJreoFm1Hx7hmMAtUFeo+ad8hPMYPo8o3YSWjbSq0sMwuXMbv4giB3TXngYB7+svkAJewQwwvwsE6xw==", "dev": true, "requires": { - "lodash": "4.17.10" + "lodash": "^4.0.0" } }, "follow-redirects": { @@ -4798,7 +4719,7 @@ "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", "dev": true, "requires": { - "debug": "3.1.0" + "debug": "^3.1.0" }, "dependencies": { "debug": { @@ -4829,7 +4750,7 @@ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", "dev": true, "requires": { - "for-in": "1.0.2" + "for-in": "^1.0.1" } }, "foreach": { @@ -4848,9 +4769,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "0.4.0", + "asynckit": "^0.4.0", "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "mime-types": "^2.1.12" } }, "forwarded": { @@ -4865,7 +4786,7 @@ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", "dev": true, "requires": { - "map-cache": "0.2.2" + "map-cache": "^0.2.2" } }, "fresh": { @@ -4886,8 +4807,8 @@ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" }, "dependencies": { "isarray": { @@ -4902,13 +4823,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -4917,7 +4838,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -4928,11 +4849,11 @@ "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, "fs-extra-p": { @@ -4941,8 +4862,8 @@ "integrity": "sha512-nSVqB5UfWZQdU6pzBwcFh+7lJpBynnTsVtNJTBhAnAppUQRut0W7WeM271iS0TqQ9FoCqDXqyL0+h+h8DQUCpg==", "dev": true, "requires": { - "bluebird-lst": "1.0.5", - "fs-extra": "6.0.0" + "bluebird-lst": "^1.0.5", + "fs-extra": "^6.0.0" }, "dependencies": { "fs-extra": { @@ -4951,9 +4872,9 @@ "integrity": "sha512-lk2cUCo8QzbiEWEbt7Cw3m27WMiRG321xsssbcIpfMhpRjrlC08WBOVQqj1/nQYYNnPtyIhP1oqLO3QwT2tPCw==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "4.0.0", - "universalify": "0.1.1" + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" } }, "jsonfile": { @@ -4962,7 +4883,7 @@ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } } } @@ -4973,10 +4894,10 @@ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "iferr": "0.1.5", - "imurmurhash": "0.1.4", - "readable-stream": "1.1.14" + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" } }, "fs.realpath": { @@ -4985,87 +4906,616 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "gaze": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", - "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", - "dev": true, - "requires": { - "globule": "1.2.0" - } - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "dev": true, + "optional": true, "requires": { - "is-property": "1.0.2" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "get-value": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": 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" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU=", + "dev": true, + "requires": { + "globule": "^1.0.0" + } + }, + "generate-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", + "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", + "dev": true + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" + }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", @@ -5076,7 +5526,7 @@ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "1.0.0" + "assert-plus": "^1.0.0" } }, "glob": { @@ -5085,12 +5535,12 @@ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "dev": true, "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } }, "glob-parent": { @@ -5099,8 +5549,8 @@ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" }, "dependencies": { "is-glob": { @@ -5109,7 +5559,7 @@ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.0" } } } @@ -5120,8 +5570,8 @@ "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", "dev": true, "requires": { - "min-document": "2.19.0", - "process": "0.5.2" + "min-document": "^2.19.0", + "process": "~0.5.1" } }, "global-dirs": { @@ -5130,7 +5580,7 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "1.3.5" + "ini": "^1.3.4" } }, "global-modules-path": { @@ -5150,11 +5600,11 @@ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -5171,9 +5621,9 @@ "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.10", - "minimatch": "3.0.4" + "glob": "~7.1.1", + "lodash": "~4.17.4", + "minimatch": "~3.0.2" } }, "got": { @@ -5182,17 +5632,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "3.0.2", - "duplexer3": "0.1.4", - "get-stream": "3.0.0", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.1", - "safe-buffer": "5.1.2", - "timed-out": "4.0.1", - "unzip-response": "2.0.1", - "url-parse-lax": "1.0.0" + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" } }, "graceful-fs": { @@ -5221,7 +5671,7 @@ "async": "1.5.0", "json-stringify-safe": "5.0.1", "loader-utils": "1.1.0", - "serialize-error": "2.1.0" + "serialize-error": "^2.1.0" }, "dependencies": { "async": { @@ -5242,8 +5692,8 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "5.5.2", - "har-schema": "2.0.0" + "ajv": "^5.1.0", + "har-schema": "^2.0.0" } }, "has": { @@ -5252,7 +5702,7 @@ "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "1.1.1" + "function-bind": "^1.0.2" } }, "has-ansi": { @@ -5261,7 +5711,7 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "has-flag": { @@ -5287,9 +5737,9 @@ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "1.0.0", - "isobject": "3.0.1" + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" } }, "has-values": { @@ -5298,8 +5748,8 @@ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", "dev": true, "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "dependencies": { "kind-of": { @@ -5308,7 +5758,7 @@ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5319,8 +5769,8 @@ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "hash.js": { @@ -5329,8 +5779,8 @@ "integrity": "sha512-A6RlQvvZEtFS5fLU43IDu0QUmBy+fDO9VMdTXvufKwIkt/rFfvICAViCax5fbDO4zdNzaC3/27ZhKUok5bAJyw==", "dev": true, "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.1" + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.0" } }, "hawk": { @@ -5338,10 +5788,10 @@ "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "requires": { - "boom": "4.3.1", - "cryptiles": "3.1.2", - "hoek": "4.2.1", - "sntp": "2.1.0" + "boom": "4.x.x", + "cryptiles": "3.x.x", + "hoek": "4.x.x", + "sntp": "2.x.x" } }, "he": { @@ -5355,11 +5805,11 @@ "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { - "invariant": "2.2.4", - "loose-envify": "1.3.1", - "resolve-pathname": "2.2.0", - "value-equal": "0.4.0", - "warning": "3.0.0" + "invariant": "^2.2.1", + "loose-envify": "^1.2.0", + "resolve-pathname": "^2.2.0", + "value-equal": "^0.4.0", + "warning": "^3.0.0" } }, "hmac-drbg": { @@ -5368,9 +5818,9 @@ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", "dev": true, "requires": { - "hash.js": "1.1.4", - "minimalistic-assert": "1.0.1", - "minimalistic-crypto-utils": "1.0.1" + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" } }, "hoek": { @@ -5389,8 +5839,8 @@ "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" } }, "home-path": { @@ -5411,10 +5861,10 @@ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", "dev": true, "requires": { - "inherits": "2.0.3", - "obuf": "1.1.2", - "readable-stream": "2.3.6", - "wbuf": "1.7.3" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" }, "dependencies": { "isarray": { @@ -5429,13 +5879,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -5444,17 +5894,11 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } }, - "html-comment-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", - "dev": true - }, "html-entities": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", @@ -5466,13 +5910,13 @@ "integrity": "sha512-O+StuKL0UWfwX5Zv4rFxd60DPcT5DVjGq1AlnP6VQ8wzudft/W4hx5Wl98aSYNwFBHY6XWJreRw/BehX4l+diQ==", "dev": true, "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.11", - "commander": "2.15.1", - "he": "1.1.1", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.4.2" + "camel-case": "3.0.x", + "clean-css": "4.1.x", + "commander": "2.15.x", + "he": "1.1.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" }, "dependencies": { "commander": { @@ -5487,8 +5931,8 @@ "integrity": "sha512-/kVQDzwiE9Vy7Y63eMkMozF4jIt0C2+xHctF9YpqNWdE/NLOuMurshkpoYGUlAbeYhACPv0HJPIHJul0Ak4/uw==", "dev": true, "requires": { - "commander": "2.15.1", - "source-map": "0.6.1" + "commander": "~2.15.0", + "source-map": "~0.6.1" } } } @@ -5499,12 +5943,12 @@ "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", "dev": true, "requires": { - "html-minifier": "3.5.17", - "loader-utils": "0.2.17", - "lodash": "4.17.10", - "pretty-error": "2.1.1", - "tapable": "1.0.0", - "toposort": "1.0.7", + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", "util.promisify": "1.0.0" }, "dependencies": { @@ -5514,10 +5958,10 @@ "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", "dev": true, "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" } } } @@ -5527,11 +5971,11 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.0.0", - "readable-stream": "1.1.14" + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" }, "dependencies": { "entities": { @@ -5553,10 +5997,10 @@ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "dev": true, "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.4.0" + "statuses": ">= 1.4.0 < 2" } }, "http-parser-js": { @@ -5571,9 +6015,9 @@ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", "dev": true, "requires": { - "eventemitter3": "3.1.0", - "follow-redirects": "1.5.0", - "requires-port": "1.0.0" + "eventemitter3": "^3.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, "http-proxy-middleware": { @@ -5582,10 +6026,10 @@ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", "dev": true, "requires": { - "http-proxy": "1.17.0", - "is-glob": "4.0.0", - "lodash": "4.17.10", - "micromatch": "3.1.10" + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" } }, "http-signature": { @@ -5593,9 +6037,9 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "1.0.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "https-browserify": { @@ -5609,7 +6053,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "requires": { - "safer-buffer": "2.1.2" + "safer-buffer": "^2.1.0" } }, "icss-replace-symbols": { @@ -5624,55 +6068,7 @@ "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", "dev": true, "requires": { - "postcss": "6.0.22" - }, - "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.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } + "postcss": "^6.0.1" } }, "ieee754": { @@ -5697,8 +6093,8 @@ "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "requires": { - "pkg-dir": "2.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" } }, "imurmurhash": { @@ -5719,15 +6115,9 @@ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", "dev": true, "requires": { - "repeating": "2.0.1" + "repeating": "^2.0.0" } }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", @@ -5740,8 +6130,8 @@ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" + "once": "^1.3.0", + "wrappy": "1" } }, "inherits": { @@ -5760,19 +6150,19 @@ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.0.0.tgz", "integrity": "sha512-tISQWRwtcAgrz+SHPhTH7d3e73k31gsOy6i1csonLc0u1dVK/wYvuOnFeiWqC5OXFIYbmrIFInef31wbT8MEJg==", "requires": { - "ansi-escapes": "3.1.0", - "chalk": "2.4.1", - "cli-cursor": "2.1.0", - "cli-width": "2.2.0", - "external-editor": "3.0.0", - "figures": "2.0.0", - "lodash": "4.17.10", + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.0", + "figures": "^2.0.0", + "lodash": "^4.3.0", "mute-stream": "0.0.7", - "run-async": "2.3.0", - "rxjs": "6.2.1", - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "through": "2.3.8" + "run-async": "^2.2.0", + "rxjs": "^6.1.0", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" }, "dependencies": { "ansi-regex": { @@ -5785,7 +6175,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -5793,9 +6183,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -5813,8 +6203,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -5822,7 +6212,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -5830,7 +6220,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -5841,7 +6231,7 @@ "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", "dev": true, "requires": { - "meow": "3.7.0" + "meow": "^3.3.0" } }, "interpret": { @@ -5854,7 +6244,7 @@ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "invert-kv": { @@ -5874,19 +6264,13 @@ "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=", "dev": true }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5895,7 +6279,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5912,7 +6296,7 @@ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", "dev": true, "requires": { - "binary-extensions": "1.11.0" + "binary-extensions": "^1.0.0" } }, "is-buffer": { @@ -5926,7 +6310,7 @@ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", "dev": true, "requires": { - "builtin-modules": "1.1.1" + "builtin-modules": "^1.0.0" } }, "is-callable": { @@ -5941,7 +6325,7 @@ "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { - "ci-info": "1.1.3" + "ci-info": "^1.0.0" } }, "is-data-descriptor": { @@ -5950,7 +6334,7 @@ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -5959,7 +6343,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -5976,9 +6360,9 @@ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", "dev": true, "requires": { - "is-accessor-descriptor": "0.1.6", - "is-data-descriptor": "0.1.4", - "kind-of": "5.1.0" + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" }, "dependencies": { "kind-of": { @@ -6007,7 +6391,7 @@ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", "dev": true, "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-fullwidth-code-point": { @@ -6015,7 +6399,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "1.0.1" + "number-is-nan": "^1.0.0" } }, "is-glob": { @@ -6024,7 +6408,7 @@ "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, "requires": { - "is-extglob": "2.1.1" + "is-extglob": "^2.1.1" } }, "is-installed-globally": { @@ -6033,8 +6417,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "0.1.1", - "is-path-inside": "1.0.1" + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" } }, "is-my-ip-valid": { @@ -6049,11 +6433,11 @@ "integrity": "sha512-IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==", "dev": true, "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "is-my-ip-valid": "1.0.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" }, "dependencies": { "xtend": { @@ -6076,7 +6460,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -6085,7 +6469,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -6102,7 +6486,7 @@ "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", "dev": true, "requires": { - "is-number": "4.0.0" + "is-number": "^4.0.0" }, "dependencies": { "is-number": { @@ -6125,7 +6509,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^1.0.0" } }, "is-path-inside": { @@ -6134,21 +6518,15 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.1" } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "is-promise": { @@ -6174,7 +6552,7 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "1.0.1" + "has": "^1.0.1" } }, "is-retry-allowed": { @@ -6188,15 +6566,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "1.1.1" - } - }, "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", @@ -6252,8 +6621,8 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "1.7.3", - "whatwg-fetch": "2.0.4" + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" } }, "isstream": { @@ -6268,27 +6637,9 @@ "dev": true }, "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "1.0.10", - "esprima": "2.7.3" - }, - "dependencies": { - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - } - } + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "jsbn": { "version": "0.1.1", @@ -6302,21 +6653,21 @@ "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", "optional": true, "requires": { - "abab": "1.0.4", - "acorn": "2.7.0", - "acorn-globals": "1.0.9", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.1", - "nwmatcher": "1.4.4", - "parse5": "1.5.1", - "request": "2.85.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.4", - "webidl-conversions": "2.0.1", - "whatwg-url-compat": "0.6.5", - "xml-name-validator": "2.0.1" + "abab": "^1.0.0", + "acorn": "^2.4.0", + "acorn-globals": "^1.0.4", + "cssom": ">= 0.3.0 < 0.4.0", + "cssstyle": ">= 0.2.29 < 0.3.0", + "escodegen": "^1.6.1", + "nwmatcher": ">= 1.3.7 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.55.0", + "sax": "^1.1.4", + "symbol-tree": ">= 3.1.0 < 4.0.0", + "tough-cookie": "^2.2.0", + "webidl-conversions": "^2.0.0", + "whatwg-url-compat": "~0.6.5", + "xml-name-validator": ">= 2.0.1 < 3.0.0" } }, "jsesc": { @@ -6363,7 +6714,7 @@ "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.6" } }, "jsonify": { @@ -6412,7 +6763,7 @@ "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", "dev": true, "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.9" } }, "latest-version": { @@ -6421,7 +6772,7 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "4.0.1" + "package-json": "^4.0.0" } }, "lazy-val": { @@ -6435,7 +6786,7 @@ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { - "invert-kv": "1.0.0" + "invert-kv": "^1.0.0" } }, "leb": { @@ -6450,8 +6801,8 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "optional": true, "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" } }, "load-json-file": { @@ -6460,11 +6811,11 @@ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "dependencies": { "pify": { @@ -6486,9 +6837,9 @@ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0" } }, "locate-path": { @@ -6496,8 +6847,8 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" } }, "lodash": { @@ -6534,12 +6885,6 @@ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", "dev": true }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, "lodash.mergewith": { "version": "4.6.1", "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", @@ -6552,19 +6897,13 @@ "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", "dev": true }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "dev": true, "requires": { - "chalk": "2.4.1" + "chalk": "^2.0.1" }, "dependencies": { "ansi-styles": { @@ -6573,7 +6912,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -6582,9 +6921,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -6599,7 +6938,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -6616,8 +6955,8 @@ "integrity": "sha512-V/73qkPuJmx4BcBF19xPBr+0ZRVBhc4POxvZTZdMeXpJ4NItXSJ/MSwuFT0kQJlCbXvdlZoQQ/418bS1y9Jh6A==", "dev": true, "requires": { - "es6-symbol": "3.1.1", - "object.assign": "4.1.0" + "es6-symbol": "^3.1.1", + "object.assign": "^4.1.0" } }, "long": { @@ -6631,7 +6970,7 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "3.0.2" + "js-tokens": "^3.0.0" } }, "loud-rejection": { @@ -6640,8 +6979,8 @@ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", "dev": true, "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" } }, "lowdb": { @@ -6649,11 +6988,11 @@ "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", "requires": { - "graceful-fs": "4.1.11", - "is-promise": "2.1.0", - "lodash": "4.17.10", - "pify": "3.0.0", - "steno": "0.4.4" + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" } }, "lower-case": { @@ -6673,8 +7012,8 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.2.tgz", "integrity": "sha512-wgeVXhrDwAWnIF/yZARsFnMBtdFXOg1b8RIrhilp+0iDYN4mdQcNZElDZ0e4B64BhaxeQ5zN7PMyvu7we1kPeQ==", "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" } }, "m3u8stream": { @@ -6682,22 +7021,16 @@ "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.2.2.tgz", "integrity": "sha512-R/xWLXBtVr0m9sPruRL4p9uO01JyHxhcQ4nhqQhVgyT802OZyVW+dn+fWHvTnbfE6YMLc65TksZZut+Mh2OVMQ==", "requires": { - "miniget": "1.2.0" + "miniget": "^1.1.0" } }, - "macaddress": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", - "dev": true - }, "make-dir": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.2.0.tgz", "integrity": "sha512-aNUAa4UMg/UougV25bbrU4ZaaKNjJ/3/xnvg/twpmKROPdKZPZ9wGgI0opdZzO8q/zUFawoUuixuOv33eZ61Iw==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "mamacro": { @@ -6730,23 +7063,17 @@ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", "dev": true, "requires": { - "object-visit": "1.0.1" + "object-visit": "^1.0.0" } }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", - "dev": true - }, "md5": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", "requires": { - "charenc": "0.0.2", - "crypt": "0.0.2", - "is-buffer": "1.1.6" + "charenc": "~0.0.1", + "crypt": "~0.0.1", + "is-buffer": "~1.1.1" } }, "md5.js": { @@ -6755,8 +7082,8 @@ "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "media-typer": { @@ -6770,21 +7097,21 @@ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "memoize-one": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-3.1.1.tgz", - "integrity": "sha512-YqVh744GsMlZu6xkhGslPSqSurOv6P+kLN2J3ysBZfagLcL5FdRK/0UpgLoL8hwjjEvvAVkjJZyFP+1T6p1vgA==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.0.tgz", + "integrity": "sha512-wdpOJ4XBejprGn/xhd1i2XR8Dv1A25FJeIvR7syQhQlz9eXsv+06llcvcmBxlWVGv4C73QBsWA8kxvZozzNwiQ==" }, "memory-fs": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "requires": { - "errno": "0.1.7", - "readable-stream": "2.3.6" + "errno": "^0.1.3", + "readable-stream": "^2.0.1" }, "dependencies": { "isarray": { @@ -6797,13 +7124,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -6811,7 +7138,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -6828,16 +7155,16 @@ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" }, "dependencies": { "minimist": { @@ -6866,19 +7193,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "braces": "2.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "extglob": "2.0.4", - "fragment-cache": "0.2.1", - "kind-of": "6.0.2", - "nanomatch": "1.2.9", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" } }, "miller-rabin": { @@ -6887,8 +7214,8 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" } }, "mime": { @@ -6907,7 +7234,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { - "mime-db": "1.33.0" + "mime-db": "~1.33.0" } }, "mimic-fn": { @@ -6921,7 +7248,7 @@ "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", "dev": true, "requires": { - "dom-walk": "0.1.1" + "dom-walk": "^0.1.0" } }, "miniget": { @@ -6947,7 +7274,7 @@ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, "requires": { - "brace-expansion": "1.1.11" + "brace-expansion": "^1.1.7" } }, "minimist": { @@ -6962,16 +7289,16 @@ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", "dev": true, "requires": { - "concat-stream": "1.6.0", - "duplexify": "3.6.0", - "end-of-stream": "1.4.1", - "flush-write-stream": "1.0.3", - "from2": "2.3.0", - "parallel-transform": "1.1.0", - "pump": "2.0.1", - "pumpify": "1.5.0", - "stream-each": "1.2.2", - "through2": "2.0.3" + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" }, "dependencies": { "isarray": { @@ -6986,13 +7313,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -7001,7 +7328,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "through2": { @@ -7010,8 +7337,8 @@ "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "dev": true, "requires": { - "readable-stream": "2.3.6", - "xtend": "4.0.1" + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" } }, "xtend": { @@ -7028,8 +7355,8 @@ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", "dev": true, "requires": { - "for-in": "1.0.2", - "is-extendable": "1.0.1" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "dependencies": { "is-extendable": { @@ -7038,7 +7365,7 @@ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, "requires": { - "is-plain-object": "2.0.4" + "is-plain-object": "^2.0.4" } } } @@ -7049,8 +7376,8 @@ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", "dev": true, "requires": { - "for-in": "0.1.8", - "is-extendable": "0.1.1" + "for-in": "^0.1.3", + "is-extendable": "^0.1.1" }, "dependencies": { "for-in": { @@ -7110,7 +7437,7 @@ "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", "dev": true, "requires": { - "has-flag": "2.0.0" + "has-flag": "^2.0.0" } } } @@ -7126,12 +7453,12 @@ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "dev": true, "requires": { - "aproba": "1.2.0", - "copy-concurrently": "1.0.5", - "fs-write-stream-atomic": "1.0.10", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "run-queue": "1.0.3" + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" } }, "mpris-service": { @@ -7140,7 +7467,7 @@ "integrity": "sha1-GUup8v3+Vsgg3YvbFMd8RUoDqlg=", "optional": true, "requires": { - "dbus": "0.2.23" + "dbus": "^0.2.11" }, "dependencies": { "dbus": { @@ -7149,7 +7476,7 @@ "integrity": "sha1-E3ZHeco8CB51CG2CFjb8IVvZvAE=", "optional": true, "requires": { - "nan": "2.10.0" + "nan": "^2.1.0" } } } @@ -7166,8 +7493,8 @@ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { - "dns-packet": "1.3.1", - "thunky": "1.0.2" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, "multicast-dns-service-types": { @@ -7192,18 +7519,18 @@ "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", "dev": true, "requires": { - "arr-diff": "4.0.0", - "array-unique": "0.3.2", - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "fragment-cache": "0.2.1", - "is-odd": "2.0.0", - "is-windows": "1.0.2", - "kind-of": "6.0.2", - "object.pick": "1.3.0", - "regex-not": "1.0.2", - "snapdragon": "0.8.2", - "to-regex": "3.0.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-odd": "^2.0.0", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" } }, "negotiator": { @@ -7235,7 +7562,7 @@ "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", "dev": true, "requires": { - "lower-case": "1.1.4" + "lower-case": "^1.1.1" } }, "node-fetch": { @@ -7243,8 +7570,8 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" + "encoding": "^0.1.11", + "is-stream": "^1.0.1" } }, "node-forge": { @@ -7259,19 +7586,19 @@ "integrity": "sha1-m/vlRWIoYoSDjnUOrAUpWFP6HGA=", "dev": true, "requires": { - "fstream": "1.0.11", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "npmlog": "4.1.2", - "osenv": "0.1.5", - "request": "2.85.0", - "rimraf": "2.6.2", - "semver": "5.3.0", - "tar": "2.2.1", - "which": "1.3.0" + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "2", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" }, "dependencies": { "semver": { @@ -7288,28 +7615,28 @@ "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "dev": true, "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.2.0", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.12.0", - "domain-browser": "1.2.0", - "events": "1.1.1", - "https-browserify": "1.0.0", - "os-browserify": "0.3.0", + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^1.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.6", - "stream-browserify": "2.0.1", - "stream-http": "2.8.3", - "string_decoder": "1.1.1", - "timers-browserify": "2.0.10", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.4", + "url": "^0.11.0", + "util": "^0.10.3", "vm-browserify": "0.0.4" }, "dependencies": { @@ -7319,9 +7646,9 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true, "requires": { - "base64-js": "1.3.0", - "ieee754": "1.1.11", - "isarray": "1.0.0" + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" } }, "isarray": { @@ -7342,13 +7669,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -7357,7 +7684,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -7374,25 +7701,25 @@ "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==", "dev": true, "requires": { - "async-foreach": "0.1.3", - "chalk": "1.1.3", - "cross-spawn": "3.0.1", - "gaze": "1.1.2", - "get-stdin": "4.0.1", - "glob": "7.1.2", - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.clonedeep": "4.5.0", - "lodash.mergewith": "4.6.1", - "meow": "3.7.0", - "mkdirp": "0.5.1", - "nan": "2.10.0", - "node-gyp": "3.6.2", - "npmlog": "4.1.2", - "request": "2.79.0", - "sass-graph": "2.2.4", - "stdout-stream": "1.4.0", - "true-case-path": "1.0.2" + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "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", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.10.0", + "node-gyp": "^3.3.1", + "npmlog": "^4.0.0", + "request": "~2.79.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" }, "dependencies": { "assert-plus": { @@ -7413,7 +7740,7 @@ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "caseless": { @@ -7428,8 +7755,8 @@ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", "dev": true, "requires": { - "lru-cache": "4.1.2", - "which": "1.3.0" + "lru-cache": "^4.0.1", + "which": "^1.2.9" } }, "cryptiles": { @@ -7438,7 +7765,7 @@ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", "dev": true, "requires": { - "boom": "2.10.1" + "boom": "2.x.x" } }, "form-data": { @@ -7447,9 +7774,9 @@ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", "dev": true, "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" } }, "har-validator": { @@ -7458,10 +7785,10 @@ "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", "dev": true, "requires": { - "chalk": "1.1.3", - "commander": "2.11.0", - "is-my-json-valid": "2.17.2", - "pinkie-promise": "2.0.1" + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" } }, "hawk": { @@ -7470,10 +7797,10 @@ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", "dev": true, "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" } }, "hoek": { @@ -7488,9 +7815,9 @@ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", "dev": true, "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" } }, "qs": { @@ -7505,26 +7832,26 @@ "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", "dev": true, "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.7.0", - "caseless": "0.11.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.4.3", - "uuid": "3.2.1" + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~2.0.6", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "qs": "~6.3.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "~0.4.1", + "uuid": "^3.0.0" } }, "sntp": { @@ -7533,7 +7860,7 @@ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", "dev": true, "requires": { - "hoek": "2.16.3" + "hoek": "2.x.x" } }, "tunnel-agent": { @@ -7556,7 +7883,7 @@ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "dev": true, "requires": { - "abbrev": "1.1.1" + "abbrev": "1" } }, "normalize-package-data": { @@ -7565,10 +7892,10 @@ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "dev": true, "requires": { - "hosted-git-info": "2.6.0", - "is-builtin-module": "1.0.0", - "semver": "5.5.0", - "validate-npm-package-license": "3.0.3" + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, "normalize-path": { @@ -7577,25 +7904,7 @@ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", "dev": true, "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" + "remove-trailing-separator": "^1.0.1" } }, "npm-run-all": { @@ -7604,15 +7913,15 @@ "integrity": "sha512-Z2aRlajMK4SQ8u19ZA75NZZu7wupfCNQWdYosIi8S6FgBdGf/8Y6Hgyjdc8zU2cYmIRVCx1nM80tJPkdEd+UYg==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "chalk": "2.4.1", - "cross-spawn": "5.1.0", - "memorystream": "0.3.1", - "minimatch": "3.0.4", - "ps-tree": "1.1.0", - "read-pkg": "3.0.0", - "shell-quote": "1.6.1", - "string.prototype.padend": "3.0.0" + "ansi-styles": "^3.2.0", + "chalk": "^2.1.0", + "cross-spawn": "^5.1.0", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "ps-tree": "^1.1.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -7621,7 +7930,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -7630,9 +7939,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -7647,10 +7956,10 @@ "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "parse-json": "4.0.0", - "pify": "3.0.0", - "strip-bom": "3.0.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" } }, "parse-json": { @@ -7659,8 +7968,8 @@ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1", - "json-parse-better-errors": "1.0.2" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "path-type": { @@ -7669,7 +7978,7 @@ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "3.0.0" + "pify": "^3.0.0" } }, "read-pkg": { @@ -7678,9 +7987,9 @@ "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "4.0.0", - "normalize-package-data": "2.4.0", - "path-type": "3.0.0" + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" } }, "strip-bom": { @@ -7695,7 +8004,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -7705,7 +8014,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { - "path-key": "2.0.1" + "path-key": "^2.0.0" } }, "npmlog": { @@ -7714,10 +8023,10 @@ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" } }, "nth-check": { @@ -7725,7 +8034,7 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", "requires": { - "boolbase": "1.0.0" + "boolbase": "~1.0.0" } }, "nugget": { @@ -7734,12 +8043,12 @@ "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", "dev": true, "requires": { - "debug": "2.6.9", - "minimist": "1.2.0", - "pretty-bytes": "1.0.4", - "progress-stream": "1.2.0", - "request": "2.85.0", - "single-line-log": "1.1.2", + "debug": "^2.1.3", + "minimist": "^1.1.0", + "pretty-bytes": "^1.0.2", + "progress-stream": "^1.1.0", + "request": "^2.45.0", + "single-line-log": "^1.1.2", "throttleit": "0.0.2" }, "dependencies": { @@ -7751,12 +8060,6 @@ } } }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -7789,9 +8092,9 @@ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", "dev": true, "requires": { - "copy-descriptor": "0.1.1", - "define-property": "0.2.5", - "kind-of": "3.2.2" + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" }, "dependencies": { "define-property": { @@ -7800,7 +8103,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "kind-of": { @@ -7809,7 +8112,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -7826,7 +8129,7 @@ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.0" } }, "object.assign": { @@ -7835,10 +8138,10 @@ "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.12" + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" }, "dependencies": { "object-keys": { @@ -7855,8 +8158,8 @@ "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0" + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" } }, "object.pick": { @@ -7865,7 +8168,7 @@ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", "dev": true, "requires": { - "isobject": "3.0.1" + "isobject": "^3.0.1" } }, "obuf": { @@ -7895,7 +8198,7 @@ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { - "wrappy": "1.0.2" + "wrappy": "1" } }, "onetime": { @@ -7903,7 +8206,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "requires": { - "mimic-fn": "1.2.0" + "mimic-fn": "^1.0.0" } }, "opn": { @@ -7912,7 +8215,7 @@ "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "dev": true, "requires": { - "is-wsl": "1.1.0" + "is-wsl": "^1.1.0" } }, "optionator": { @@ -7921,12 +8224,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "optional": true, "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" } }, "original": { @@ -7935,7 +8238,7 @@ "integrity": "sha512-IEvtB5vM5ULvwnqMxWBLxkS13JIEXbakizMSo3yoPNPCIWzg8TG3Usn/UhXoZFM/m+FuEA20KdzPSFq/0rS+UA==", "dev": true, "requires": { - "url-parse": "1.4.1" + "url-parse": "~1.4.0" } }, "os-browserify": { @@ -7955,9 +8258,9 @@ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" } }, "os-tmpdir": { @@ -7971,8 +8274,8 @@ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" } }, "p-finally": { @@ -7985,7 +8288,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "requires": { - "p-try": "1.0.0" + "p-try": "^1.0.0" } }, "p-locate": { @@ -7993,7 +8296,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { - "p-limit": "1.2.0" + "p-limit": "^1.1.0" } }, "p-map": { @@ -8013,10 +8316,10 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "6.7.1", - "registry-auth-token": "3.3.2", - "registry-url": "3.1.0", - "semver": "5.5.0" + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" } }, "pako": { @@ -8031,9 +8334,9 @@ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "dev": true, "requires": { - "cyclist": "0.2.2", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" }, "dependencies": { "isarray": { @@ -8048,13 +8351,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -8063,7 +8366,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -8074,20 +8377,25 @@ "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", "dev": true, "requires": { - "no-case": "2.3.2" + "no-case": "^2.2.0" } }, + "park-miller": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/park-miller/-/park-miller-1.0.0.tgz", + "integrity": "sha512-Gdx+0DuJID9FpBFzBQGCqsVSpnW7AGTAXJkgSo9mSvRu/YBI9trLd3pUK4LQ6mwViZOCA/T9/GngkFRyPp63Rw==" + }, "parse-asn1": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", "dev": true, "requires": { - "asn1.js": "4.10.1", - "browserify-aes": "1.2.0", - "create-hash": "1.2.0", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.16" + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" } }, "parse-color": { @@ -8096,7 +8404,7 @@ "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", "dev": true, "requires": { - "color-convert": "0.5.3" + "color-convert": "~0.5.0" }, "dependencies": { "color-convert": { @@ -8113,7 +8421,7 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "^1.2.0" } }, "parse5": { @@ -8182,9 +8490,9 @@ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { @@ -8207,7 +8515,7 @@ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "dev": true, "requires": { - "through": "2.3.8" + "through": "~2.3" } }, "pbkdf2": { @@ -8216,11 +8524,11 @@ "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", "dev": true, "requires": { - "create-hash": "1.2.0", - "create-hmac": "1.1.7", - "ripemd160": "2.0.2", - "safe-buffer": "5.1.2", - "sha.js": "2.4.11" + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" } }, "pend": { @@ -8251,7 +8559,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "2.0.4" + "pinkie": "^2.0.0" } }, "pitchfork-bnm": { @@ -8259,8 +8567,8 @@ "resolved": "https://registry.npmjs.org/pitchfork-bnm/-/pitchfork-bnm-1.0.3.tgz", "integrity": "sha512-2N60Eot+P/9/c0/EwhSdDViivBsf0q9G1/zAo5gJhQ+6q34gfLM2GnMkWAmvmgFuSCmeXGfoigssh/D5UmbeqQ==", "requires": { - "cheerio": "1.0.0-rc.2", - "isomorphic-fetch": "2.2.1" + "cheerio": "^1.0.0-rc.2", + "isomorphic-fetch": "^2.2.1" }, "dependencies": { "cheerio": { @@ -8268,12 +8576,12 @@ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.9.2", - "lodash": "4.17.10", - "parse5": "3.0.3" + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash": "^4.15.0", + "parse5": "^3.0.1" } }, "htmlparser2": { @@ -8281,12 +8589,12 @@ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.3.0", - "domutils": "1.5.1", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "domelementtype": "^1.3.0", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" } }, "isarray": { @@ -8299,7 +8607,7 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", "requires": { - "@types/node": "10.0.4" + "@types/node": "*" } }, "readable-stream": { @@ -8307,13 +8615,13 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -8321,7 +8629,7 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -8331,7 +8639,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", "requires": { - "find-up": "2.1.0" + "find-up": "^2.1.0" } }, "plist": { @@ -8340,9 +8648,9 @@ "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", "dev": true, "requires": { - "base64-js": "1.3.0", - "xmlbuilder": "9.0.7", - "xmldom": "0.1.27" + "base64-js": "^1.2.3", + "xmlbuilder": "^9.0.7", + "xmldom": "0.1.x" }, "dependencies": { "xmlbuilder": { @@ -8354,415 +8662,39 @@ } }, "portfinder": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", - "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", - "dev": true, - "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.4.3", - "source-map": "0.5.7", - "supports-color": "3.2.3" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", - "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" - } - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.2" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000833", - "electron-to-chromium": "1.3.45" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", - "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", - "dev": true, - "requires": { - "postcss": "6.0.22" - }, - "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.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.22" - }, - "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.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", + "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", "dev": true, "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.22" + "async": "^1.5.2", + "debug": "^2.2.0", + "mkdirp": "0.5.x" }, "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.1" - } - }, - "chalk": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", - "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true - }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "3.0.0" - } } } }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", "dev": true, "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.22" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "dependencies": { "ansi-styles": { @@ -8771,7 +8703,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -8780,9 +8712,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -8791,121 +8723,54 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "postcss": { - "version": "6.0.22", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.22.tgz", - "integrity": "sha512-Toc9lLoUASwGqxBSJGTVcOQiDqjK+Z2XlWBg+IgYwQMY9vA2f7iMpXVc1GpPcfTSyM5lkxNo0oDwDRO+wm7XHA==", - "dev": true, - "requires": { - "chalk": "2.4.1", - "source-map": "0.6.1", - "supports-color": "5.4.0" - } - }, "supports-color": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "postcss-modules-extract-imports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", "dev": true, "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" + "postcss": "^6.0.1" } }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", "dev": true, "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", "dev": true, "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" } }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", "dev": true, "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" } }, "postcss-value-parser": { @@ -8913,17 +8778,6 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=" }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -8941,8 +8795,8 @@ "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", "dev": true, "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" + "get-stdin": "^4.0.1", + "meow": "^3.1.0" } }, "pretty-error": { @@ -8951,8 +8805,8 @@ "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", "dev": true, "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" + "renderkid": "^2.0.1", + "utila": "~0.4" } }, "private": { @@ -8978,8 +8832,8 @@ "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", "dev": true, "requires": { - "speedometer": "0.1.4", - "through2": "0.2.3" + "speedometer": "~0.1.2", + "through2": "~0.2.3" } }, "promise": { @@ -8987,7 +8841,7 @@ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { - "asap": "2.0.6" + "asap": "~2.0.3" } }, "promise-inflight": { @@ -9001,9 +8855,9 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" } }, "proxy-addr": { @@ -9012,7 +8866,7 @@ "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "dev": true, "requires": { - "forwarded": "0.1.2", + "forwarded": "~0.1.2", "ipaddr.js": "1.6.0" } }, @@ -9027,7 +8881,7 @@ "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", "dev": true, "requires": { - "event-stream": "3.3.4" + "event-stream": "~3.3.0" } }, "pseudomap": { @@ -9041,11 +8895,11 @@ "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", "dev": true, "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.2.0", - "parse-asn1": "5.1.1", - "randombytes": "2.0.6" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" } }, "pump": { @@ -9054,8 +8908,8 @@ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, "pumpify": { @@ -9064,9 +8918,9 @@ "integrity": "sha512-UWi0klDoq8xtVzlMRgENV9F7iCTZExaJQSQL187UXsxpk9NnrKGqTqqUNYAKGOzucSOxs2+jUnRNI+rLviPhJg==", "dev": true, "requires": { - "duplexify": "3.6.0", - "inherits": "2.0.3", - "pump": "2.0.1" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, "punycode": { @@ -9074,27 +8928,11 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "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==" }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" - } - }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -9118,13 +8956,23 @@ "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "requires": { - "performance-now": "2.1.0" + "performance-now": "^2.1.0" } }, "raf-schd": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-2.1.1.tgz", - "integrity": "sha512-ngcBQygUeE3kHlOaBSqgWKv7BT9kx5kQ6fAwFJRNRT7TD54M+hx1kpNHb8sONRskcYQedJg2RC2xKlAHRUQBig==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-3.0.1.tgz", + "integrity": "sha512-x+obi3aknJm9R9k5/BHdrd+eu+7OCw9s8EEYm8/+8uc4NRXEHypEhXgCve3p2BZoYUdyUeeatwrMnbRtdYu+YA==" + }, + "randoma": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/randoma/-/randoma-1.2.0.tgz", + "integrity": "sha512-m7W2Eg8+6iXge4zH0y7qXRykoLF2WJd7AfSUSZa9LvxHBlEd3w49Bao2Tm1/nkTpp7ZsxS2Ur2jpSwbyQjkOKA==", + "requires": { + "@sindresorhus/string-hash": "^1.0.0", + "color": "^2.0.1", + "park-miller": "^1.0.0" + } }, "randombytes": { "version": "2.0.6", @@ -9132,7 +8980,7 @@ "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.0" } }, "randomfill": { @@ -9141,8 +8989,8 @@ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", "dev": true, "requires": { - "randombytes": "2.0.6", - "safe-buffer": "5.1.2" + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" } }, "range-parser": { @@ -9178,7 +9026,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": "1.4.0" + "statuses": ">= 1.3.1 < 2" } }, "iconv-lite": { @@ -9201,10 +9049,10 @@ "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "dev": true, "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, "dependencies": { "minimist": { @@ -9220,38 +9068,46 @@ "resolved": "https://registry.npmjs.org/react/-/react-16.3.2.tgz", "integrity": "sha512-o5GPdkhciQ3cEph6qgvYB7LTOHw/GB0qRI6ZFNugj49qJCFfgHwVNjZ5u+b7nif4vOeMIOuYj3CeYe2IBD74lg==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-beautiful-dnd": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-7.1.2.tgz", - "integrity": "sha512-9gFO0q9sU+OxVGvFHzNXO8qZXWJGPplI6nEJasiMM3LoFvGijxBTlshSlNwE1ysBTkoYlcGz+Afd7ZoVkGDkHA==", - "requires": { - "babel-runtime": "6.26.0", - "css-box-model": "0.0.12", - "memoize-one": "3.1.1", - "prop-types": "15.6.1", - "raf-schd": "2.1.1", - "react-motion": "0.5.2", - "react-redux": "5.0.7", - "redux": "4.0.0", - "redux-thunk": "2.2.0", - "reselect": "3.0.1", - "tiny-invariant": "0.0.3" - }, - "dependencies": { - "redux": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz", - "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-8.0.3.tgz", + "integrity": "sha512-QSwd2DsvtNyldPLZJL0jb6FWkU5m6X4lcYaROBHtz4VnTI1+19HWsNcLz9z4S3XUAmc7BUiUPvx1t5ccAin3Ug==", + "requires": { + "@babel/runtime": "7.0.0-beta.52", + "css-box-model": "^1.0.0", + "memoize-one": "^4.0.0", + "prop-types": "^15.6.1", + "raf-schd": "^3.0.1", + "react-motion": "^0.5.2", + "react-redux": "^5.0.7", + "redux": "^4.0.0", + "tiny-invariant": "^0.0.3" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.0.0-beta.52", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.0.0-beta.52.tgz", + "integrity": "sha1-PztCuCuStOGig/x43xuy/Uuo0Mc=", "requires": { - "loose-envify": "1.3.1", - "symbol-observable": "1.2.0" + "core-js": "^2.5.7", + "regenerator-runtime": "^0.12.0" } + }, + "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==" + }, + "regenerator-runtime": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.0.tgz", + "integrity": "sha512-SpV2LhF5Dm9UYMEprB3WwsBnWwqTrmjrm2UZb42cl2G02WVGgx7Mg8aa9pdLEKp6hZ+/abcMc2NxKA8f02EG2w==" } } }, @@ -9261,8 +9117,8 @@ "integrity": "sha1-aXjGBh2Jj1SfQEF/sNLrvs9Qqqo=", "dev": true, "requires": { - "lodash.debounce": "4.0.8", - "prop-types": "15.6.1" + "lodash.debounce": "^4", + "prop-types": "^15" } }, "react-dom": { @@ -9270,10 +9126,10 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.3.2.tgz", "integrity": "sha512-MMPko3zYncNrz/7gG17wJWUREZDvskZHXOwbttzl0F0L3wDmToyuETuo/r8Y5yvDejwYcRyWI1lvVBjLJWFwKA==", "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.6.1" + "fbjs": "^0.8.16", + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.0" } }, "react-fontawesome": { @@ -9282,7 +9138,7 @@ "integrity": "sha1-7dzhfn3HMaoJ/UoYZoimF5OhbFw=", "dev": true, "requires": { - "prop-types": "15.6.1" + "prop-types": "^15.5.6" } }, "react-hot-loader": { @@ -9291,11 +9147,11 @@ "integrity": "sha512-TxgvDJj/EuY05VXyPBYSWuGVGNd2g0K6WJxaOwjgAl1/1Hqni1BmMXnw6k/DGYeB1prh0jpB1N1x15ZEVytSSw==", "dev": true, "requires": { - "fast-levenshtein": "2.0.6", - "global": "4.3.2", - "hoist-non-react-statics": "2.5.0", - "prop-types": "15.6.1", - "shallowequal": "1.1.0" + "fast-levenshtein": "^2.0.6", + "global": "^4.3.0", + "hoist-non-react-statics": "^2.5.0", + "prop-types": "^15.6.0", + "shallowequal": "^1.0.2" } }, "react-image-smooth-loading": { @@ -9313,9 +9169,9 @@ "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==", "requires": { - "performance-now": "0.2.0", - "prop-types": "15.6.1", - "raf": "3.4.0" + "performance-now": "^0.2.0", + "prop-types": "^15.5.8", + "raf": "^3.1.0" }, "dependencies": { "performance-now": { @@ -9330,12 +9186,12 @@ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", "requires": { - "hoist-non-react-statics": "2.5.0", - "invariant": "2.2.4", - "lodash": "4.17.10", - "lodash-es": "4.17.10", - "loose-envify": "1.3.1", - "prop-types": "15.6.1" + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.0.0", + "lodash": "^4.17.5", + "lodash-es": "^4.17.5", + "loose-envify": "^1.1.0", + "prop-types": "^15.6.0" } }, "react-router": { @@ -9343,13 +9199,13 @@ "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.2.0.tgz", "integrity": "sha512-DY6pjwRhdARE4TDw7XjxjZsbx9lKmIcyZoZ+SDO7SBJ1KUeWNxT22Kara2AC7u6/c2SYEHlEDLnzBCcNhLE8Vg==", "requires": { - "history": "4.7.2", - "hoist-non-react-statics": "2.5.0", - "invariant": "2.2.4", - "loose-envify": "1.3.1", - "path-to-regexp": "1.7.0", - "prop-types": "15.6.1", - "warning": "3.0.0" + "history": "^4.7.2", + "hoist-non-react-statics": "^2.3.0", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.5.4", + "warning": "^3.0.0" } }, "react-router-dom": { @@ -9357,12 +9213,12 @@ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.2.2.tgz", "integrity": "sha512-cHMFC1ZoLDfEaMFoKTjN7fry/oczMgRt5BKfMAkTu5zEuJvUiPp1J8d0eXSVTnBh6pxlbdqDhozunOOLtmKfPA==", "requires": { - "history": "4.7.2", - "invariant": "2.2.4", - "loose-envify": "1.3.1", - "prop-types": "15.6.1", - "react-router": "4.2.0", - "warning": "3.0.0" + "history": "^4.7.2", + "invariant": "^2.2.2", + "loose-envify": "^1.3.1", + "prop-types": "^15.5.4", + "react-router": "^4.2.0", + "warning": "^3.0.0" } }, "react-router-redux": { @@ -9376,9 +9232,9 @@ "resolved": "https://registry.npmjs.org/react-router-transition/-/react-router-transition-1.2.1.tgz", "integrity": "sha512-cwXhw/qLskkj0yBcdY3AcBc3g2z4SxFCZpq12h7lqFH56W5RurVevuiumwyirHEPAUHvtR0EmMkF/eRNJmaWcA==", "requires": { - "prop-types": "15.6.1", - "react-motion": "0.5.2", - "react-router-dom": "4.2.2" + "prop-types": "^15.5.10", + "react-motion": "^0.5.0", + "react-router-dom": "^4.1.1" } }, "react-sound": { @@ -9386,8 +9242,8 @@ "resolved": "https://registry.npmjs.org/react-sound/-/react-sound-1.2.0.tgz", "integrity": "sha512-pc2l8f7Oy3VePRRVesBwSSJ0mrCeD/lE5GVCT1RPdEQ7lgbZTDyWI8HokXHmS1v79aiLnd3WTRhfsBAY0NTb8g==", "requires": { - "prop-types": "15.6.1", - "soundmanager2": "2.97.20170602" + "prop-types": "^15.5.7", + "soundmanager2": "^2.97.20170602" } }, "read-config-file": { @@ -9396,15 +9252,15 @@ "integrity": "sha512-BVm//hhy9uxRbmeZrKAsUu6MUUNvtwkMrc3t15E79M1lLvg6ivHiwQYIEQK65ZtHCSautbgRY4rD8Z4skRk+4Q==", "dev": true, "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0", - "bluebird-lst": "1.0.5", - "dotenv": "5.0.1", - "dotenv-expand": "4.2.0", - "fs-extra-p": "4.6.0", - "js-yaml": "3.11.0", - "json5": "0.5.1", - "lazy-val": "1.0.3" + "ajv": "^6.1.1", + "ajv-keywords": "^3.1.0", + "bluebird-lst": "^1.0.5", + "dotenv": "^5.0.0", + "dotenv-expand": "^4.0.1", + "fs-extra-p": "^4.5.0", + "js-yaml": "^3.10.0", + "json5": "^0.5.1", + "lazy-val": "^1.0.3" }, "dependencies": { "ajv": { @@ -9413,10 +9269,10 @@ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1", - "uri-js": "3.0.2" + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" } }, "esprima": { @@ -9431,8 +9287,8 @@ "integrity": "sha512-saJstZWv7oNeOyBh3+Dx1qWzhW0+e6/8eDzo7p5rDFqxntSztloLtuKu+Ejhtq82jsilwOIZYsCz+lIjthg1Hw==", "dev": true, "requires": { - "argparse": "1.0.10", - "esprima": "4.0.0" + "argparse": "^1.0.7", + "esprima": "^4.0.0" } } } @@ -9443,9 +9299,9 @@ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", "dev": true, "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" } }, "read-pkg-up": { @@ -9454,8 +9310,8 @@ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", "dev": true, "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" }, "dependencies": { "find-up": { @@ -9464,8 +9320,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" } }, "path-exists": { @@ -9474,7 +9330,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "2.0.1" + "pinkie-promise": "^2.0.0" } } } @@ -9484,10 +9340,10 @@ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "readdirp": { @@ -9496,10 +9352,10 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.6", - "set-immediate-shim": "1.0.1" + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" }, "dependencies": { "isarray": { @@ -9514,13 +9370,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -9529,7 +9385,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -9540,54 +9396,17 @@ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } - } - }, - "reduce-function-call": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", - "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", - "dev": true, - "requires": { - "balanced-match": "0.4.2" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - } + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" } }, "redux": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz", "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", - "dev": true, "requires": { - "loose-envify": "1.3.1", - "symbol-observable": "1.2.0" + "loose-envify": "^1.1.0", + "symbol-observable": "^1.2.0" } }, "redux-promise": { @@ -9596,14 +9415,15 @@ "integrity": "sha512-R2mGxJbPFgXyCNbFDE6LjTZhCEuACF54g1bxld3nqBhnRMX0OsUyWk77moF7UMGkUdl5WOAwc4BC5jOd1dunqQ==", "dev": true, "requires": { - "flux-standard-action": "2.0.3", - "is-promise": "2.1.0" + "flux-standard-action": "^2.0.3", + "is-promise": "^2.1.0" } }, "redux-thunk": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.2.0.tgz", - "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU=" + "integrity": "sha1-5hWhbha0ehmlFXZhM9Hj6Zt4UuU=", + "dev": true }, "regenerate": { "version": "1.3.3", @@ -9622,9 +9442,9 @@ "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "dev": true, "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.8" + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" } }, "regex-not": { @@ -9633,8 +9453,8 @@ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, "requires": { - "extend-shallow": "3.0.2", - "safe-regex": "1.1.0" + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" } }, "regexpu-core": { @@ -9643,9 +9463,9 @@ "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", "dev": true, "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" } }, "registry-auth-token": { @@ -9654,8 +9474,8 @@ "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "dev": true, "requires": { - "rc": "1.2.7", - "safe-buffer": "5.1.2" + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" } }, "registry-url": { @@ -9664,7 +9484,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "1.2.7" + "rc": "^1.0.1" } }, "regjsgen": { @@ -9679,7 +9499,7 @@ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", "dev": true, "requires": { - "jsesc": "0.5.0" + "jsesc": "~0.5.0" }, "dependencies": { "jsesc": { @@ -9708,11 +9528,11 @@ "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", "dev": true, "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" + "css-select": "^1.1.0", + "dom-converter": "~0.1", + "htmlparser2": "~3.3.0", + "strip-ansi": "^3.0.0", + "utila": "~0.3" }, "dependencies": { "domhandler": { @@ -9721,7 +9541,7 @@ "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "domutils": { @@ -9730,7 +9550,7 @@ "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", "dev": true, "requires": { - "domelementtype": "1.3.0" + "domelementtype": "1" } }, "htmlparser2": { @@ -9739,10 +9559,10 @@ "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", "dev": true, "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" + "domelementtype": "1", + "domhandler": "2.1", + "domutils": "1.1", + "readable-stream": "1.0" } }, "readable-stream": { @@ -9751,10 +9571,10 @@ "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", "isarray": "0.0.1", - "string_decoder": "0.10.31" + "string_decoder": "~0.10.x" } }, "utila": { @@ -9783,7 +9603,7 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true, "requires": { - "is-finite": "1.0.2" + "is-finite": "^1.0.0" } }, "request": { @@ -9791,28 +9611,28 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.85.0.tgz", "integrity": "sha512-8H7Ehijd4js+s6wuVPLjwORxD4zeuyjYugprdOXlPSqaApmL/QOy+EB/beICHVCHkGMKNh5rvihb5ov+IDw4mg==", "requires": { - "aws-sign2": "0.7.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.3.2", - "har-validator": "5.0.3", - "hawk": "6.0.2", - "http-signature": "1.2.0", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "2.1.0", - "qs": "6.5.2", - "safe-buffer": "5.1.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "hawk": "~6.0.2", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "stringstream": "~0.0.5", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" } }, "require-directory": { @@ -9831,17 +9651,12 @@ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "reselect": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", - "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=" - }, "resolve-cwd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", "requires": { - "resolve-from": "3.0.0" + "resolve-from": "^3.0.0" } }, "resolve-from": { @@ -9865,8 +9680,8 @@ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "requires": { - "onetime": "2.0.1", - "signal-exit": "3.0.2" + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" } }, "ret": { @@ -9881,7 +9696,7 @@ "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "dev": true, "requires": { - "glob": "7.1.2" + "glob": "^7.0.5" } }, "ripemd160": { @@ -9890,8 +9705,8 @@ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "run-async": { @@ -9899,7 +9714,7 @@ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "requires": { - "is-promise": "2.1.0" + "is-promise": "^2.1.0" } }, "run-queue": { @@ -9908,7 +9723,7 @@ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "dev": true, "requires": { - "aproba": "1.2.0" + "aproba": "^1.1.1" } }, "rxjs": { @@ -9916,7 +9731,7 @@ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.1.tgz", "integrity": "sha512-OwMxHxmnmHTUpgO+V7dZChf3Tixf4ih95cmXjzzadULziVl/FKhHScGLj4goEw9weePVOH2Q0+GcCBUhKCZc/g==", "requires": { - "tslib": "1.9.3" + "tslib": "^1.9.0" } }, "safe-buffer": { @@ -9930,7 +9745,7 @@ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", "dev": true, "requires": { - "ret": "0.1.15" + "ret": "~0.1.10" } }, "safer-buffer": { @@ -9944,7 +9759,7 @@ "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", "dev": true, "requires": { - "truncate-utf8-bytes": "1.0.2" + "truncate-utf8-bytes": "^1.0.0" } }, "sass-graph": { @@ -9953,10 +9768,10 @@ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", "dev": true, "requires": { - "glob": "7.1.2", - "lodash": "4.17.10", - "scss-tokenizer": "0.2.3", - "yargs": "7.1.0" + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" }, "dependencies": { "camelcase": { @@ -9971,9 +9786,9 @@ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", "dev": true, "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, "os-locale": { @@ -9982,7 +9797,7 @@ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { - "lcid": "1.0.0" + "lcid": "^1.0.0" } }, "which-module": { @@ -9997,19 +9812,19 @@ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", "dev": true, "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "5.0.0" + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" } }, "yargs-parser": { @@ -10018,7 +9833,7 @@ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", "dev": true, "requires": { - "camelcase": "3.0.0" + "camelcase": "^3.0.0" } } } @@ -10029,11 +9844,11 @@ "integrity": "sha512-MeVVJFejJELlAbA7jrRchi88PGP6U9yIfqyiG+bBC4a9s2PX+ulJB9h8bbEohtPBfZmlLhNZ0opQM9hovRXvlw==", "dev": true, "requires": { - "clone-deep": "2.0.2", - "loader-utils": "1.1.0", - "lodash.tail": "4.1.1", - "neo-async": "2.5.1", - "pify": "3.0.0" + "clone-deep": "^2.0.1", + "loader-utils": "^1.0.1", + "lodash.tail": "^4.1.1", + "neo-async": "^2.5.0", + "pify": "^3.0.0" } }, "sax": { @@ -10047,7 +9862,7 @@ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "dev": true, "requires": { - "ajv": "5.5.2" + "ajv": "^5.0.0" } }, "scss-tokenizer": { @@ -10056,8 +9871,8 @@ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", "dev": true, "requires": { - "js-base64": "2.4.3", - "source-map": "0.4.4" + "js-base64": "^2.1.8", + "source-map": "^0.4.2" }, "dependencies": { "source-map": { @@ -10066,7 +9881,7 @@ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", "dev": true, "requires": { - "amdefine": "1.0.1" + "amdefine": ">=0.0.4" } } } @@ -10091,12 +9906,12 @@ "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.81.1.tgz", "integrity": "sha512-ooLjHxSkLsjWkOlXxLsZzeaCBy8fjanpUwkJNhzVj6t8XC8qcK2Y57GetC2bMdyx6ewUL9DOHZfoybwfjUG9ZA==", "requires": { - "@babel/runtime": "7.0.0-beta.51", - "classnames": "2.2.5", - "fbjs": "0.8.16", - "keyboard-key": "1.0.1", - "lodash": "4.17.10", - "prop-types": "15.6.1" + "@babel/runtime": "^7.0.0-beta.49", + "classnames": "^2.2.5", + "fbjs": "^0.8.16", + "keyboard-key": "^1.0.1", + "lodash": "^4.17.10", + "prop-types": "^15.6.1" } }, "semver": { @@ -10110,7 +9925,7 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "5.5.0" + "semver": "^5.0.3" } }, "send": { @@ -10120,18 +9935,18 @@ "dev": true, "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.6.3", + "http-errors": "~1.6.2", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.4.0" + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" }, "dependencies": { "mime": { @@ -10160,13 +9975,13 @@ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", "dev": true, "requires": { - "accepts": "1.3.5", + "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.3", - "mime-types": "2.1.18", - "parseurl": "1.3.2" + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" } }, "serve-static": { @@ -10175,9 +9990,9 @@ "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "dev": true, "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", "send": "0.16.2" } }, @@ -10198,10 +10013,10 @@ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "split-string": "3.1.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" }, "dependencies": { "extend-shallow": { @@ -10210,7 +10025,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } } } @@ -10232,8 +10047,8 @@ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.2" + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" } }, "shallow-clone": { @@ -10242,9 +10057,9 @@ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", "dev": true, "requires": { - "is-extendable": "0.1.1", - "kind-of": "5.1.0", - "mixin-object": "2.0.1" + "is-extendable": "^0.1.1", + "kind-of": "^5.0.0", + "mixin-object": "^2.0.1" }, "dependencies": { "kind-of": { @@ -10266,7 +10081,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { - "shebang-regex": "1.0.0" + "shebang-regex": "^1.0.0" } }, "shebang-regex": { @@ -10280,10 +10095,10 @@ "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", "dev": true, "requires": { - "array-filter": "0.0.1", - "array-map": "0.0.0", - "array-reduce": "0.0.0", - "jsonify": "0.0.0" + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" } }, "signal-exit": { @@ -10291,13 +10106,28 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } + }, "single-line-log": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.1" } }, "slash": { @@ -10312,14 +10142,14 @@ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, "requires": { - "base": "0.11.2", - "debug": "2.6.9", - "define-property": "0.2.5", - "extend-shallow": "2.0.1", - "map-cache": "0.2.2", - "source-map": "0.5.7", - "source-map-resolve": "0.5.2", - "use": "3.1.0" + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" }, "dependencies": { "define-property": { @@ -10328,7 +10158,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } }, "extend-shallow": { @@ -10337,7 +10167,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "source-map": { @@ -10354,9 +10184,9 @@ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, "requires": { - "define-property": "1.0.0", - "isobject": "3.0.1", - "snapdragon-util": "3.0.1" + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" }, "dependencies": { "define-property": { @@ -10365,7 +10195,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "1.0.2" + "is-descriptor": "^1.0.0" } }, "is-accessor-descriptor": { @@ -10374,7 +10204,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-data-descriptor": { @@ -10383,7 +10213,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.0" } }, "is-descriptor": { @@ -10392,9 +10222,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "1.0.0", - "is-data-descriptor": "1.0.0", - "kind-of": "6.0.2" + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" } } } @@ -10405,7 +10235,7 @@ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.2.0" }, "dependencies": { "kind-of": { @@ -10414,7 +10244,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -10424,7 +10254,7 @@ "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "requires": { - "hoek": "4.2.1" + "hoek": "4.x.x" } }, "sockjs": { @@ -10433,8 +10263,8 @@ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", "dev": true, "requires": { - "faye-websocket": "0.10.0", - "uuid": "3.2.1" + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" } }, "sockjs-client": { @@ -10443,12 +10273,12 @@ "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", "dev": true, "requires": { - "debug": "2.6.9", + "debug": "^2.6.6", "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.4.1" + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" }, "dependencies": { "faye-websocket": { @@ -10457,20 +10287,11 @@ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", "dev": true, "requires": { - "websocket-driver": "0.7.0" + "websocket-driver": ">=0.5.1" } } } }, - "sort-keys": { - "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.1.0" - } - }, "soundmanager2": { "version": "2.97.20170602", "resolved": "https://registry.npmjs.org/soundmanager2/-/soundmanager2-2.97.20170602.tgz", @@ -10493,11 +10314,11 @@ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", "dev": true, "requires": { - "atob": "2.1.1", - "decode-uri-component": "0.2.0", - "resolve-url": "0.2.1", - "source-map-url": "0.4.0", - "urix": "0.1.0" + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" } }, "source-map-support": { @@ -10506,7 +10327,7 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, "requires": { - "source-map": "0.5.7" + "source-map": "^0.5.6" }, "dependencies": { "source-map": { @@ -10529,8 +10350,8 @@ "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "dev": true, "requires": { - "spdx-expression-parse": "3.0.0", - "spdx-license-ids": "3.0.0" + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { @@ -10545,8 +10366,8 @@ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "dev": true, "requires": { - "spdx-exceptions": "2.1.0", - "spdx-license-ids": "3.0.0" + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { @@ -10561,12 +10382,12 @@ "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", "dev": true, "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.2", - "select-hose": "2.0.0", - "spdy-transport": "2.1.0" + "debug": "^2.6.8", + "handle-thing": "^1.2.5", + "http-deceiver": "^1.2.7", + "safe-buffer": "^5.0.1", + "select-hose": "^2.0.0", + "spdy-transport": "^2.0.18" } }, "spdy-transport": { @@ -10575,13 +10396,13 @@ "integrity": "sha512-bpUeGpZcmZ692rrTiqf9/2EUakI6/kXX1Rpe0ib/DyOzbiexVfXkw6GnvI9hVGvIwVaUhkaBojjCZwLNRGQg1g==", "dev": true, "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.2", - "readable-stream": "2.3.6", - "safe-buffer": "5.1.2", - "wbuf": "1.7.3" + "debug": "^2.6.8", + "detect-node": "^2.0.3", + "hpack.js": "^2.1.6", + "obuf": "^1.1.1", + "readable-stream": "^2.2.9", + "safe-buffer": "^5.0.1", + "wbuf": "^1.7.2" }, "dependencies": { "isarray": { @@ -10596,13 +10417,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -10611,7 +10432,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -10628,7 +10449,7 @@ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { - "through": "2.3.8" + "through": "2" } }, "split-string": { @@ -10637,7 +10458,58 @@ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, "requires": { - "extend-shallow": "3.0.2" + "extend-shallow": "^3.0.0" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "requires": { + "through2": "^2.0.2" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "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==", + "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==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + } } }, "sprintf-js": { @@ -10651,14 +10523,14 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz", "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=", "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "tweetnacl": "~0.14.0" } }, "ssri": { @@ -10667,7 +10539,7 @@ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.1.1" } }, "stat-mode": { @@ -10682,8 +10554,8 @@ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", "dev": true, "requires": { - "define-property": "0.2.5", - "object-copy": "0.1.0" + "define-property": "^0.2.5", + "object-copy": "^0.1.0" }, "dependencies": { "define-property": { @@ -10692,7 +10564,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "0.1.6" + "is-descriptor": "^0.1.0" } } } @@ -10709,7 +10581,7 @@ "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", "dev": true, "requires": { - "readable-stream": "2.3.6" + "readable-stream": "^2.0.1" }, "dependencies": { "isarray": { @@ -10724,13 +10596,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -10739,7 +10611,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -10749,7 +10621,7 @@ "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", "integrity": "sha1-BxEFvfwobmYVwEA8J+nXtdy4Vcs=", "requires": { - "graceful-fs": "4.1.11" + "graceful-fs": "^4.1.3" } }, "stream-browserify": { @@ -10758,8 +10630,8 @@ "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true, "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.6" + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" }, "dependencies": { "isarray": { @@ -10774,13 +10646,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -10789,7 +10661,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } } } @@ -10800,7 +10672,7 @@ "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "dev": true, "requires": { - "duplexer": "0.1.1" + "duplexer": "~0.1.1" } }, "stream-each": { @@ -10809,8 +10681,8 @@ "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "stream-shift": "1.0.0" + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" } }, "stream-http": { @@ -10819,11 +10691,11 @@ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", "dev": true, "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.6", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" }, "dependencies": { "isarray": { @@ -10838,13 +10710,13 @@ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.2", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "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": { @@ -10853,7 +10725,7 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "~5.1.0" } }, "xtend": { @@ -10870,20 +10742,14 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" } }, "string.prototype.padend": { @@ -10892,9 +10758,9 @@ "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", "dev": true, "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.11.0", - "function-bind": "1.1.1" + "define-properties": "^1.1.2", + "es-abstract": "^1.4.3", + "function-bind": "^1.0.2" } }, "string_decoder": { @@ -10912,7 +10778,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "2.1.1" + "ansi-regex": "^2.0.0" } }, "strip-bom": { @@ -10921,7 +10787,7 @@ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", "dev": true, "requires": { - "is-utf8": "0.2.1" + "is-utf8": "^0.2.0" } }, "strip-eof": { @@ -10935,7 +10801,7 @@ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", "dev": true, "requires": { - "get-stdin": "4.0.1" + "get-stdin": "^4.0.1" } }, "strip-json-comments": { @@ -10950,8 +10816,8 @@ "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.4.5" + "loader-utils": "^1.1.0", + "schema-utils": "^0.4.5" }, "dependencies": { "ajv": { @@ -10960,10 +10826,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "fast-deep-equal": { @@ -10990,8 +10856,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.5.1", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, "uri-js": { @@ -11000,7 +10866,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } } } @@ -11010,16 +10876,16 @@ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.2.6.tgz", "integrity": "sha1-mebnWnRr3t0pWhfgPdFJMFWhzDs=", "requires": { - "buffer": "5.1.0", - "css-to-react-native": "2.1.2", - "fbjs": "0.8.16", - "hoist-non-react-statics": "2.5.0", - "is-plain-object": "2.0.4", - "prop-types": "15.6.1", - "react-is": "16.3.2", - "stylis": "3.5.0", - "stylis-rule-sheet": "0.0.10", - "supports-color": "3.2.3" + "buffer": "^5.0.3", + "css-to-react-native": "^2.0.3", + "fbjs": "^0.8.16", + "hoist-non-react-statics": "^2.5.0", + "is-plain-object": "^2.0.1", + "prop-types": "^15.5.4", + "react-is": "^16.3.1", + "stylis": "^3.5.0", + "stylis-rule-sheet": "^0.0.10", + "supports-color": "^3.2.3" } }, "stylis": { @@ -11038,8 +10904,8 @@ "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", "dev": true, "requires": { - "debug": "2.6.9", - "es6-promise": "4.2.4" + "debug": "^2.2.0", + "es6-promise": "^4.0.5" } }, "supports-color": { @@ -11047,22 +10913,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", "requires": { - "has-flag": "1.0.0" - } - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" + "has-flag": "^1.0.0" } }, "symbol-observable": { @@ -11087,9 +10938,9 @@ "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", "dev": true, "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" } }, "temp-file": { @@ -11098,10 +10949,10 @@ "integrity": "sha512-s5JJnUbvV6QaKBxBJm6wDpKIVVvr/ssrb8Cdaz2iaXcjFMtWX+OGBwY+UTvARoWYI5HlKaoD7xFJSpo0jJUlbA==", "dev": true, "requires": { - "async-exit-hook": "2.0.1", - "bluebird-lst": "1.0.5", - "fs-extra-p": "4.6.0", - "lazy-val": "1.0.3" + "async-exit-hook": "^2.0.1", + "bluebird-lst": "^1.0.5", + "fs-extra-p": "^4.6.0", + "lazy-val": "^1.0.3" } }, "term-size": { @@ -11110,7 +10961,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "0.7.0" + "execa": "^0.7.0" } }, "throttleit": { @@ -11130,8 +10981,8 @@ "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", "dev": true, "requires": { - "readable-stream": "1.1.14", - "xtend": "2.1.2" + "readable-stream": "~1.1.9", + "xtend": "~2.1.1" } }, "thunky": { @@ -11152,7 +11003,7 @@ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", "dev": true, "requires": { - "setimmediate": "1.0.5" + "setimmediate": "^1.0.4" } }, "tiny-invariant": { @@ -11165,7 +11016,7 @@ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { - "os-tmpdir": "1.0.2" + "os-tmpdir": "~1.0.2" } }, "to-arraybuffer": { @@ -11186,7 +11037,7 @@ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", "dev": true, "requires": { - "kind-of": "3.2.2" + "kind-of": "^3.0.2" }, "dependencies": { "kind-of": { @@ -11195,7 +11046,7 @@ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "dev": true, "requires": { - "is-buffer": "1.1.6" + "is-buffer": "^1.1.5" } } } @@ -11206,10 +11057,10 @@ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, "requires": { - "define-property": "2.0.2", - "extend-shallow": "3.0.2", - "regex-not": "1.0.2", - "safe-regex": "1.1.0" + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" } }, "to-regex-range": { @@ -11218,8 +11069,8 @@ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", "dev": true, "requires": { - "is-number": "3.0.0", - "repeat-string": "1.6.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" } }, "toposort": { @@ -11233,7 +11084,7 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "1.4.1" + "punycode": "^1.4.1" } }, "tr46": { @@ -11260,7 +11111,7 @@ "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", "dev": true, "requires": { - "glob": "6.0.4" + "glob": "^6.0.4" }, "dependencies": { "glob": { @@ -11269,11 +11120,11 @@ "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "dev": true, "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" } } } @@ -11284,7 +11135,7 @@ "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", "dev": true, "requires": { - "utf8-byte-length": "1.0.4" + "utf8-byte-length": "^1.0.1" } }, "tslib": { @@ -11303,7 +11154,7 @@ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "^5.0.1" } }, "tweetnacl": { @@ -11317,7 +11168,7 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "requires": { - "prelude-ls": "1.1.2" + "prelude-ls": "~1.1.2" } }, "type-detect": { @@ -11333,7 +11184,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.18" + "mime-types": "~2.1.18" } }, "typedarray": { @@ -11353,8 +11204,8 @@ "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", "dev": true, "requires": { - "commander": "2.13.0", - "source-map": "0.6.1" + "commander": "~2.13.0", + "source-map": "~0.6.1" }, "dependencies": { "commander": { @@ -11371,14 +11222,14 @@ "integrity": "sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw==", "dev": true, "requires": { - "cacache": "10.0.4", - "find-cache-dir": "1.0.0", - "schema-utils": "0.4.5", - "serialize-javascript": "1.5.0", - "source-map": "0.6.1", - "uglify-es": "3.3.9", - "webpack-sources": "1.1.0", - "worker-farm": "1.6.0" + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "schema-utils": "^0.4.5", + "serialize-javascript": "^1.4.0", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" }, "dependencies": { "ajv": { @@ -11387,10 +11238,10 @@ "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { - "fast-deep-equal": "1.1.0", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.3.1", - "uri-js": "3.0.2" + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0", + "uri-js": "^3.0.2" } }, "schema-utils": { @@ -11399,8 +11250,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.4.0", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } } } @@ -11411,10 +11262,10 @@ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", "dev": true, "requires": { - "arr-union": "3.1.0", - "get-value": "2.0.6", - "is-extendable": "0.1.1", - "set-value": "0.4.3" + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" }, "dependencies": { "extend-shallow": { @@ -11423,7 +11274,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "0.1.1" + "is-extendable": "^0.1.0" } }, "set-value": { @@ -11432,42 +11283,21 @@ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", "dev": true, "requires": { - "extend-shallow": "2.0.1", - "is-extendable": "0.1.1", - "is-plain-object": "2.0.4", - "to-object-path": "0.3.0" + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" } } } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqid": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", - "dev": true, - "requires": { - "macaddress": "0.2.8" - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, "unique-filename": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz", "integrity": "sha1-0F8v5AMlYIcfMOk8vnNe6iAVFPM=", "dev": true, "requires": { - "unique-slug": "2.0.0" + "unique-slug": "^2.0.0" } }, "unique-slug": { @@ -11476,7 +11306,7 @@ "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "dev": true, "requires": { - "imurmurhash": "0.1.4" + "imurmurhash": "^0.1.4" } }, "unique-string": { @@ -11485,7 +11315,7 @@ "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "1.0.0" + "crypto-random-string": "^1.0.0" } }, "universalify": { @@ -11506,8 +11336,8 @@ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", "dev": true, "requires": { - "has-value": "0.3.1", - "isobject": "3.0.1" + "has-value": "^0.3.1", + "isobject": "^3.0.0" }, "dependencies": { "has-value": { @@ -11516,9 +11346,9 @@ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", "dev": true, "requires": { - "get-value": "2.0.6", - "has-values": "0.1.4", - "isobject": "2.1.0" + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" }, "dependencies": { "isobject": { @@ -11564,16 +11394,16 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "1.3.0", - "chalk": "2.4.1", - "configstore": "3.1.2", - "import-lazy": "2.1.0", - "is-ci": "1.1.0", - "is-installed-globally": "0.1.0", - "is-npm": "1.0.0", - "latest-version": "3.1.0", - "semver-diff": "2.1.0", - "xdg-basedir": "3.0.0" + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" }, "dependencies": { "ansi-styles": { @@ -11582,7 +11412,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -11591,9 +11421,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -11608,7 +11438,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -11625,7 +11455,7 @@ "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", "dev": true, "requires": { - "punycode": "2.1.0" + "punycode": "^2.1.0" }, "dependencies": { "punycode": { @@ -11672,9 +11502,9 @@ "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", "dev": true, "requires": { - "loader-utils": "1.1.0", - "mime": "2.3.1", - "schema-utils": "0.4.5" + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^0.4.3" }, "dependencies": { "ajv": { @@ -11683,10 +11513,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "fast-deep-equal": { @@ -11713,8 +11543,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.5.1", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, "uri-js": { @@ -11723,7 +11553,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } } } @@ -11734,8 +11564,8 @@ "integrity": "sha512-x95Td74QcvICAA0+qERaVkRpTGKyBHHYdwL2LXZm5t/gBtCB9KQSO/0zQgSTYEV1p0WcvSg79TLNPSvd5IDJMQ==", "dev": true, "requires": { - "querystringify": "2.0.0", - "requires-port": "1.0.0" + "querystringify": "^2.0.0", + "requires-port": "^1.0.0" } }, "url-parse-lax": { @@ -11744,7 +11574,7 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "1.0.4" + "prepend-http": "^1.0.1" } }, "use": { @@ -11753,7 +11583,7 @@ "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", "dev": true, "requires": { - "kind-of": "6.0.2" + "kind-of": "^6.0.2" } }, "utf8-byte-length": { @@ -11782,8 +11612,8 @@ "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { - "define-properties": "1.1.2", - "object.getownpropertydescriptors": "2.0.3" + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" } }, "utila": { @@ -11814,8 +11644,8 @@ "integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==", "dev": true, "requires": { - "spdx-correct": "3.0.0", - "spdx-expression-parse": "3.0.0" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, "value-equal": { @@ -11829,20 +11659,14 @@ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", "dev": true }, - "vendors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", - "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", - "dev": true - }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "1.0.0", + "assert-plus": "^1.0.0", "core-util-is": "1.0.2", - "extsprintf": "1.3.0" + "extsprintf": "^1.2.0" } }, "vm-browserify": { @@ -11859,7 +11683,7 @@ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "requires": { - "loose-envify": "1.3.1" + "loose-envify": "^1.0.0" } }, "watchpack": { @@ -11868,9 +11692,9 @@ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", "dev": true, "requires": { - "chokidar": "2.0.4", - "graceful-fs": "4.1.11", - "neo-async": "2.5.1" + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" } }, "wbuf": { @@ -11879,7 +11703,7 @@ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { - "minimalistic-assert": "1.0.1" + "minimalistic-assert": "^1.0.0" } }, "webidl-conversions": { @@ -11899,26 +11723,26 @@ "@webassemblyjs/wasm-edit": "1.5.12", "@webassemblyjs/wasm-opt": "1.5.12", "@webassemblyjs/wasm-parser": "1.5.12", - "acorn": "5.7.1", - "acorn-dynamic-import": "3.0.0", - "ajv": "6.5.1", - "ajv-keywords": "3.2.0", - "chrome-trace-event": "1.0.0", - "enhanced-resolve": "4.0.0", - "eslint-scope": "3.7.1", - "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.10", - "mkdirp": "0.5.1", - "neo-async": "2.5.1", - "node-libs-browser": "2.1.0", - "schema-utils": "0.4.5", - "tapable": "1.0.0", - "uglifyjs-webpack-plugin": "1.2.5", - "watchpack": "1.6.0", - "webpack-sources": "1.1.0" + "acorn": "^5.6.2", + "acorn-dynamic-import": "^3.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "chrome-trace-event": "^1.0.0", + "enhanced-resolve": "^4.0.0", + "eslint-scope": "^3.7.1", + "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", + "schema-utils": "^0.4.4", + "tapable": "^1.0.0", + "uglifyjs-webpack-plugin": "^1.2.4", + "watchpack": "^1.5.0", + "webpack-sources": "^1.0.1" }, "dependencies": { "acorn": { @@ -11933,10 +11757,10 @@ "integrity": "sha512-pgZos1vgOHDiC7gKNbZW8eKvCnNXARv2oqrGQT7Hzbq5Azp7aZG6DJzADnkuSq7RH6qkXp4J/m68yPX/2uBHyQ==", "dev": true, "requires": { - "fast-deep-equal": "2.0.1", - "fast-json-stable-stringify": "2.0.0", - "json-schema-traverse": "0.4.1", - "uri-js": "4.2.2" + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.1" } }, "fast-deep-equal": { @@ -11963,8 +11787,8 @@ "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", "dev": true, "requires": { - "ajv": "6.5.1", - "ajv-keywords": "3.2.0" + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" } }, "uri-js": { @@ -11973,7 +11797,7 @@ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, "requires": { - "punycode": "2.1.1" + "punycode": "^2.1.0" } } } @@ -11983,17 +11807,17 @@ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.0.8.tgz", "integrity": "sha512-KnRLJ0BUaYRqrhAMb9dv3gzdmhmgIMKo0FmdsnmfqbPGtLnnZ6tORZAvmmKfr+A0VgiVpqC60Gv7Ofg0R2CHtQ==", "requires": { - "chalk": "2.4.1", - "cross-spawn": "6.0.5", - "enhanced-resolve": "4.0.0", - "global-modules-path": "2.1.0", - "import-local": "1.0.0", - "inquirer": "6.0.0", - "interpret": "1.1.0", - "loader-utils": "1.1.0", - "supports-color": "5.4.0", - "v8-compile-cache": "2.0.0", - "yargs": "11.1.0" + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "enhanced-resolve": "^4.0.0", + "global-modules-path": "^2.1.0", + "import-local": "^1.0.0", + "inquirer": "^6.0.0", + "interpret": "^1.1.0", + "loader-utils": "^1.1.0", + "supports-color": "^5.4.0", + "v8-compile-cache": "^2.0.0", + "yargs": "^11.1.0" }, "dependencies": { "ansi-regex": { @@ -12006,7 +11830,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -12014,9 +11838,9 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "cross-spawn": { @@ -12024,11 +11848,11 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "requires": { - "nice-try": "1.0.4", - "path-key": "2.0.1", - "semver": "5.5.0", - "shebang-command": "1.2.0", - "which": "1.3.0" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } }, "has-flag": { @@ -12046,8 +11870,8 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12055,7 +11879,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } }, "supports-color": { @@ -12063,7 +11887,7 @@ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } }, "yargs": { @@ -12071,18 +11895,18 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz", "integrity": "sha512-NwW69J42EsCSanF8kyn5upxvjp5ds+t3+udGBeTbFnERA+lF541DDpMawzo4z6W/QrzNM18D+BPMiOBibnFV5A==", "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" } } } @@ -12093,13 +11917,13 @@ "integrity": "sha512-I6Mmy/QjWU/kXwCSFGaiOoL5YEQIVmbb0o45xMoCyQAg/mClqZVTcsX327sPfekDyJWpCxb+04whNyLOIxpJdQ==", "dev": true, "requires": { - "loud-rejection": "1.6.0", - "memory-fs": "0.4.1", - "mime": "2.3.1", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "url-join": "4.0.0", - "webpack-log": "1.2.0" + "loud-rejection": "^1.6.0", + "memory-fs": "~0.4.1", + "mime": "^2.1.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "url-join": "^4.0.0", + "webpack-log": "^1.0.1" } }, "webpack-dev-server": { @@ -12109,32 +11933,32 @@ "dev": true, "requires": { "ansi-html": "0.0.7", - "array-includes": "3.0.3", - "bonjour": "3.5.0", - "chokidar": "2.0.4", - "compression": "1.7.2", - "connect-history-api-fallback": "1.5.0", - "debug": "3.1.0", - "del": "3.0.0", - "express": "4.16.3", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.18.0", - "import-local": "1.0.0", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^1.0.0", "internal-ip": "1.2.0", - "ip": "1.1.5", - "killable": "1.0.0", - "loglevel": "1.6.1", - "opn": "5.3.0", - "portfinder": "1.0.13", - "selfsigned": "1.10.3", - "serve-index": "1.9.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.7.2", "sockjs": "0.3.19", "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "5.4.0", + "spdy": "^3.4.1", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", "webpack-dev-middleware": "3.1.3", - "webpack-log": "1.2.0", + "webpack-log": "^1.1.2", "yargs": "11.0.0" }, "dependencies": { @@ -12159,7 +11983,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -12170,10 +11994,10 @@ "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==", "dev": true, "requires": { - "chalk": "2.4.1", - "log-symbols": "2.2.0", - "loglevelnext": "1.0.5", - "uuid": "3.2.1" + "chalk": "^2.1.0", + "log-symbols": "^2.1.0", + "loglevelnext": "^1.0.1", + "uuid": "^3.1.0" }, "dependencies": { "ansi-styles": { @@ -12182,7 +12006,7 @@ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, "requires": { - "color-convert": "1.9.1" + "color-convert": "^1.9.0" } }, "chalk": { @@ -12191,9 +12015,9 @@ "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "dev": true, "requires": { - "ansi-styles": "3.2.1", - "escape-string-regexp": "1.0.5", - "supports-color": "5.4.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" } }, "has-flag": { @@ -12208,7 +12032,7 @@ "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "dev": true, "requires": { - "has-flag": "3.0.0" + "has-flag": "^3.0.0" } } } @@ -12219,8 +12043,8 @@ "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { - "source-list-map": "2.0.0", - "source-map": "0.6.1" + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" } }, "websocket-driver": { @@ -12229,8 +12053,8 @@ "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", "dev": true, "requires": { - "http-parser-js": "0.4.13", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.4.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { @@ -12250,21 +12074,15 @@ "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", "optional": true, "requires": { - "tr46": "0.0.3" + "tr46": "~0.0.1" } }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "requires": { - "isexe": "2.0.0" + "isexe": "^2.0.0" } }, "which-module": { @@ -12278,7 +12096,7 @@ "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "^1.0.2" } }, "widest-line": { @@ -12287,7 +12105,7 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "2.1.1" + "string-width": "^2.1.1" }, "dependencies": { "ansi-regex": { @@ -12308,8 +12126,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12318,7 +12136,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12335,7 +12153,7 @@ "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", "dev": true, "requires": { - "errno": "0.1.7" + "errno": "~0.1.7" } }, "wrap-ansi": { @@ -12343,8 +12161,8 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" } }, "wrappy": { @@ -12359,9 +12177,9 @@ "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "dev": true, "requires": { - "graceful-fs": "4.1.11", - "imurmurhash": "0.1.4", - "signal-exit": "3.0.2" + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" } }, "xdg-basedir": { @@ -12394,7 +12212,7 @@ "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", "dev": true, "requires": { - "object-keys": "0.4.0" + "object-keys": "~0.4.0" } }, "y18n": { @@ -12413,18 +12231,18 @@ "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "1.2.0", - "find-up": "2.1.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "9.0.2" + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" }, "dependencies": { "ansi-regex": { @@ -12445,8 +12263,8 @@ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" } }, "strip-ansi": { @@ -12455,7 +12273,7 @@ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^3.0.0" } } } @@ -12465,7 +12283,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-9.0.2.tgz", "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "requires": { - "camelcase": "4.1.0" + "camelcase": "^4.1.0" }, "dependencies": { "camelcase": { @@ -12481,7 +12299,7 @@ "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", "dev": true, "requires": { - "fd-slicer": "1.0.1" + "fd-slicer": "~1.0.1" } }, "ytdl-core": { @@ -12489,10 +12307,10 @@ "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.20.4.tgz", "integrity": "sha512-d+jthiJxSQ6yqCeCwwMggXYOjFSOJsD7ahvAAE1sFW9nVNnsA/roz91SFH1FzaMGS7/y7AnJfhVgpE9i8uYjJQ==", "requires": { - "html-entities": "1.2.1", - "m3u8stream": "0.2.2", - "miniget": "1.2.0", - "sax": "1.2.4" + "html-entities": "^1.1.3", + "m3u8stream": "^0.2.1", + "miniget": "^1.1.0", + "sax": "^1.1.3" } } } diff --git a/package.json b/package.json index b91c1bac7b..29c91005c2 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "dependencies": { "billboard-top-100": "^2.0.8", "electron-platform": "^1.2.0", + "electron-timber": "^0.5.1", "font-awesome": "^4.7.0", "lowdb": "^1.0.0", "md5": "^2.2.1", diff --git a/webpack.config.dev.js b/webpack.config.dev.js index 30584b00cf..24bfd4c66f 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -17,12 +17,12 @@ const config = { output: { path: BUILD_DIR, filename: 'bundle.js', - publicPath: 'http://localhost:8080/' + publicPath: '/' }, devServer: { hot: true, - contentBase: BUILD_DIR, - publicPath: 'http://localhost:8080/' + contentBase: '/', + publicPath: '/' }, mode: 'development', node: { From 17a09b914826e60107318508e575ce15577ade25 Mon Sep 17 00:00:00 2001 From: nukeop Date: Thu, 12 Jul 2018 23:57:56 +0200 Subject: [PATCH 175/487] Add some logging and tests for pitchfork api --- app/actions/dashboard.js | 30 +++++++++++----------- app/actions/index.js | 54 ++++++++++++++++++++++++++++++++++------ index.html | 1 - server/main.dev.js | 16 ++++++------ server/main.dev.linux.js | 20 +++++++++------ test/pitchfork.test.js | 29 +++++++++++++++++++++ 6 files changed, 114 insertions(+), 36 deletions(-) create mode 100644 test/pitchfork.test.js diff --git a/app/actions/dashboard.js b/app/actions/dashboard.js index c16434f96a..d0ba485849 100644 --- a/app/actions/dashboard.js +++ b/app/actions/dashboard.js @@ -1,3 +1,5 @@ +import logger from 'electron-timber'; + import { getBestNewAlbums, getBestNewTracks @@ -53,11 +55,11 @@ export function loadTopTags() { getTopTags() .then(response => response.json()) .then(results => { - dispatch(loadTopTagsSuccess(results.toptags.tag)); + dispatch(loadTopTagsSuccess(results.toptags.tag)); }) .catch(error => { - dispatch(loadTopTagsError(error)); - console.error(error); + dispatch(loadTopTagsError(error)); + logger.error(error); }); }; } @@ -86,11 +88,11 @@ export function loadBestNewAlbums() { dispatch(loadBestNewAlbumsStart()); getBestNewAlbums(). then(albums => { - dispatch(loadBestNewAlbumsSuccess(albums)); + dispatch(loadBestNewAlbumsSuccess(albums)); }) .catch(error => { - dispatch(loadBestNewAlbumsError()); - console.error(error); + dispatch(loadBestNewAlbumsError()); + logger.error(error); }); }; } @@ -119,11 +121,11 @@ export function loadBestNewTracks() { dispatch(loadBestNewAlbumsStart()); getBestNewTracks(). then(tracks => { - dispatch(loadBestNewTracksSuccess(tracks)); + dispatch(loadBestNewTracksSuccess(tracks)); }) .catch(error => { - dispatch(loadBestNewTracksError()); - console.error(error); + dispatch(loadBestNewTracksError()); + logger.error(error); }); }; } @@ -152,15 +154,15 @@ export function loadNuclearNews() { dispatch(loadNuclearNewsStart()); getNewsIndex() .then(index => { - return Promise.all(index.articles.map((item, i) => { - return getNewsItem(item); - })); + return Promise.all(index.articles.map((item, i) => { + return getNewsItem(item); + })); }) .then(articles => { - dispatch(loadNuclearNewsSuccess(articles)); + dispatch(loadNuclearNewsSuccess(articles)); }) .catch(err => { - dispatch(loadNuclearNewsError(err)); + dispatch(loadNuclearNewsError(err)); }); }; } diff --git a/app/actions/index.js b/app/actions/index.js index 7f7d165d2a..ac9fb62de4 100644 --- a/app/actions/index.js +++ b/app/actions/index.js @@ -1,3 +1,5 @@ +import logger from 'electron-timber'; + const mb = require('../rest/Musicbrainz'); const discogs = require('../rest/Discogs'); const lastfm = require('../rest/Lastfm'); @@ -48,6 +50,12 @@ export function unifiedSearchSuccess() { }; } +export function unifiedSearchError() { + return { + type: UNIFIED_SEARCH_ERROR + }; +} + export function albumSearch(terms) { return (dispatch) => { return discogs.searchReleases(terms) @@ -57,6 +65,9 @@ export function albumSearch(terms) { type: ALBUM_SEARCH_SUCCESS, payload: searchResultsJson.results }); + }) + .catch(error => { + logger.error(error); }); }; } @@ -70,6 +81,9 @@ export function artistSearch(terms) { type: ARTIST_SEARCH_SUCCESS, payload: searchResultsJson.results }); + }) + .catch(error => { + logger.error(error); }); }; } @@ -80,11 +94,16 @@ export function unifiedSearch(terms, history) { Promise.all([ dispatch(albumSearch(terms)), dispatch(artistSearch(terms)) - ]).then(() => { + ]) + .then(() => { dispatch(unifiedSearchSuccess()); if(history.location.pathname !== '/search') { history.push('/search'); } + }) + .catch(error => { + logger.error(error); + dispatch(unifiedSearchError()); }); }; } @@ -110,9 +129,18 @@ export function albumInfoSearch(albumId) { return (dispatch) => { dispatch(albumInfoStart(albumId)); discogs.releaseInfo(albumId) - .then (info => info.json()) + .then (info => { + if(info.ok) { + info.json(); + } else { + throw `Error fetching album data from Discogs for id ${albumId}`; + } + }) .then (albumInfo => { dispatch(albumInfoSuccess(albumId, albumInfo)); + }) + .catch(error => { + logger.error(error); }); }; } @@ -142,6 +170,9 @@ export function artistInfoSearch(artistId) { .then (artistInfo => { dispatch(artistInfoSuccess(artistId, artistInfo)); dispatch(lastFmArtistInfoSearch(artistInfo.name, artistId)); + }) + .catch(error => { + logger.error(error); }); }; } @@ -170,6 +201,9 @@ export function artistReleasesSearch(artistId) { .then (releases => releases.json()) .then (releases => { dispatch(artistReleasesSuccess(artistId, releases)); + }) + .catch(error => { + logger.error(error); }); }; } @@ -180,12 +214,15 @@ export function artistInfoSearchByName(artistName, history) { discogs.searchArtists(artistName) .then(searchResults => searchResults.json()) .then(searchResultsJson => { - let artist = searchResultsJson.results[0]; - if (history) { - history.push('/artist/' + artist.id); - } + let artist = searchResultsJson.results[0]; + if (history) { + history.push('/artist/' + artist.id); + } - dispatch(artistInfoSearch(artist.id)); + dispatch(artistInfoSearch(artist.id)); + }) + .catch(error => { + logger.error(error); }); }; } @@ -222,6 +259,9 @@ export function lastFmArtistInfoSearch(artist, artistId) { }); dispatch(lastFmArtistInfoSuccess(artistId, info)); + }) + .catch(error => { + logger.error(error); }); }; } diff --git a/index.html b/index.html index 6216243e97..2ee41c64eb 100644 --- a/index.html +++ b/index.html @@ -6,7 +6,6 @@ - + + + +
+ + + + + + + `); + }); + + return router; +} + diff --git a/server/http/api/window.js b/server/http/api/window.js index 88db3ac65f..2e93d3d6a1 100644 --- a/server/http/api/window.js +++ b/server/http/api/window.js @@ -1,24 +1,34 @@ import express from 'express'; const { ipcMain } = require('electron'); +import swagger from 'swagger-spec-express'; +import { getStandardDescription } from '../lib/swagger'; export function windowRouter() { const router = express.Router(); - router.post('/quit', (req, res) => { - ipcMain.emit('close'); - res.send(); - }); + swagger.swaggerize(router); - router.post('/maximize', (req, res) => { - ipcMain.emit('maximize'); - res.send(); - }); + router + .post('/quit', (req, res) => { + ipcMain.emit('close'); + res.send(); + }) + .describe(getStandardDescription({ tags: ['Window'] })); - router.post('/minimize', (req, res) => { - ipcMain.emit('minimize'); - res.send(); - }); + router + .post('/maximize', (req, res) => { + ipcMain.emit('maximize'); + res.send(); + }) + .describe(getStandardDescription({ tags: ['Window'] })); + + router + .post('/minimize', (req, res) => { + ipcMain.emit('minimize'); + res.send(); + }) + .describe(getStandardDescription({ tags: ['Window'] })); return router; } diff --git a/server/http/lib/swagger.js b/server/http/lib/swagger.js new file mode 100644 index 0000000000..cfd99a2dd9 --- /dev/null +++ b/server/http/lib/swagger.js @@ -0,0 +1,79 @@ +import swagger from 'swagger-spec-express'; + +import { volumeSchema, seekSchema, updateSettingsSchema, getSettingsSchema } from '../schema'; + +export function getStandardDescription({ + successDescription = 'Action successfull', + errorDescription = 'Internal server error', + tags, + body, + path +}) { + return { + tags, + common: { + parameters: { + body, + path + } + }, + responses: { + 200: { + description: successDescription + }, + 500: { + description: errorDescription + } + } + }; +} + +export function initSwagger(app) { + swagger.initialise(app, { + title: 'Nuclear REST API', + description: 'This Api allow you to remotly control nuclear desktop app', + tags: [ + { + name: 'Player', + description: 'Player related endpoints (play, pause, volume ...)' + }, + { + name: 'Window', + description: 'Window related endpoints (maximize, close ...)' + }, + { + name: 'Settings', + description: 'Settings related endpoints (update settings ...)' + } + ] + }); + + swagger.common.parameters.addBody({ + name: 'settingsValue', + description: 'The value of the property you want to change', + required: true, + schema: updateSettingsSchema.body.properties.value + }); + + swagger.common.parameters.addBody({ + name: 'volumeValue', + description: 'The new volume', + required: true, + schema: volumeSchema.body.properties.value + }); + + swagger.common.parameters.addBody({ + name: 'seekValue', + description: 'The new position of the seek', + required: true, + schema: seekSchema.body.properties.value + }); + + swagger.common.parameters.addPath({ + name: 'option', + description: 'The name of the settings you want to get / update', + required: true, + ...getSettingsSchema.params.properties.option + }); +} + diff --git a/server/http/api/_schema.js b/server/http/schema.js similarity index 95% rename from server/http/api/_schema.js rename to server/http/schema.js index 5dcc00fb2b..a2089e07d9 100644 --- a/server/http/api/_schema.js +++ b/server/http/schema.js @@ -1,4 +1,4 @@ -import settings from '../../../app/constants/settings'; +import settings from '../../app/constants/settings'; export const RESTRICTED_SETTINGS = []; export const READONLY_SETTINGS = []; diff --git a/server/http/server.js b/server/http/server.js index acee656a15..2987f76e43 100644 --- a/server/http/server.js +++ b/server/http/server.js @@ -2,9 +2,16 @@ import Logger from 'electron-timber'; import express from 'express'; import bodyParser from 'body-parser'; import cors from 'cors'; +import swagger from 'swagger-spec-express'; -import { windowRouter, playerRouter, settingsRouter } from './api'; +import { + windowRouter, + playerRouter, + settingsRouter, + swaggerRouter +} from './api'; import { errorMiddleware, notFoundMiddleware } from './middlewares'; +import { initSwagger } from './lib/swagger'; function runHttpServer({ log, @@ -17,6 +24,8 @@ function runHttpServer({ ? Logger.create({ name: 'http api' }) : { log: () => {}, error: () => {} }; + initSwagger(app); + return app .use(cors()) .use(bodyParser.urlencoded({ extended: false })) @@ -24,12 +33,14 @@ function runHttpServer({ .use(`${prefix}/window`, windowRouter()) .use(`${prefix}/player`, playerRouter()) .use(`${prefix}/settings`, settingsRouter()) + .use(`${prefix}/docs`, swaggerRouter()) .use(notFoundMiddleware()) .use(errorMiddleware(logger)) .listen(port, host, err => { if (err) { logger.error(err); } else { + swagger.compile(); logger.log(`nuclear api available on port ${port}`); } }); From f13953c7ed8c9491060a0ff9a04e6ff25276c41a Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Sun, 10 Mar 2019 12:09:43 +0100 Subject: [PATCH 466/487] fix(api): fix error when restarting api --- server/http/lib/swagger.js | 1 + server/main.dev.linux.js | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/server/http/lib/swagger.js b/server/http/lib/swagger.js index cfd99a2dd9..b537a51d3b 100644 --- a/server/http/lib/swagger.js +++ b/server/http/lib/swagger.js @@ -29,6 +29,7 @@ export function getStandardDescription({ } export function initSwagger(app) { + swagger.reset(); swagger.initialise(app, { title: 'Nuclear REST API', description: 'This Api allow you to remotly control nuclear desktop app', diff --git a/server/main.dev.linux.js b/server/main.dev.linux.js index 6694b0f30d..58ce2d9873 100644 --- a/server/main.dev.linux.js +++ b/server/main.dev.linux.js @@ -101,7 +101,9 @@ function createWindow() { }); ipcMain.on('restart-api', () => { - httpServer.close(); + if (httpServer && httpServer.listening) { + httpServer.close(); + } httpServer = runHttpServer({ log: true, port: getOption('api.port') }); }); From 27fefb45dacd7ea311da03a35bb3e9fedf389efc Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Sun, 10 Mar 2019 12:18:40 +0100 Subject: [PATCH 467/487] remove package-lock.json --- package-lock.json | 13209 -------------------------------------------- 1 file changed, 13209 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 90b8c3a46a..0000000000 --- a/package-lock.json +++ /dev/null @@ -1,13209 +0,0 @@ -{ - "name": "nuclear", - "version": "0.4.5", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "7zip": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/7zip/-/7zip-0.0.6.tgz", - "integrity": "sha1-nK+xca+CMpSQNTtIFvAzR6oVCjA=", - "dev": true - }, - "7zip-bin": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-4.1.0.tgz", - "integrity": "sha512-AsnBZN3a8/JcNt+KPkGGODaA4c7l3W5+WpeKgGSbstSLxqWtTXqd1ieJGBQ8IFCtRg8DmmKUcSkIkUc0A4p3YA==", - "dev": true - }, - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" - } - }, - "@babel/generator": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.3.4.tgz", - "integrity": "sha512-8EXhHRFqlVVWXPezBW5keTiQi/rJMQTg/Y9uVCEZ0CAF3PKtCCaVRnp64Ii1ujhkoDhhF1fVsImoN4yJ2uz4Wg==", - "dev": true, - "requires": { - "@babel/types": "^7.3.4", - "jsesc": "^2.5.1", - "lodash": "^4.17.11", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/helper-function-name": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz", - "integrity": "sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", - "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.3.4.tgz", - "integrity": "sha512-tXZCqWtlOOP4wgCp6RjRvLmfuhnqTLy9VHwRochJBCP2nDm27JnnuFEnXFASVyQNHk36jD1tAammsCEEqgscIQ==", - "dev": true - }, - "@babel/runtime": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.3.4.tgz", - "integrity": "sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g==", - "requires": { - "regenerator-runtime": "^0.12.0" - } - }, - "@babel/runtime-corejs2": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.3.4.tgz", - "integrity": "sha512-QwPuQE65kNxjsNKk34Rfgen2R5fk0J2So99SD45uXBp34QOfyz11SqVgJ4xvyCpnCIieSQ0X0hSSc9z/ymlJJw==", - "requires": { - "core-js": "^2.5.7", - "regenerator-runtime": "^0.12.0" - } - }, - "@babel/template": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.2.2.tgz", - "integrity": "sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.2.2", - "@babel/types": "^7.2.2" - } - }, - "@babel/traverse": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.3.4.tgz", - "integrity": "sha512-TvTHKp6471OYEcE/91uWmhR6PrrYywQntCHSaZ8CM8Vmp+pjAusal4nGB2WCCQd0rvI7nOMKn9GnbcvTUz3/ZQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.3.4", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.0.0", - "@babel/parser": "^7.3.4", - "@babel/types": "^7.3.4", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.11" - }, - "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.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", - "dev": true - }, - "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==", - "dev": true - } - } - }, - "@babel/types": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.4.tgz", - "integrity": "sha512-WEkp8MsLftM7O/ty580wAmZzN1nDmCACc5+jFzUt+GUFNNIi3LdRlueYz0YIlmJhlZx1QYDMZL5vdWCL0fNjFQ==", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.11", - "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 - } - } - }, - "@semantic-ui-react/event-stack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@semantic-ui-react/event-stack/-/event-stack-2.0.0.tgz", - "integrity": "sha512-OLw7l+6sXFp7qJQGIpEktqhkQFOKsM8hto4RSkAkqs1NG/rG2Jb7ct8so7x4qaP3UNJEPUfnrFGuCCz3laLIBQ==", - "requires": { - "exenv": "^1.2.2", - "prop-types": "^15.6.2" - } - }, - "@sindresorhus/fnv1a": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/fnv1a/-/fnv1a-1.0.0.tgz", - "integrity": "sha512-n+7NAD9vCDb2PaCRFIGrT2UF8WPIfMgGvCiVsYKY1/eBTrZU80N9erKhX9UTdxyvWhNuxQxwZGzdOIOlt8WqsA==" - }, - "@sindresorhus/string-hash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/string-hash/-/string-hash-1.0.0.tgz", - "integrity": "sha512-f+MXwrsBBcicamPLVcvfoc1SBXLRRwRGe0atZlJFRypb6CKoODYwElIQLFuilFoD+7YWdjX42Lfx6mC0ClMKgw==", - "requires": { - "@sindresorhus/fnv1a": "^1.0.0" - } - }, - "@types/node": { - "version": "11.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-11.10.5.tgz", - "integrity": "sha512-DuIRlQbX4K+d5I+GMnv+UfnGh+ist0RdlvOp+JZ7ePJ6KQONCFQv/gKYSU1ZzbVdFSUCKZOltjmpFAGGv5MdYA==" - }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "optional": true - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", - "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", - "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" - }, - "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==", - "dev": true - }, - "acorn-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", - "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", - "optional": true, - "requires": { - "acorn": "^2.1.0" - } - }, - "acorn-jsx": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz", - "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==", - "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==", - "dev": true - }, - "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", - "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz", - "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-align": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", - "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", - "dev": true, - "requires": { - "string-width": "^2.0.0" - } - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "app-builder-bin": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.6.3.tgz", - "integrity": "sha512-JL8C41e6yGIchFsHP/q15aGNedAaUakLhkV6ER0Yxafx08sRnlDnlkAkEIKjX7edg/4i7swpGa6CBv1zX9GgCA==", - "dev": true - }, - "app-builder-lib": { - "version": "20.38.5", - "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.38.5.tgz", - "integrity": "sha512-vVgM9d9twwlhr+8vNAJOAD9dyVBRk7reuVa1BE1OmvaHb1M+fS8KpvcDKVdBqX9KDHy7zSc57mnIcHgax4/XMA==", - "dev": true, - "requires": { - "7zip-bin": "~4.1.0", - "app-builder-bin": "2.6.3", - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.6", - "builder-util": "9.6.2", - "builder-util-runtime": "8.1.1", - "chromium-pickle-js": "^0.2.0", - "debug": "^4.1.1", - "ejs": "^2.6.1", - "electron-osx-sign": "0.4.11", - "electron-publish": "20.38.5", - "fs-extra-p": "^7.0.0", - "hosted-git-info": "^2.7.1", - "is-ci": "^2.0.0", - "isbinaryfile": "^4.0.0", - "js-yaml": "^3.12.1", - "lazy-val": "^1.0.3", - "minimatch": "^3.0.4", - "normalize-package-data": "^2.4.0", - "plist": "^3.0.1", - "read-config-file": "3.2.1", - "sanitize-filename": "^1.6.1", - "semver": "^5.6.0", - "temp-file": "^3.3.2" - }, - "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" - } - }, - "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==", - "dev": true - } - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", - "dev": true, - "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" - } - } - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "array-includes": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", - "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" - } - }, - "array-map": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", - "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", - "dev": true - }, - "array-reduce": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", - "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "array.prototype.flat": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.1.tgz", - "integrity": "sha512-rVqIs330nLJvfC7JqYvEWwqVr5QjYF1ib02i3YJtR/fICO6527Tjpc/e4Mvmxh3GIePPreRXMdaGyC99YphWEw==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.10.0", - "function-bind": "^1.1.1" - } - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, - "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "dev": true - }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-exit-hook": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz", - "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==", - "dev": true - }, - "async-foreach": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", - "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", - "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==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, - "audio-extensions": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/audio-extensions/-/audio-extensions-0.0.0.tgz", - "integrity": "sha1-0O7+B3+562JYmO7ZmFiQVIzx+NI=" - }, - "auto-bind": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-1.2.1.tgz", - "integrity": "sha512-/W9yj1yKmBLwpexwAujeD9YHwYmRuWFGV8HWE7smQab797VeHa4/cnE2NFeDhA+E+5e/OGBI8763EhLjfZ/MXA==" - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" - }, - "aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" - }, - "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" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "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 - }, - "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" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^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 - } - } - }, - "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" - }, - "dependencies": { - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-eslint": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.0.1.tgz", - "integrity": "sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.0.0", - "@babel/traverse": "^7.0.0", - "@babel/types": "^7.0.0", - "eslint-scope": "3.7.1", - "eslint-visitor-keys": "^1.0.0" - } - }, - "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" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "babel-helper-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==", - "dev": true, - "requires": { - "find-cache-dir": "^1.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1" - } - }, - "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-add-module-exports": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz", - "integrity": "sha1-mumh9KjcZ/DN7E9K7aHkOl/2XiU=", - "dev": true - }, - "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-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-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, - "requires": { - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "regenerator-runtime": "^0.10.5" - }, - "dependencies": { - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } - } - }, - "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-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "^6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", - "babel-plugin-transform-es2015-block-scoping": "^6.24.1", - "babel-plugin-transform-es2015-classes": "^6.24.1", - "babel-plugin-transform-es2015-computed-properties": "^6.24.1", - "babel-plugin-transform-es2015-destructuring": "^6.22.0", - "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", - "babel-plugin-transform-es2015-for-of": "^6.22.0", - "babel-plugin-transform-es2015-function-name": "^6.24.1", - "babel-plugin-transform-es2015-literals": "^6.22.0", - "babel-plugin-transform-es2015-modules-amd": "^6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", - "babel-plugin-transform-es2015-modules-umd": "^6.24.1", - "babel-plugin-transform-es2015-object-super": "^6.24.1", - "babel-plugin-transform-es2015-parameters": "^6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", - "babel-plugin-transform-es2015-spread": "^6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", - "babel-plugin-transform-es2015-template-literals": "^6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", - "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", - "babel-plugin-transform-regenerator": "^6.24.1" - } - }, - "babel-preset-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" - } - }, - "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=", - "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 - } - } - }, - "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", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" - }, - "billboard-top-100": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/billboard-top-100/-/billboard-top-100-2.4.1.tgz", - "integrity": "sha512-rYThy78mXpeaNhaOqpNGRWeMh+UjWVqkpoQwvBzmAdJ8TEG0f33Ap2JNEitn/HK3gnBuuDMj0n2YTcvfeZK9pg==", - "requires": { - "cheerio": "^0.20.0", - "request": "^2.72.0" - }, - "dependencies": { - "cheerio": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.20.0.tgz", - "integrity": "sha1-XHEPK6uVZTJyhCugHG6mGzVF7DU=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "~3.8.1", - "jsdom": "^7.0.2", - "lodash": "^4.1.0" - } - }, - "jsdom": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-7.2.2.tgz", - "integrity": "sha1-QLQCdwwr2iNGkJa+6Rq2deOx/G4=", - "optional": true, - "requires": { - "abab": "^1.0.0", - "acorn": "^2.4.0", - "acorn-globals": "^1.0.4", - "cssom": ">= 0.3.0 < 0.4.0", - "cssstyle": ">= 0.2.29 < 0.3.0", - "escodegen": "^1.6.1", - "nwmatcher": ">= 1.3.7 < 2.0.0", - "parse5": "^1.5.1", - "request": "^2.55.0", - "sax": "^1.1.4", - "symbol-tree": ">= 3.1.0 < 4.0.0", - "tough-cookie": "^2.2.0", - "webidl-conversions": "^2.0.0", - "whatwg-url-compat": "~0.6.5", - "xml-name-validator": ">= 2.0.1 < 3.0.0" - } - } - } - }, - "binary-extensions": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz", - "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==", - "dev": true - }, - "block-stream": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", - "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", - "dev": true, - "requires": { - "inherits": "~2.0.0" - } - }, - "bluebird": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", - "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" - }, - "bluebird-lst": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.7.tgz", - "integrity": "sha512-5ix04IbXVIZ6nSRM4aZnwQfk40Td0D57WAl8LfhnICF6XwT4efCZYh0veOHvfDmgpbqE4ju5L5XEAMIcAe13Kw==", - "dev": true, - "requires": { - "bluebird": "^3.5.3" - } - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "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=", - "requires": { - "bytes": "3.0.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", - "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", - "qs": "6.5.2", - "raw-body": "2.3.3", - "type-is": "~1.6.16" - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, - "boxen": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", - "dev": true, - "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } - } - }, - "boxicons": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/boxicons/-/boxicons-1.9.1.tgz", - "integrity": "sha512-PdczPojtlsaY6hM82ykDNoBGBivwWRiKzQCgZx5093pqgN3beJ8XjkUKuZ3CzK2i5bgQTqfRz+a7dhVZBFqbBw==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browser-process-hrtime": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz", - "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==", - "dev": true - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "^4.1.1", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.2", - "elliptic": "^6.0.0", - "inherits": "^2.0.1", - "parse-asn1": "^5.0.0" - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "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": "5.2.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz", - "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==", - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" - } - }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", - "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builder-util": { - "version": "9.6.2", - "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.6.2.tgz", - "integrity": "sha512-cWl/0/Q851lesMmXp1IjreeAX1QAWA9e+iU2IT61oh+CvMYJnDwao2m9ZCHammdw2zllrwWu4fOC3gvsb/yOCw==", - "dev": true, - "requires": { - "7zip-bin": "~4.1.0", - "app-builder-bin": "2.6.3", - "bluebird-lst": "^1.0.6", - "builder-util-runtime": "^8.1.1", - "chalk": "^2.4.2", - "debug": "^4.1.1", - "fs-extra-p": "^7.0.0", - "is-ci": "^2.0.0", - "js-yaml": "^3.12.1", - "source-map-support": "^0.5.10", - "stat-mode": "^0.2.2", - "temp-file": "^3.3.2" - }, - "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" - } - }, - "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==", - "dev": true - }, - "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "builder-util-runtime": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.1.1.tgz", - "integrity": "sha512-+ieS4PMB33vVE2S3ZNWBEQJ1zKmAs/agrBdh7XadE1lKLjrH4aXYuOh9OOGdxqIRldhlhNBaF+yKMMEFOdNVig==", - "dev": true, - "requires": { - "bluebird-lst": "^1.0.6", - "debug": "^4.1.1", - "fs-extra-p": "^7.0.0", - "sax": "^1.2.4" - }, - "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" - } - }, - "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==", - "dev": true - } - } - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "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==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.3", - "graceful-fs": "^4.1.15", - "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", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "callsites": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.0.0.tgz", - "integrity": "sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw==", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.2.0.tgz", - "integrity": "sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ==" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "dev": true, - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - } - } - }, - "camelize": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", - "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" - }, - "caniuse-lite": { - "version": "1.0.30000942", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000942.tgz", - "integrity": "sha512-wLf+IhZUy2rfz48tc40OH7jHjXjnvDFEYqBHluINs/6MgzoNLPf25zhE4NOVzqxLKndf+hau81sAW0RcGHIaBQ==", - "dev": true - }, - "capture-stack-trace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz", - "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==" - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" - }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "dev": true, - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "cheerio": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.2.tgz", - "integrity": "sha1-S59TqBsn5NXawxwP/Qz6A8xoMNs=", - "requires": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash": "^4.15.0", - "parse5": "^3.0.1" - }, - "dependencies": { - "htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "parse5": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz", - "integrity": "sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==", - "requires": { - "@types/node": "*" - } - }, - "readable-stream": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", - "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.2.tgz", - "integrity": "sha512-IwXUx0FXc5ibYmPC2XeEj5mpXoV66sR+t3jqu2NS2GYwCktt3KF1/Qqjws/NkegajBA4RbZ5+DDwlOiJsxDHEg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.0" - }, - "dependencies": { - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", - "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==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "chromium-pickle-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", - "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", - "dev": true - }, - "ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" - }, - "clean-css": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", - "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, - "cli-boxes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", - "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", - "dev": true - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "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==", - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - } - }, - "clone": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", - "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==", - "dev": true, - "requires": { - "for-own": "^1.0.0", - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.0", - "shallow-clone": "^1.0.0" - } - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color/-/color-2.0.1.tgz", - "integrity": "sha512-ubUCVVKfT7r2w2D3qtHakj8mbmKms+tThR8gI8zEYCbUBl8/voqFGt3kgBqGwXAopgXybnkuOq+qMYCRrp4cXw==", - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", - "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "compare-version": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz", - "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=", - "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=" - }, - "compressible": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.16.tgz", - "integrity": "sha512-JQfEOdnI7dASwCuSPWIeVYwc/zMsu/+tRhoUvEfXz2gxOA2DNjmG5vhtFdBlhWPPGo+RdT9S3tgc/uH5qgDiiA==", - "dev": true, - "requires": { - "mime-db": ">= 1.38.0 < 2" - } - }, - "compression": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", - "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.14", - "debug": "2.6.9", - "on-headers": "~1.0.1", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "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" - } - } - } - }, - "conf": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/conf/-/conf-2.2.0.tgz", - "integrity": "sha512-93Kz74FOMo6aWRVpAZsonOdl2I57jKtHrNmxhumehFQw4X8Sk37SohNY11PG7Q8Okta+UnrVaI006WLeyp8/XA==", - "requires": { - "dot-prop": "^4.1.0", - "env-paths": "^1.0.0", - "make-dir": "^1.0.0", - "pkg-up": "^2.0.0", - "write-file-atomic": "^2.3.0" - } - }, - "configstore": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz", - "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", - "dev": true, - "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "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" - } - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" - }, - "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.6.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, - "core-js": { - "version": "2.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.5.tgz", - "integrity": "sha512-klh/kDpwX8hryYL14M9w/xei6vrv6sE8gTHDG7/T/+SEovB/G4ejwcfE/CBzO6Edsu+OETZMZ3wcX/EjUkrl5A==" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - } - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "requires": { - "capture-stack-trace": "^1.0.0" - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "cross-unzip": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/cross-unzip/-/cross-unzip-0.0.2.tgz", - "integrity": "sha1-UYO8R6CVWb78+YzEZXlkmZNZNy8=", - "dev": true - }, - "crypt": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "crypto-random-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", - "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", - "dev": true - }, - "css-box-model": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.1.1.tgz", - "integrity": "sha512-ZxbuLFeAPEDb0wPbGfT7783Vb00MVAkvOlMKwr0kA2PD5EGxk6P3MAhedvVuyVJCWb54bb+6HQ7pdPYENf8AZw==", - "requires": { - "tiny-invariant": "^1.0.3" - } - }, - "css-color-keywords": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", - "integrity": "sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU=" - }, - "css-loader": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", - "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", - "dev": true, - "requires": { - "babel-code-frame": "^6.26.0", - "css-selector-tokenizer": "^0.7.0", - "icss-utils": "^2.1.0", - "loader-utils": "^1.0.2", - "lodash": "^4.17.11", - "postcss": "^6.0.23", - "postcss-modules-extract-imports": "^1.2.0", - "postcss-modules-local-by-default": "^1.2.0", - "postcss-modules-scope": "^1.1.0", - "postcss-modules-values": "^1.3.0", - "postcss-value-parser": "^3.3.0", - "source-list-map": "^2.0.0" - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "requires": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "css-selector-tokenizer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", - "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", - "dev": true, - "requires": { - "cssesc": "^0.1.0", - "fastparse": "^1.1.1", - "regexpu-core": "^1.0.0" - }, - "dependencies": { - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - } - } - }, - "css-to-react-native": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.0.tgz", - "integrity": "sha512-IhR7bNIrCFwbJbKZOAjNDZdwpsbjTN6f1agXeELHDqg1wHPA8c2QLruttKOW7hgMGetkfraRJCIEMrptifBfVw==", - "requires": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^3.3.0" - } - }, - "css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssom": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.6.tgz", - "integrity": "sha512-DtUeseGk9/GBW0hl0vVPpU22iHL6YB5BUX7ml1hB+GMpo0NX5G4voX3kdWiMSEguFtcW3Vh3djqNF4aIe6ne0A==" - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "optional": true, - "requires": { - "cssom": "0.3.x" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "dev": true, - "requires": { - "array-find-index": "^1.0.1" - } - }, - "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "data-urls": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz", - "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0" - }, - "dependencies": { - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", - "dev": true - } - } - }, - "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", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, - "requires": { - "type-detect": "^4.0.0" - } - }, - "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 - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - }, - "dependencies": { - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "dev": true - } - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "^6.1.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "p-map": "^1.1.1", - "pify": "^3.0.0", - "rimraf": "^2.2.8" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "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=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "detect-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" - }, - "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", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "diff": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", - "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - } - }, - "discontinuous-range": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", - "integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=", - "dev": true - }, - "dmg-builder": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.5.4.tgz", - "integrity": "sha512-EaEkF8weXez3iAwgYffjcYfumauUh5x+BggMgn/IuihNIA5/WfzRAUR4wMq9aII2zwArlw+rIrX6ZHKbmtkQmA==", - "dev": true, - "requires": { - "app-builder-lib": "~20.38.5", - "bluebird-lst": "^1.0.6", - "builder-util": "~9.6.2", - "fs-extra-p": "^7.0.0", - "iconv-lite": "^0.4.24", - "js-yaml": "^3.12.1", - "parse-color": "^1.0.0", - "sanitize-filename": "^1.6.1" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", - "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-helpers": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", - "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", - "requires": { - "@babel/runtime": "^7.1.2" - } - }, - "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", - "dev": true - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" - }, - "domexception": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", - "dev": true, - "requires": { - "webidl-conversions": "^4.0.2" - }, - "dependencies": { - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - } - } - }, - "domhandler": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", - "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", - "requires": { - "domelementtype": "1" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", - "requires": { - "is-obj": "^1.0.0" - } - }, - "dotenv": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.2.0.tgz", - "integrity": "sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==", - "dev": true - }, - "dotenv-expand": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", - "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=", - "dev": true - }, - "duplexer3": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "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": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "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": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/electron/-/electron-4.0.7.tgz", - "integrity": "sha512-KYQ9SJZFWNKqoq6XjKW1bLFHjmAGeSC3XNuhHK/Sd2MK5H5sO3iKjvZU/YhiBUtkB/cBSkOdQTVEaLcMwU8l3A==", - "dev": true, - "requires": { - "@types/node": "^10.12.18", - "electron-download": "^4.1.0", - "extract-zip": "^1.0.3" - }, - "dependencies": { - "@types/node": { - "version": "10.12.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.30.tgz", - "integrity": "sha512-nsqTN6zUcm9xtdJiM9OvOJ5EF0kOI8f1Zuug27O/rgtxCRJHGqncSWfCMZUP852dCKPsDsYXGvBhxfRjDBkF5Q==", - "dev": true - } - } - }, - "electron-builder": { - "version": "20.38.5", - "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.38.5.tgz", - "integrity": "sha512-p88IDHhH2J4hA6KwRBJY+OfVZuFtFIShY3Uh/TwYAfbX0v1RhKZytuGdO8sty2zcWxDYX74xDBv+X9oN6qEIRQ==", - "dev": true, - "requires": { - "app-builder-lib": "20.38.5", - "bluebird-lst": "^1.0.6", - "builder-util": "9.6.2", - "builder-util-runtime": "8.1.1", - "chalk": "^2.4.2", - "dmg-builder": "6.5.4", - "fs-extra-p": "^7.0.0", - "is-ci": "^2.0.0", - "lazy-val": "^1.0.3", - "read-config-file": "3.2.1", - "sanitize-filename": "^1.6.1", - "update-notifier": "^2.5.0", - "yargs": "^12.0.5" - } - }, - "electron-devtools-installer": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/electron-devtools-installer/-/electron-devtools-installer-2.2.4.tgz", - "integrity": "sha512-b5kcM3hmUqn64+RUcHjjr8ZMpHS2WJ5YO0pnG9+P/RTdx46of/JrEjuciHWux6pE+On6ynWhHJF53j/EDJN0PA==", - "dev": true, - "requires": { - "7zip": "0.0.6", - "cross-unzip": "0.0.2", - "rimraf": "^2.5.2", - "semver": "^5.3.0" - } - }, - "electron-download": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.1.tgz", - "integrity": "sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==", - "dev": true, - "requires": { - "debug": "^3.0.0", - "env-paths": "^1.0.0", - "fs-extra": "^4.0.1", - "minimist": "^1.2.0", - "nugget": "^2.0.1", - "path-exists": "^3.0.0", - "rc": "^1.2.1", - "semver": "^5.4.1", - "sumchecker": "^2.0.2" - }, - "dependencies": { - "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.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "electron-is-dev": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/electron-is-dev/-/electron-is-dev-0.3.0.tgz", - "integrity": "sha1-FOb9pcaOnk7L7/nM8DfL18BcWv4=" - }, - "electron-osx-sign": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.11.tgz", - "integrity": "sha512-VVd40nrnVqymvFrY9ZkOYgHJOvexHHYTR3di/SN+mjJ0OWhR1I8BRVj3U+Yamw6hnkZZNKZp52rqL5EFAAPFkQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.0", - "compare-version": "^0.1.2", - "debug": "^2.6.8", - "isbinaryfile": "^3.0.2", - "minimist": "^1.2.0", - "plist": "^3.0.1" - }, - "dependencies": { - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", - "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" - } - } - } - }, - "electron-platform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/electron-platform/-/electron-platform-1.2.0.tgz", - "integrity": "sha1-L8cLzlP7cy7IF2m9bEjhDEClUao=" - }, - "electron-publish": { - "version": "20.38.5", - "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.38.5.tgz", - "integrity": "sha512-EhdPm6t0nKDfa0r3KjV1kSFcz03VrzgJRv7v5nHkkpQZB6OSmDNlHq7k66NBwQhPK3i4CK+uvehljZAP28vbCA==", - "dev": true, - "requires": { - "bluebird-lst": "^1.0.6", - "builder-util": "~9.6.2", - "builder-util-runtime": "^8.1.1", - "chalk": "^2.4.2", - "fs-extra-p": "^7.0.0", - "lazy-val": "^1.0.3", - "mime": "^2.4.0" - }, - "dependencies": { - "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", - "dev": true - } - } - }, - "electron-store": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/electron-store/-/electron-store-2.0.0.tgz", - "integrity": "sha512-1WCFYHsYvZBqDsoaS0Relnz0rd81ZkBAI0Fgx7Nq2UWU77rSNs1qxm4S6uH7TCZ0bV3LQpJFk7id/is/ZgoOPA==", - "requires": { - "conf": "^2.0.0" - } - }, - "electron-timber": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/electron-timber/-/electron-timber-0.5.1.tgz", - "integrity": "sha512-5CTijMwDeIdwm7GzYqUIRI2SbTjTJq2khexNmqzuZTFi7QmsbeJyvMSHvmTLztQGGmKeAGp4ym2FYRBa+OA5bA==", - "requires": { - "auto-bind": "^1.2.0", - "chalk": "^2.4.1", - "electron-util": "^0.8.2", - "randoma": "^1.2.0", - "split2": "^2.2.0" - } - }, - "electron-to-chromium": { - "version": "1.3.113", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz", - "integrity": "sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g==", - "dev": true - }, - "electron-util": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/electron-util/-/electron-util-0.8.2.tgz", - "integrity": "sha512-35gFE5oxi39ZBchWWvMNiKyUaNp3OmH3S1UruM+P0ZLpnOgJUMdBxl514f6f9QsShn7Lj3u9t31tavN/PzmhPw==", - "requires": { - "electron-is-dev": "^0.3.0" - } - }, - "elliptic": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", - "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - } - }, - "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", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "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==", - "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==", - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", - "tapable": "^1.0.0" - } - }, - "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" - }, - "env-paths": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz", - "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=" - }, - "enzyme": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.9.0.tgz", - "integrity": "sha512-JqxI2BRFHbmiP7/UFqvsjxTirWoM1HfeaJrmVSZ9a1EADKkZgdPcAuISPMpoUiHlac9J4dYt81MC5BBIrbJGMg==", - "dev": true, - "requires": { - "array.prototype.flat": "^1.2.1", - "cheerio": "^1.0.0-rc.2", - "function.prototype.name": "^1.1.0", - "has": "^1.0.3", - "html-element-map": "^1.0.0", - "is-boolean-object": "^1.0.0", - "is-callable": "^1.1.4", - "is-number-object": "^1.0.3", - "is-regex": "^1.0.4", - "is-string": "^1.0.4", - "is-subset": "^0.1.1", - "lodash.escape": "^4.0.1", - "lodash.isequal": "^4.5.0", - "object-inspect": "^1.6.0", - "object-is": "^1.0.1", - "object.assign": "^4.1.0", - "object.entries": "^1.0.4", - "object.values": "^1.0.4", - "raf": "^3.4.0", - "rst-selector-parser": "^2.2.3", - "string.prototype.trim": "^1.1.2" - } - }, - "enzyme-adapter-react-16": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.10.0.tgz", - "integrity": "sha512-0QqwEZcBv1xEEla+a3H7FMci+y4ybLia9cZzsdIrId7qcig4MK0kqqf6iiCILH1lsKS6c6AVqL3wGPhCevv5aQ==", - "dev": true, - "requires": { - "enzyme-adapter-utils": "^1.10.0", - "object.assign": "^4.1.0", - "object.values": "^1.1.0", - "prop-types": "^15.6.2", - "react-is": "^16.7.0", - "react-test-renderer": "^16.0.0-0" - } - }, - "enzyme-adapter-utils": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.10.0.tgz", - "integrity": "sha512-VnIXJDYVTzKGbdW+lgK8MQmYHJquTQZiGzu/AseCZ7eHtOMAj4Rtvk8ZRopodkfPves0EXaHkXBDkVhPa3t0jA==", - "dev": true, - "requires": { - "function.prototype.name": "^1.1.0", - "object.assign": "^4.1.0", - "object.fromentries": "^2.0.0", - "prop-types": "^15.6.2", - "semver": "^5.6.0" - } - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - } - } - }, - "es-abstract": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz", - "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.0", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "is-callable": "^1.1.4", - "is-regex": "^1.0.4", - "object-keys": "^1.0.12" - }, - "dependencies": { - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "dev": true - } - } - }, - "es-to-primitive": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", - "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.11.1.tgz", - "integrity": "sha512-JwiqFD9KdGVVpeuRa68yU3zZnBEOcPs0nKW7wZzXky8Z7tffdYUHbe11bPCV5jYlK6DVdKLWLm0f5I/QlL0Kmw==", - "requires": { - "esprima": "^3.1.3", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1", - "source-map": "~0.6.1" - } - }, - "eslint": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.15.1.tgz", - "integrity": "sha512-NTcm6vQ+PTgN3UBsALw5BMhgO6i5EpIjQF/Xb5tIh3sk9QhrFafujUOczGz4J24JBlzWclSB9Vmx8d+9Z6bFCg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "ajv": "^6.9.1", - "chalk": "^2.1.0", - "cross-spawn": "^6.0.5", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "eslint-scope": "^4.0.2", - "eslint-utils": "^1.3.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^5.0.1", - "esquery": "^1.0.1", - "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.7.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "inquirer": "^6.2.2", - "js-yaml": "^3.12.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "progress": "^2.0.0", - "regexpp": "^2.0.1", - "semver": "^5.5.1", - "strip-ansi": "^4.0.0", - "strip-json-comments": "^2.0.1", - "table": "^5.2.3", - "text-table": "^0.2.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "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" - } - }, - "eslint-scope": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.2.tgz", - "integrity": "sha512-5q1+B/ogmHl8+paxtOKx38Z8LtWkVGuNt3+GQNErqwLl6ViNp/gdJGMCjZNxZ8j/VYjDNZ2Fo+eQc1TAVPIzbg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "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=", - "dev": true - }, - "globals": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.11.0.tgz", - "integrity": "sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw==", - "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 - }, - "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==", - "dev": true - } - } - }, - "eslint-import-resolver-node": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", - "dev": true, - "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" - } - }, - "eslint-module-utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz", - "integrity": "sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w==", - "dev": true, - "requires": { - "debug": "^2.6.8", - "pkg-dir": "^2.0.0" - }, - "dependencies": { - "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" - } - } - } - }, - "eslint-plugin-import": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz", - "integrity": "sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A==", - "dev": true, - "requires": { - "contains-path": "^0.1.0", - "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.2", - "eslint-module-utils": "^2.3.0", - "has": "^1.0.3", - "lodash": "^4.17.11", - "minimatch": "^3.0.4", - "read-pkg-up": "^2.0.0", - "resolve": "^1.9.0" - }, - "dependencies": { - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "eslint-plugin-react": { - "version": "7.12.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz", - "integrity": "sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==", - "dev": true, - "requires": { - "array-includes": "^3.0.3", - "doctrine": "^2.1.0", - "has": "^1.0.3", - "jsx-ast-utils": "^2.0.1", - "object.fromentries": "^2.0.0", - "prop-types": "^15.6.2", - "resolve": "^1.9.0" - }, - "dependencies": { - "doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - } - } - }, - "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "eslint-utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.3.1.tgz", - "integrity": "sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q==", - "dev": true - }, - "eslint-visitor-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", - "dev": true - }, - "espree": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", - "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", - "dev": true, - "requires": { - "acorn": "^6.0.7", - "acorn-jsx": "^5.0.0", - "eslint-visitor-keys": "^1.0.0" - }, - "dependencies": { - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - } - } - }, - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" - }, - "esquery": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", - "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", - "dev": true, - "requires": { - "estraverse": "^4.0.0" - } - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "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==", - "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==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "exenv": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", - "integrity": "sha1-KueOhdmJQVhnCwPUe+wfA72Ru50=" - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "requires": { - "homedir-polyfill": "^1.0.1" - } - }, - "express": { - "version": "4.16.4", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", - "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", - "requires": { - "accepts": "~1.3.5", - "array-flatten": "1.1.1", - "body-parser": "1.18.3", - "content-disposition": "0.5.2", - "content-type": "~1.0.4", - "cookie": "0.3.1", - "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", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.4", - "qs": "6.5.2", - "range-parser": "~1.2.0", - "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", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "express-json-validator-middleware": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/express-json-validator-middleware/-/express-json-validator-middleware-1.2.3.tgz", - "integrity": "sha512-QPP1wXDOJ8Cx2tuUIKRqztURU+yzFcEok1UdvSOWiJa64QQUIw0/tNOnWT5m9fV7Ju0V+9v+AJUiLhLURCn8Lg==", - "requires": { - "ajv": "^5.5.2" - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz", - "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extract-text-webpack-plugin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", - "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", - "dev": true, - "requires": { - "async": "^2.4.1", - "loader-utils": "^1.1.0", - "schema-utils": "^0.3.0", - "webpack-sources": "^1.0.1" - } - }, - "extract-zip": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", - "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", - "dev": true, - "requires": { - "concat-stream": "1.6.2", - "debug": "2.6.9", - "mkdirp": "0.5.1", - "yauzl": "2.4.1" - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" - }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, - "fast-json-stable-stringify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" - }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fbjs": { - "version": "0.8.17", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", - "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", - "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } - } - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "dev": true, - "requires": { - "pend": "~1.2.0" - } - }, - "figgy-pudding": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz", - "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==", - "dev": true - }, - "figures": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", - "dev": true, - "requires": { - "flat-cache": "^2.0.1" - } - }, - "file-loader": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", - "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "schema-utils": "^0.4.5" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.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=", - "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": "0.4.7", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", - "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "finalhandler": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", - "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", - "unpipe": "~1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "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" - }, - "dependencies": { - "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" - } - } - } - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "requires": { - "locate-path": "^2.0.0" - } - }, - "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", - "requires": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" - } - }, - "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", - "dev": true, - "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" - } - }, - "flatted": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz", - "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "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" - } - } - } - }, - "flux-standard-action": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/flux-standard-action/-/flux-standard-action-2.0.3.tgz", - "integrity": "sha512-HR2IjMkqJreoFm1Hx7hmMAtUFeo+ad8hPMYPo8o3YSWjbSq0sMwuXMbv4giB3TXngYB7+svkAJewQwwvwsE6xw==", - "dev": true, - "requires": { - "lodash": "^4.0.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==", - "dev": true, - "requires": { - "debug": "^3.2.6" - }, - "dependencies": { - "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.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "font-awesome": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz", - "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" - }, - "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", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "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-extra": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-extra-p": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.1.tgz", - "integrity": "sha512-yhd2OV0HnHt2oitlp+X9hl2ReX4X/7kQeL7/72qzPHTZj5eUPGzAKOvEglU02Fa1OeG2rSy/aKB4WGVaLiF8tw==", - "dev": true, - "requires": { - "bluebird-lst": "^1.0.7", - "fs-extra": "^7.0.1" - }, - "dependencies": { - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz", - "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==", - "dev": true, - "optional": true, - "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "dev": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "glob": { - "version": "7.1.3", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.24", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "needle": { - "version": "2.2.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "npm-packlist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "dev": true, - "optional": 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" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "dev": true, - "optional": true - }, - "semver": { - "version": "5.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "dev": true - } - } - }, - "fstream": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", - "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz", - "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "is-callable": "^1.1.3" - } - }, - "functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dev": true, - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "gaze": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", - "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", - "dev": true, - "requires": { - "globule": "^1.0.0" - } - }, - "get-artist-title": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-artist-title/-/get-artist-title-1.1.1.tgz", - "integrity": "sha512-1s7qt55IJzaMwfklPIj4lZu75YhylkJuD8+l0VuxvzJ63xE+MS91zs5TcPvYalF3Q59+oMEY2U08Ub6w2hNyPQ==", - "requires": { - "audio-extensions": "0.0.0", - "video-extensions": "^1.1.0" - } - }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true - }, - "get-params": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/get-params/-/get-params-0.1.2.tgz", - "integrity": "sha1-uuDfq6WIoMYNeDTA2Nwv9g7u8v4=", - "dev": true - }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.1.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" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "dev": true, - "requires": { - "min-document": "^2.19.0", - "process": "~0.5.1" - } - }, - "global-dirs": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", - "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", - "dev": true, - "requires": { - "ini": "^1.3.4" - } - }, - "global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", - "requires": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" - } - }, - "global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", - "requires": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "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", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "globule": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", - "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", - "dev": true, - "requires": { - "glob": "~7.1.1", - "lodash": "~4.17.10", - "minimatch": "~3.0.2" - } - }, - "got": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", - "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", - "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" - }, - "dependencies": { - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - } - } - }, - "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==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "dev": true - }, - "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", - "dev": true - }, - "happypack": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/happypack/-/happypack-5.0.1.tgz", - "integrity": "sha512-AzXVxLzX0mtv0T40Kic72rfcGK4Y2b/cDdtcyw+e+V/13ozl7x0+EZ4hvrL1rJ8MoefR9+FfUJQsK2irH0GWOw==", - "dev": true, - "requires": { - "async": "1.5.0", - "json-stringify-safe": "5.0.1", - "loader-utils": "1.1.0", - "serialize-error": "^2.1.0" - }, - "dependencies": { - "async": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.0.tgz", - "integrity": "sha1-J5ZkJyNXOFlWVjP8YnRES+4vjOM=", - "dev": true - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0" - } - } - } - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "requires": { - "fast-deep-equal": "^2.0.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=" - }, - "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==" - } - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", - "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true - }, - "history": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", - "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", - "dev": true, - "requires": { - "invariant": "^2.2.1", - "loose-envify": "^1.2.0", - "resolve-pathname": "^2.2.0", - "value-equal": "^0.4.0", - "warning": "^3.0.0" - }, - "dependencies": { - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - } - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoist-non-react-statics": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz", - "integrity": "sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA==", - "requires": { - "react-is": "^16.7.0" - } - }, - "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", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "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==", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "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-element-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/html-element-map/-/html-element-map-1.0.0.tgz", - "integrity": "sha512-/SP6aOiM5Ai9zALvCxDubIeez0LvG3qP7R9GcRDnJEP/HBmv0A8A9K0o8+HFudcFt46+i921ANjzKsjPjb7Enw==", - "dev": true, - "requires": { - "array-filter": "^1.0.0" - } - }, - "html-encoding-sniffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", - "dev": true, - "requires": { - "whatwg-encoding": "^1.0.1" - } - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=" - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", - "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - } - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - } - } - }, - "htmlparser2": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", - "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", - "requires": { - "domelementtype": "1", - "domhandler": "2.3", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - }, - "dependencies": { - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "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=", - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "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==", - "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==", - "dev": true, - "requires": { - "eventemitter3": "^3.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - } - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "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==", - "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": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "^6.0.1" - } - }, - "ieee754": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", - "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "ignore-styles": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-styles/-/ignore-styles-5.0.1.tgz", - "integrity": "sha1-tJ7yJ0va/NikiAqWa/440aC/RnE=", - "dev": true - }, - "import-fresh": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz", - "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - } - } - }, - "import-lazy": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", - "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", - "dev": true - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" - }, - "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", - "dev": true - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "dev": true, - "requires": { - "repeating": "^2.0.0" - } - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" - }, - "inquirer": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.2.tgz", - "integrity": "sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA==", - "dev": true, - "requires": { - "ansi-escapes": "^3.2.0", - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^2.0.0", - "lodash": "^4.17.11", - "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rxjs": "^6.4.0", - "string-width": "^2.1.0", - "strip-ansi": "^5.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.1.0.tgz", - "integrity": "sha512-TjxrkPONqO2Z8QDCpeE2j6n0M6EwxzyDgzEeGp+FbdvaJAt//ClYi6W5my+3ROlC/hZX2KACUwDfK49Ka5eDvg==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "internal-ip": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.2.0.tgz", - "integrity": "sha512-ZY8Rk+hlvFeuMmG5uH1MXhhdeMntmIaxaInvAmzMq/SHV8rv4Kh+6GiQNNDQd0wZFrcO+FiTBo8lui/osKOyJw==", - "dev": true, - "requires": { - "default-gateway": "^4.0.1", - "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": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz", - "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==" - }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", - "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-boolean-object": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz", - "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=", - "dev": true - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-callable": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", - "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", - "dev": true - }, - "is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "requires": { - "ci-info": "^2.0.0" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-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" - } - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - }, - "is-installed-globally": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", - "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", - "dev": true, - "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" - } - }, - "is-npm": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", - "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", - "dev": true - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-number-object": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.3.tgz", - "integrity": "sha1-8mWrian0RQNO9q/xWo8AsA9VF5k=", - "dev": true - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.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=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "^1.0.1" - } - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.4.tgz", - "integrity": "sha1-zDqbaYV9Yh6WNyWiTK7shzuCbmQ=", - "dev": true - }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true - }, - "is-symbol": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", - "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.0" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "isbinaryfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.0.tgz", - "integrity": "sha512-RBtmso6l2mCaEsUvXngMTIjg3oheXo0MgYzzfT6sk44RYggPnm9fT+cQJAmzRnJIxPHXg9FZglqDJGW28dvcqA==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" - }, - "js-base64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz", - "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==", - "dev": true - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.2.tgz", - "integrity": "sha512-QHn/Lh/7HhZ/Twc7vJYQTkjuCa0kaCcDcjK5Zlk2rvnUpy7DxMJ23+Jc2dcyvltwQVg1nygAVlB2oRDFHoRS5Q==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - } - } - }, - "jsan": { - "version": "3.1.13", - "resolved": "https://registry.npmjs.org/jsan/-/jsan-3.1.13.tgz", - "integrity": "sha512-9kGpCsGHifmw6oJet+y8HaCl14y7qgAsxVdV3pCHDySNR3BfDC30zgkssd7x5LRVAT22dnpbe9JdzzmXZnq9/g==", - "dev": true - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" - }, - "jsdom": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-12.2.0.tgz", - "integrity": "sha512-QPOggIJ8fquWPLaYYMoh+zqUmdphDtu1ju0QGTitZT1Yd8I5qenPpXM1etzUegu3MjVp8XPzgZxdn8Yj7e40ig==", - "dev": true, - "requires": { - "abab": "^2.0.0", - "acorn": "^6.0.2", - "acorn-globals": "^4.3.0", - "array-equal": "^1.0.0", - "cssom": "^0.3.4", - "cssstyle": "^1.1.1", - "data-urls": "^1.0.1", - "domexception": "^1.0.1", - "escodegen": "^1.11.0", - "html-encoding-sniffer": "^1.0.2", - "nwsapi": "^2.0.9", - "parse5": "5.1.0", - "pn": "^1.1.0", - "request": "^2.88.0", - "request-promise-native": "^1.0.5", - "saxes": "^3.1.3", - "symbol-tree": "^3.2.2", - "tough-cookie": "^2.4.3", - "w3c-hr-time": "^1.0.1", - "webidl-conversions": "^4.0.2", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.2.0", - "whatwg-url": "^7.0.0", - "ws": "^6.1.0", - "xml-name-validator": "^3.0.0" - }, - "dependencies": { - "abab": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.0.tgz", - "integrity": "sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w==", - "dev": true - }, - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "acorn-globals": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.0.tgz", - "integrity": "sha512-hMtHj3s5RnuhvHPowpBYvJVj3rAar82JiDQHvGs1zO0l10ocX/xEdBShNHTJaboucJUsScghp74pH3s7EnHHQw==", - "dev": true, - "requires": { - "acorn": "^6.0.1", - "acorn-walk": "^6.0.1" - } - }, - "cssstyle": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.2.1.tgz", - "integrity": "sha512-7DYm8qe+gPx/h77QlCyFmX80+fGaE/6A/Ekl0zaszYOubvySO2saYFdQ78P29D0UsULxFKCetDGNaNRUdSF+2A==", - "dev": true, - "requires": { - "cssom": "0.3.x" - } - }, - "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "dev": true - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - } - } - }, - "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": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "jsx-ast-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz", - "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", - "dev": true, - "requires": { - "array-includes": "^3.0.3" - } - }, - "keyboard-key": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.0.4.tgz", - "integrity": "sha512-my04dE6BCwPpwoe4KYKfPxWiwgDYQOHrVmtzn1CfzmoEsGG/ef4oZGaXCzi1+iFhG7CN5JkOuxmei5OABY8/ag==" - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "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==" - }, - "latest-version": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", - "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", - "dev": true, - "requires": { - "package-json": "^4.0.0" - } - }, - "lazy-val": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.4.tgz", - "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "requires": { - "invert-kv": "^2.0.0" - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - } - }, - "linked-list": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/linked-list/-/linked-list-0.1.0.tgz", - "integrity": "sha1-eYsP+X0bkqT9CEgPVa6k6dSdN78=", - "dev": true - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - } - }, - "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==" - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "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 - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "lodash.escape": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz", - "integrity": "sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg=", - "dev": true - }, - "lodash.flattendeep": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=", - "dev": true - }, - "lodash.merge": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz", - "integrity": "sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==", - "dev": true - }, - "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.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "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=", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "dev": true, - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "m3u8stream": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/m3u8stream/-/m3u8stream-0.3.0.tgz", - "integrity": "sha512-0tvjXDIa6BolPEGo9zioQiPqfQhjopZXN3L7vZH/rZQCOLd4rPXNZc1UBMdW3TRpjNBoD0+F1X41/f0iY23rlQ==", - "requires": { - "miniget": "^1.1.0" - } - }, - "make-dir": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", - "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "requires": { - "pify": "^3.0.0" - } - }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "requires": { - "p-defer": "^1.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/md5/-/md5-2.2.1.tgz", - "integrity": "sha1-U6s41f48iJG6RlMp6iP6wFQBJvk=", - "requires": { - "charenc": "~0.0.1", - "crypt": "~0.0.1", - "is-buffer": "~1.1.1" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" - }, - "mem": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.1.0.tgz", - "integrity": "sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg==", - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^1.0.0", - "p-is-promise": "^2.0.0" - } - }, - "memoize-one": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz", - "integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw==" - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "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=" - }, - "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==", - "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==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "dev": true, - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - } - }, - "mime": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", - "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" - }, - "mime-db": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.38.0.tgz", - "integrity": "sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg==" - }, - "mime-types": { - "version": "2.1.22", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.22.tgz", - "integrity": "sha512-aGl6TZGnhm/li6F7yx82bJiBZwgiEa4Hf6CNr8YO+r5UHr53tSTYZb102zyU50DOWWKeOv0uQLRL0/9EiKWCog==", - "requires": { - "mime-db": "~1.38.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "requires": { - "dom-walk": "^0.1.0" - } - }, - "miniget": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/miniget/-/miniget-1.5.1.tgz", - "integrity": "sha512-KJ3AyIVZ76QuWAq43BWjkK+jLdhxhy3s4tsdg9Je91+cIFkeOSW2VEj2lSeKw50CPu1eCCkSbiQEBKL36mpA5w==" - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "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", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "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 - } - } - }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ==", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag==", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "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" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "moment": { - "version": "2.24.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz", - "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==" - }, - "moo": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/moo/-/moo-0.4.3.tgz", - "integrity": "sha512-gFD2xGCl8YFgGHsqJ9NKRVdwlioeW3mI1iqfLNYQOv0+6JRwG58Zk9DIGQgyIaffSYaO1xsKnMaYzzNr1KyIAw==", - "dev": true - }, - "mousetrap": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.3.tgz", - "integrity": "sha512-bd+nzwhhs9ifsUrC2tWaSgm24/oo2c83zaRyZQF06hYA6sANfsXHtnZ19AbbbDXCDzeH5nZBSQ4NvCjgD62tJA==" - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true - }, - "nan": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz", - "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==", - "dev": true - }, - "nanoid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.0.1.tgz", - "integrity": "sha512-k1u2uemjIGsn25zmujKnotgniC/gxQ9sdegdezeDiKdkDW56THUMqlz3urndKCXJxA6yPzSZbXx/QCMe/pxqsA==", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "nearley": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nearley/-/nearley-2.16.0.tgz", - "integrity": "sha512-Tr9XD3Vt/EujXbZBv6UAHYoLUSMQAxSsTnm9K3koXzjzNWY195NqALeyrzLZBKzAkL3gl92BcSogqrHjD8QuUg==", - "dev": true, - "requires": { - "commander": "^2.19.0", - "moo": "^0.4.3", - "railroad-diagrams": "^1.0.0", - "randexp": "0.4.6", - "semver": "^5.4.1" - } - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" - }, - "neo-async": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", - "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } - }, - "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", - "dev": true - }, - "node-gyp": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", - "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", - "dev": true, - "requires": { - "fstream": "^1.0.0", - "glob": "^7.0.3", - "graceful-fs": "^4.1.2", - "mkdirp": "^0.5.0", - "nopt": "2 || 3", - "npmlog": "0 || 1 || 2 || 3 || 4", - "osenv": "0", - "request": "^2.87.0", - "rimraf": "2", - "semver": "~5.3.0", - "tar": "^2.0.0", - "which": "1" - }, - "dependencies": { - "semver": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", - "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", - "dev": true - } - } - }, - "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==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.0", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "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-loader": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/node-loader/-/node-loader-0.6.0.tgz", - "integrity": "sha1-x5fvUQle1YWZArFX9jhPY2HgWug=", - "dev": true - }, - "node-sass": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.11.0.tgz", - "integrity": "sha512-bHUdHTphgQJZaF1LASx0kAviPH7sGlcyNhWade4eVIpFp6tsn7SV8xNMTbsQFpEV9VXpnwTTnNYlfsZXgGgmkA==", - "dev": true, - "requires": { - "async-foreach": "^0.1.3", - "chalk": "^1.1.1", - "cross-spawn": "^3.0.0", - "gaze": "^1.0.0", - "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", - "meow": "^3.7.0", - "mkdirp": "^0.5.1", - "nan": "^2.10.0", - "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-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "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 - }, - "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" - } - }, - "cross-spawn": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", - "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "which": "^1.2.9" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^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 - } - } - }, - "nodebrainz": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nodebrainz/-/nodebrainz-2.1.1.tgz", - "integrity": "sha1-3r8Mv2n/6ux0OaNkCe2cEEBLES8=", - "dev": true - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-run-all": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", - "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" - }, - "dependencies": { - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - } - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dev": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "requires": { - "boolbase": "~1.0.0" - } - }, - "nuclear-core": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/nuclear-core/-/nuclear-core-0.0.5.tgz", - "integrity": "sha512-kQJgY7JJqPVvn2TVd3aRRWw6oO8I6/p+AV5z4wQhQXJGHhihT+vzEmr/la1Nuf9vJND60ltwj4aCth8A1A28gA==", - "requires": { - "isomorphic-fetch": "^2.2.1", - "lodash": "^4.17.10", - "md5": "^2.2.1" - } - }, - "nuclear-ui": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/nuclear-ui/-/nuclear-ui-0.0.6.tgz", - "integrity": "sha512-Q6rGILEfvM6sWaaZrKlQbpHrw7vd/ejYLjTjK39/dA9BPfbcBc+UDRNdf6o3kX1jH4xq7cYA4aPcvpSR1sYhUw==", - "requires": { - "boxicons": "^1.7.1", - "classnames": "^2.2.6", - "prop-types": "^15.6.2", - "react": "^16.4.1", - "react-dom": "^16.4.1" - } - }, - "nugget": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", - "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", - "dev": true, - "requires": { - "debug": "^2.1.3", - "minimist": "^1.1.0", - "pretty-bytes": "^1.0.2", - "progress-stream": "^1.1.0", - "request": "^2.45.0", - "single-line-log": "^1.1.2", - "throttleit": "0.0.2" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "numeral": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/numeral/-/numeral-2.0.6.tgz", - "integrity": "sha1-StCAk21EPCVhrtnyGX7//iX05QY=" - }, - "nwmatcher": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", - "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==", - "optional": true - }, - "nwsapi": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.1.tgz", - "integrity": "sha512-T5GaA1J/d34AC8mkrFD2O0DR17kwJ702ZOtJOsS8RpbsQZVOC2/xYFb1i/cw+xdM54JIlMuojjDOYct8GIWtwg==", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz", - "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==", - "dev": true - }, - "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", - "dev": true - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - }, - "dependencies": { - "object-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz", - "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==", - "dev": true - } - } - }, - "object.entries": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz", - "integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "object.fromentries": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.0.tgz", - "integrity": "sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.11.0", - "function-bind": "^1.1.1", - "has": "^1.0.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", - "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", - "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.12.0", - "function-bind": "^1.1.1", - "has": "^1.0.3" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "opn": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", - "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "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==" - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "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=", - "requires": { - "p-limit": "^1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" - }, - "package-json": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", - "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", - "dev": true, - "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" - } - }, - "pako": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz", - "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==", - "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=", - "dev": true, - "requires": { - "cyclist": "~0.2.2", - "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": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parent-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.0.tgz", - "integrity": "sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "park-miller": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/park-miller/-/park-miller-1.0.0.tgz", - "integrity": "sha512-Gdx+0DuJID9FpBFzBQGCqsVSpnW7AGTAXJkgSo9mSvRu/YBI9trLd3pUK4LQ6mwViZOCA/T9/GngkFRyPp63Rw==" - }, - "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", - "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-color": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz", - "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=", - "dev": true, - "requires": { - "color-convert": "~0.5.0" - }, - "dependencies": { - "color-convert": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", - "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=", - "dev": true - } - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, - "requires": { - "error-ex": "^1.2.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "optional": true - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", - "dev": true - }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "pidtree": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", - "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", - "dev": true - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pitchfork-bnm": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pitchfork-bnm/-/pitchfork-bnm-1.0.3.tgz", - "integrity": "sha512-2N60Eot+P/9/c0/EwhSdDViivBsf0q9G1/zAo5gJhQ+6q34gfLM2GnMkWAmvmgFuSCmeXGfoigssh/D5UmbeqQ==", - "requires": { - "cheerio": "^1.0.0-rc.2", - "isomorphic-fetch": "^2.2.1" - } - }, - "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==", - "requires": { - "find-up": "^3.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==", - "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==", - "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==", - "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==", - "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==" - } - } - }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "requires": { - "find-up": "^2.1.0" - } - }, - "plist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz", - "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==", - "dev": true, - "requires": { - "base64-js": "^1.2.3", - "xmlbuilder": "^9.0.7", - "xmldom": "0.1.x" - } - }, - "pn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", - "dev": true - }, - "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", - "dev": true, - "requires": { - "async": "^1.5.2", - "debug": "^2.2.0", - "mkdirp": "0.5.x" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, - "postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" - } - }, - "postcss-modules-extract-imports": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", - "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", - "dev": true, - "requires": { - "postcss": "^6.0.1" - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "^0.7.0", - "postcss": "^6.0.1" - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "^1.1.0", - "postcss": "^6.0.1" - } - }, - "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==" - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "pretty-bytes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" - } - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "^2.0.1", - "utila": "~0.4" - } - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "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==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true - }, - "progress-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", - "dev": true, - "requires": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" - }, - "dependencies": { - "through2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", - "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", - "dev": true, - "requires": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true, - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "~2.0.3" - } - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1" - } - }, - "proxy-addr": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", - "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.8.0" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.1.31", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", - "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==" - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", - "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", - "dev": true - }, - "raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", - "requires": { - "performance-now": "^2.1.0" - } - }, - "raf-schd": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/raf-schd/-/raf-schd-4.0.0.tgz", - "integrity": "sha512-m7zq0JkIrECzw9mO5Zcq6jN4KayE34yoIS9hJoiZNXyOAT06PPA8PrR+WtJIeFW09YjUfNkMMN9lrmAt6BURCA==" - }, - "railroad-diagrams": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", - "integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=", - "dev": true - }, - "randexp": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", - "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", - "dev": true, - "requires": { - "discontinuous-range": "1.0.0", - "ret": "~0.1.10" - } - }, - "randoma": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/randoma/-/randoma-1.2.0.tgz", - "integrity": "sha512-m7W2Eg8+6iXge4zH0y7qXRykoLF2WJd7AfSUSZa9LvxHBlEd3w49Bao2Tm1/nkTpp7ZsxS2Ur2jpSwbyQjkOKA==", - "requires": { - "@sindresorhus/string-hash": "^1.0.0", - "color": "^2.0.1", - "park-miller": "^1.0.0" - } - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" - }, - "raw-body": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", - "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", - "requires": { - "bytes": "3.0.0", - "http-errors": "1.6.3", - "iconv-lite": "0.4.23", - "unpipe": "1.0.0" - } - }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dev": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } - }, - "react": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/react/-/react-16.8.4.tgz", - "integrity": "sha512-0GQ6gFXfUH7aZcjGVymlPOASTuSjlQL4ZtVC5YKH+3JL6bBLCVO21DknzmaPlI90LN253ojj02nsapy+j7wIjg==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.4" - } - }, - "react-beautiful-dnd": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/react-beautiful-dnd/-/react-beautiful-dnd-9.0.2.tgz", - "integrity": "sha512-hZJJeOUnWLecgD52cJ51zsvosRTsSoweOlyYa+RQzvXHejCdzKUecEqSzF0aNaCsuHGx/GCVBHTdUR4be1HbWg==", - "requires": { - "@babel/runtime-corejs2": "^7.0.0", - "css-box-model": "^1.0.0", - "memoize-one": "^4.0.0", - "prop-types": "^15.6.1", - "raf-schd": "^4.0.0", - "react-motion": "^0.5.2", - "react-redux": "^5.0.7", - "redux": "^4.0.0", - "tiny-invariant": "^1.0.0" - } - }, - "react-debounce-input": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/react-debounce-input/-/react-debounce-input-3.2.0.tgz", - "integrity": "sha1-aXjGBh2Jj1SfQEF/sNLrvs9Qqqo=", - "dev": true, - "requires": { - "lodash.debounce": "^4", - "prop-types": "^15" - } - }, - "react-dom": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.4.tgz", - "integrity": "sha512-Ob2wK7XG2tUDt7ps7LtLzGYYB6DXMCLj0G5fO6WeEICtT4/HdpOi7W/xLzZnR6RCG1tYza60nMdqtxzA8FaPJQ==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.4" - } - }, - "react-fontawesome": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/react-fontawesome/-/react-fontawesome-1.6.1.tgz", - "integrity": "sha1-7dzhfn3HMaoJ/UoYZoimF5OhbFw=", - "dev": true, - "requires": { - "prop-types": "^15.5.6" - } - }, - "react-hot-loader": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-4.5.3.tgz", - "integrity": "sha512-3meh550Cagzdqaci2R0wdCYDNy5hZFF4/ej2iiOXjRX5BRI30kTNJtzDFdXXIqipIjLhEPUpPLSsdR16ExDzfA==", - "dev": true, - "requires": { - "fast-levenshtein": "^2.0.6", - "global": "^4.3.0", - "hoist-non-react-statics": "^2.5.0", - "loader-utils": "^1.1.0", - "lodash.merge": "^4.6.1", - "prop-types": "^15.6.1", - "react-lifecycles-compat": "^3.0.4", - "shallowequal": "^1.0.2", - "source-map": "^0.7.3" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } - } - }, - "react-image-smooth-loading": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-image-smooth-loading/-/react-image-smooth-loading-2.0.0.tgz", - "integrity": "sha512-eGmlnZmSlW1P8t/k5ls4ikwuK0EDJnUnYsW0F2rGc0KUceqqundqbpqlba/XclBH1iksQuug2lEnlXwXkpxoUg==" - }, - "react-is": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.4.tgz", - "integrity": "sha512-PVadd+WaUDOAciICm/J1waJaSvgq+4rHE/K70j0PFqKhkTBsPv/82UGQJNXAngz1fOQLLxI6z1sEDmJDQhCTAA==" - }, - "react-lifecycles-compat": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", - "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" - }, - "react-motion": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/react-motion/-/react-motion-0.5.2.tgz", - "integrity": "sha512-9q3YAvHoUiWlP3cK0v+w1N5Z23HXMj4IF4YuvjvWegWqNPfLXsOBE/V7UvQGpXxHFKRQQcNcVQE31g9SB/6qgQ==", - "requires": { - "performance-now": "^0.2.0", - "prop-types": "^15.5.8", - "raf": "^3.1.0" - }, - "dependencies": { - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" - } - } - }, - "react-range-progress": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/react-range-progress/-/react-range-progress-4.0.3.tgz", - "integrity": "sha1-Ze7JL5SFl/6a+h9x/Lgvg46nCUQ=", - "requires": { - "react": "15.3.1", - "react-dom": "15.3.1" - }, - "dependencies": { - "react": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-15.3.1.tgz", - "integrity": "sha1-94UB7YwuxubjHDIjZS6X8TadK9Y=", - "requires": { - "fbjs": "^0.8.4", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.0" - } - }, - "react-dom": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.3.1.tgz", - "integrity": "sha1-bULNK2TIxeC2k/P/rsMB5uYn4k4=" - } - } - }, - "react-redux": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.1.tgz", - "integrity": "sha512-LE7Ned+cv5qe7tMV5BPYkGQ5Lpg8gzgItK07c67yHvJ8t0iaD9kPFPAli/mYkiyJYrs2pJgExR2ZgsGqlrOApg==", - "requires": { - "@babel/runtime": "^7.1.2", - "hoist-non-react-statics": "^3.1.0", - "invariant": "^2.2.4", - "loose-envify": "^1.1.0", - "prop-types": "^15.6.1", - "react-is": "^16.6.0", - "react-lifecycles-compat": "^3.0.0" - } - }, - "react-router": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", - "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", - "dev": true, - "requires": { - "history": "^4.7.2", - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.1", - "warning": "^4.0.1" - }, - "dependencies": { - "hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==", - "dev": true - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "dev": true, - "requires": { - "isarray": "0.0.1" - } - } - } - }, - "react-router-dom": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz", - "integrity": "sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==", - "dev": true, - "requires": { - "history": "^4.7.2", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "prop-types": "^15.6.1", - "react-router": "^4.3.1", - "warning": "^4.0.1" - } - }, - "react-router-redux": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/react-router-redux/-/react-router-redux-4.0.8.tgz", - "integrity": "sha1-InQDWWtRUeGCN32rg1tdRfD4BU4=", - "dev": true - }, - "react-sound": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/react-sound/-/react-sound-1.2.0.tgz", - "integrity": "sha512-pc2l8f7Oy3VePRRVesBwSSJ0mrCeD/lE5GVCT1RPdEQ7lgbZTDyWI8HokXHmS1v79aiLnd3WTRhfsBAY0NTb8g==", - "requires": { - "prop-types": "^15.5.7", - "soundmanager2": "^2.97.20170602" - } - }, - "react-test-renderer": { - "version": "16.8.4", - "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.8.4.tgz", - "integrity": "sha512-jQ9Tf/ilIGSr55Cz23AZ/7H3ABEdo9oy2zF9nDHZyhLHDSLKuoILxw2ifpBfuuwQvj4LCoqdru9iZf7gwFH28A==", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "react-is": "^16.8.4", - "scheduler": "^0.13.4" - } - }, - "react-toastify": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-4.5.2.tgz", - "integrity": "sha512-KymDDhkcX5EvFht17nO0MCsegM/Kdhyfxhi+WQl2tE3IxJrueOhY6TUnALTfvz7eDRUjPYBGb+ywWqWrGyvBnw==", - "requires": { - "classnames": "^2.2.6", - "prop-types": "^15.6.0", - "react-transition-group": "^2.4.0" - } - }, - "react-transition-group": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.6.0.tgz", - "integrity": "sha512-VzZ+6k/adL3pJHo4PU/MHEPjW59/TGQtRsXC+wnxsx2mxjQKNHnDdJL/GpYuPJIsyHGjYbBQfIJ2JNOAdPc8GQ==", - "requires": { - "dom-helpers": "^3.3.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2", - "react-lifecycles-compat": "^3.0.4" - } - }, - "read-config-file": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.2.1.tgz", - "integrity": "sha512-yW4hZZXdNN+Paij5JVAiTv1lUsAN5QRBU5NqotQqwYdVkUczSmDzm66VLu0eojiZt2zFeYptTFDAYlalDGuHdA==", - "dev": true, - "requires": { - "ajv": "^6.7.0", - "ajv-keywords": "^3.2.0", - "bluebird-lst": "^1.0.6", - "dotenv": "^6.2.0", - "dotenv-expand": "^4.2.0", - "fs-extra-p": "^7.0.0", - "js-yaml": "^3.12.1", - "json5": "^2.1.0", - "lazy-val": "^1.0.3" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.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=", - "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 - }, - "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - } - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "dev": true, - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "dev": true, - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - }, - "dependencies": { - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "dev": true, - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "dev": true, - "requires": { - "pinkie-promise": "^2.0.0" - } - } - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "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": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "dev": true, - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, - "redux": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.1.tgz", - "integrity": "sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg==", - "requires": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" - } - }, - "redux-devtools-core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/redux-devtools-core/-/redux-devtools-core-0.2.1.tgz", - "integrity": "sha512-RAGOxtUFdr/1USAvxrWd+Gq/Euzgw7quCZlO5TgFpDfG7rB5tMhZUrNyBjpzgzL2yMk0eHnPYIGm7NkIfRzHxQ==", - "dev": true, - "requires": { - "get-params": "^0.1.2", - "jsan": "^3.1.13", - "lodash": "^4.17.11", - "nanoid": "^2.0.0", - "remotedev-serialize": "^0.1.8" - } - }, - "redux-devtools-instrument": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/redux-devtools-instrument/-/redux-devtools-instrument-1.9.6.tgz", - "integrity": "sha512-MwvY4cLEB2tIfWWBzrUR02UM9qRG2i7daNzywRvabOSVdvAY7s9BxSwMmVRH1Y/7QWjplNtOwgT0apKhHg2Qew==", - "dev": true, - "requires": { - "lodash": "^4.2.0", - "symbol-observable": "^1.0.2" - } - }, - "redux-promise": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/redux-promise/-/redux-promise-0.6.0.tgz", - "integrity": "sha512-R2mGxJbPFgXyCNbFDE6LjTZhCEuACF54g1bxld3nqBhnRMX0OsUyWk77moF7UMGkUdl5WOAwc4BC5jOd1dunqQ==", - "dev": true, - "requires": { - "flux-standard-action": "^2.0.3", - "is-promise": "^2.1.0" - } - }, - "redux-thunk": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", - "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==", - "dev": true - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerator-runtime": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz", - "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==" - }, - "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", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexpp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", - "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", - "dev": true - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "dev": true, - "requires": { - "regenerate": "^1.2.1", - "regjsgen": "^0.2.0", - "regjsparser": "^0.1.4" - } - }, - "registry-auth-token": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", - "dev": true, - "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" - } - }, - "registry-url": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", - "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", - "dev": true, - "requires": { - "rc": "^1.0.1" - } - }, - "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" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remote-redux-devtools": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/remote-redux-devtools/-/remote-redux-devtools-0.5.16.tgz", - "integrity": "sha512-xZ2D1VRIWzat5nsvcraT6fKEX9Cfi+HbQBCwzNnUAM8Uicm/anOc60XGalcaDPrVmLug7nhDl2nimEa3bL3K9w==", - "dev": true, - "requires": { - "jsan": "^3.1.13", - "querystring": "^0.2.0", - "redux-devtools-core": "^0.2.1", - "redux-devtools-instrument": "^1.9.4", - "rn-host-detect": "^1.1.5", - "socketcluster-client": "^14.2.1" - } - }, - "remotedev-serialize": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/remotedev-serialize/-/remotedev-serialize-0.1.8.tgz", - "integrity": "sha512-3YG/FDcOmiK22bl5oMRM8RRnbGrFEuPGjbcDG+z2xi5aQaNQNZ8lqoRnZTwXVfaZtutXuiAQOgPRrogzQk8edg==", - "dev": true, - "requires": { - "jsan": "^3.1.13" - } - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.3.tgz", - "integrity": "sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA==", - "dev": true, - "requires": { - "css-select": "^1.1.0", - "dom-converter": "^0.2", - "htmlparser2": "^3.3.0", - "strip-ansi": "^3.0.0", - "utila": "^0.4.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "dev": true, - "requires": { - "is-finite": "^1.0.0" - } - }, - "request": { - "version": "2.88.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" - }, - "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==", - "requires": { - "psl": "^1.1.24", - "punycode": "^1.4.1" - } - } - } - }, - "request-promise-core": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.2.tgz", - "integrity": "sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "request-promise-native": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.7.tgz", - "integrity": "sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w==", - "dev": true, - "requires": { - "request-promise-core": "1.1.2", - "stealthy-require": "^1.1.1", - "tough-cookie": "^2.3.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz", - "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-dir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", - "requires": { - "expand-tilde": "^2.0.0", - "global-modules": "^1.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" - }, - "resolve-pathname": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", - "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, - "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" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rn-host-detect": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/rn-host-detect/-/rn-host-detect-1.1.5.tgz", - "integrity": "sha512-ufk2dFT3QeP9HyZ/xTuMtW27KnFy815CYitJMqQm+pgG3ZAtHBsrU8nXizNKkqXGy3bQmhEoloVbrfbvMJMqkg==", - "dev": true - }, - "rst-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", - "integrity": "sha1-gbIw6i/MYGbInjRy3nlChdmwPZE=", - "dev": true, - "requires": { - "lodash.flattendeep": "^4.4.0", - "nearley": "^2.7.10" - } - }, - "run-async": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", - "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, - "requires": { - "is-promise": "^2.1.0" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.4.0.tgz", - "integrity": "sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sanitize-filename": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz", - "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=", - "dev": true, - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, - "sass-graph": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", - "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "lodash": "^4.0.0", - "scss-tokenizer": "^0.2.3", - "yargs": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, - "requires": { - "invert-kv": "^1.0.0" - } - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "dev": true, - "requires": { - "lcid": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true - }, - "yargs": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", - "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", - "dev": true, - "requires": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.0" - } - }, - "yargs-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", - "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", - "dev": true, - "requires": { - "camelcase": "^3.0.0" - } - } - } - }, - "sass-loader": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", - "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", - "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" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "saxes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.9.tgz", - "integrity": "sha512-FZeKhJglhJHk7eWG5YM0z46VHmI3KJpMBAQm3xa9meDvd+wevB5GuBB0wc0exPInZiBBHqi00DbS8AcvCGCFMw==", - "dev": true, - "requires": { - "xmlchars": "^1.3.1" - } - }, - "sc-channel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/sc-channel/-/sc-channel-1.2.0.tgz", - "integrity": "sha512-M3gdq8PlKg0zWJSisWqAsMmTVxYRTpVRqw4CWAdKBgAfVKumFcTjoCV0hYu7lgUXccCtCD8Wk9VkkE+IXCxmZA==", - "dev": true, - "requires": { - "component-emitter": "1.2.1" - } - }, - "sc-errors": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sc-errors/-/sc-errors-1.4.1.tgz", - "integrity": "sha512-dBn92iIonpChTxYLgKkIT/PCApvmYT6EPIbRvbQKTgY6tbEbIy8XVUv4pGyKwEK4nCmvX4TKXcN0iXC6tNW6rQ==", - "dev": true - }, - "sc-formatter": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/sc-formatter/-/sc-formatter-3.0.2.tgz", - "integrity": "sha512-9PbqYBpCq+OoEeRQ3QfFIGE6qwjjBcd2j7UjgDlhnZbtSnuGgHdcRklPKYGuYFH82V/dwd+AIpu8XvA1zqTd+A==", - "dev": true - }, - "scheduler": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.4.tgz", - "integrity": "sha512-cvSOlRPxOHs5dAhP9yiS/6IDmVAVxmk33f0CtTJRkmUWcb1Us+t7b1wqdzoC0REw2muC9V5f1L/w5R5uKGaepA==", - "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" - } - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "dev": true, - "requires": { - "ajv": "^5.0.0" - } - }, - "scss-tokenizer": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", - "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", - "dev": true, - "requires": { - "js-base64": "^2.1.8", - "source-map": "^0.4.2" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": ">=0.0.4" - } - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", - "dev": true, - "requires": { - "node-forge": "0.7.5" - } - }, - "semantic-ui-react": { - "version": "0.82.5", - "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.82.5.tgz", - "integrity": "sha512-Vi7gvo9EbRyNckYd6a/RaY5zk02SFCrRbU9ukdM/OOK8CH7sjIB4f78TkHTUar20Zsw2w6UnFzYWemSvIYfsOQ==", - "requires": { - "@babel/runtime": "^7.0.0", - "@semantic-ui-react/event-stack": "^2.0.0", - "classnames": "^2.2.6", - "keyboard-key": "^1.0.2", - "lodash": "^4.17.10", - "prop-types": "^15.6.2", - "shallowequal": "^1.1.0" - } - }, - "semver": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", - "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" - }, - "semver-diff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", - "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", - "dev": true, - "requires": { - "semver": "^5.0.3" - } - }, - "send": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.6.2", - "mime": "1.4.1", - "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" - }, - "dependencies": { - "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" - } - } - }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=", - "dev": true - }, - "serialize-javascript": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz", - "integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - } - }, - "serve-static": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", - "send": "0.16.2" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "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==", - "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 - } - } - }, - "shallowequal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "shell-quote": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", - "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", - "dev": true, - "requires": { - "array-filter": "~0.0.0", - "array-map": "~0.0.0", - "array-reduce": "~0.0.0", - "jsonify": "~0.0.0" - }, - "dependencies": { - "array-filter": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", - "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", - "dev": true - } - } - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "simple-get-lyrics": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/simple-get-lyrics/-/simple-get-lyrics-0.0.4.tgz", - "integrity": "sha512-aKzYfSXUVHqo8PWbr0HrBOg+X6iZRM9ijnEavwbhuIXVzZrKHzR6kcgCGeDbJ86NlRZbKlVYHEK7Foz1TgK6og==", - "requires": { - "bluebird": "^3.5.3", - "cheerio": "^1.0.0-rc.2", - "lodash": "^4.17.11", - "node-fetch": "^2.3.0" - }, - "dependencies": { - "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==" - } - } - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "requires": { - "is-arrayish": "^0.3.1" - } - }, - "single-line-log": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", - "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", - "dev": true, - "requires": { - "string-width": "^1.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "socketcluster-client": { - "version": "14.2.2", - "resolved": "https://registry.npmjs.org/socketcluster-client/-/socketcluster-client-14.2.2.tgz", - "integrity": "sha512-vofmFcTaHaIf+MqAR0OZS7e30X4jxbDPJl+taCe8kLGJ5rVOrKeuU0sGyHyHyqW87AIR6jqc4KODl4WQJ4SsAA==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "clone": "2.1.1", - "component-emitter": "1.2.1", - "linked-list": "0.1.0", - "querystring": "0.2.0", - "sc-channel": "^1.2.0", - "sc-errors": "^1.4.1", - "sc-formatter": "^3.0.1", - "uuid": "3.2.1", - "ws": "5.1.1" - }, - "dependencies": { - "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==", - "dev": true - }, - "ws": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-5.1.1.tgz", - "integrity": "sha512-bOusvpCb09TOBLbpMKszd45WKC2KPtxiyiHanv+H2DE3Az+1db5a/L7sVJZVDPUC1Br8f0SKRr1KjLpD1U/IAw==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - } - } - }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", - "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" - } - }, - "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", - "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "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" - } - }, - "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", - "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==", - "dev": true - } - } - }, - "soundmanager2": { - "version": "2.97.20170602", - "resolved": "https://registry.npmjs.org/soundmanager2/-/soundmanager2-2.97.20170602.tgz", - "integrity": "sha512-2ee7ES9SJ++WkD7PGHMeT4QUuJr7uC3wacD6RoCDlKjdSp9lpEOaKm3lKWKld119DLILjS2l9U6xpXJN6U0KPQ==" - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "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==" - }, - "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==", - "requires": { - "atob": "^2.1.1", - "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" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "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==", - "dev": true - }, - "spdy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", - "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "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" - } - }, - "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==", - "dev": true - } - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "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" - } - }, - "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==", - "dev": true - }, - "readable-stream": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.2.0.tgz", - "integrity": "sha512-RV20kLjdmpZuTF1INEb9IA3L68Nmi+Ri7ppZqo78wj//Pn62fCoJyV9zalccNzDD/OuJpMG4f+pfMl8+L6QdGw==", - "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" - } - } - } - }, - "speedometer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", - "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", - "dev": true - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "split2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", - "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", - "requires": { - "through2": "^2.0.2" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" - }, - "stdout-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", - "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", - "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" - } - } - } - }, - "stealthy-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", - "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", - "dev": true, - "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": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - }, - "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=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.padend": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", - "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.4.3", - "function-bind": "^1.0.2" - } - }, - "string.prototype.trim": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz", - "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.5.0", - "function-bind": "^1.0.2" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "dev": true, - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "dev": true - }, - "style-loader": { - "version": "0.23.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz", - "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.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=", - "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" - } - } - } - }, - "styled-components": { - "version": "3.4.10", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-3.4.10.tgz", - "integrity": "sha512-TA8ip8LoILgmSAFd3r326pKtXytUUGu5YWuqZcOQVwVVwB6XqUMn4MHW2IuYJ/HAD81jLrdQed8YWfLSG1LX4Q==", - "requires": { - "buffer": "^5.0.3", - "css-to-react-native": "^2.0.3", - "fbjs": "^0.8.16", - "hoist-non-react-statics": "^2.5.0", - "prop-types": "^15.5.4", - "react-is": "^16.3.1", - "stylis": "^3.5.0", - "stylis-rule-sheet": "^0.0.10", - "supports-color": "^3.2.3" - }, - "dependencies": { - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" - }, - "hoist-non-react-statics": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", - "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "requires": { - "has-flag": "^1.0.0" - } - } - } - }, - "stylis": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", - "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" - }, - "stylis-rule-sheet": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", - "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==" - }, - "sumchecker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz", - "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", - "dev": true, - "requires": { - "debug": "^2.2.0" - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "swagger-schema-official": { - "version": "2.0.0-bab6bed", - "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", - "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=" - }, - "swagger-spec-express": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/swagger-spec-express/-/swagger-spec-express-2.0.7.tgz", - "integrity": "sha512-lS6IdISHc4huVua3Xm//1rNLmxCfs7qQhCWM/MLTQsDEOh7KE/uthXPlOf3iivvaQErlhVtt+CtD434Cq+VTHQ==", - "requires": { - "ajv": "6.5.4", - "async": "2.6.1", - "lodash": "4.17.11", - "statuses": "1.5.0", - "swagger-schema-official": "2.0.0-bab6bed" - }, - "dependencies": { - "ajv": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.4.tgz", - "integrity": "sha512-4Wyjt8+t6YszqaXnLDfMmG/8AlO5Zbcsy3ATHncCzjW/NoPzAId8AK6749Ybjmdt+kUY1gP60fCu46oDxPv/mg==", - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", - "requires": { - "lodash": "^4.17.10" - } - }, - "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=" - }, - "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==" - } - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=" - }, - "table": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/table/-/table-5.2.3.tgz", - "integrity": "sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ==", - "dev": true, - "requires": { - "ajv": "^6.9.1", - "lodash": "^4.17.11", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "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=", - "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 - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.1.0.tgz", - "integrity": "sha512-TjxrkPONqO2Z8QDCpeE2j6n0M6EwxzyDgzEeGp+FbdvaJAt//ClYi6W5my+3ROlC/hZX2KACUwDfK49Ka5eDvg==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "tapable": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.1.tgz", - "integrity": "sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA==" - }, - "tar": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", - "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", - "dev": true, - "requires": { - "block-stream": "*", - "fstream": "^1.0.2", - "inherits": "2" - } - }, - "temp-file": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz", - "integrity": "sha512-FGKccAW0Mux9hC/2bdUIe4bJRv4OyVo4RpVcuplFird1V/YoplIFbnPZjfzbJSf/qNvRZIRB9/4n/RkI0GziuQ==", - "dev": true, - "requires": { - "async-exit-hook": "^2.0.1", - "bluebird-lst": "^1.0.6", - "fs-extra-p": "^7.0.0" - } - }, - "term-size": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", - "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", - "dev": true, - "requires": { - "execa": "^0.7.0" - }, - "dependencies": { - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - } - } - }, - "terser": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.16.1.tgz", - "integrity": "sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow==", - "dev": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1", - "source-map-support": "~0.5.9" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "dev": true - }, - "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - } - } - }, - "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==", - "dev": true, - "requires": { - "cacache": "^11.0.2", - "find-cache-dir": "^2.0.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^1.4.0", - "source-map": "^0.6.1", - "terser": "^3.16.1", - "webpack-sources": "^1.1.0", - "worker-farm": "^1.5.2" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.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=", - "dev": true - }, - "find-cache-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.0.0.tgz", - "integrity": "sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^1.0.0", - "pkg-dir": "^3.0.0" - } - }, - "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" - } - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throttleit": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", - "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "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=" - }, - "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==", - "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==", - "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==", - "dev": true - }, - "timed-out": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", - "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" - }, - "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==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "tiny-invariant": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.0.3.tgz", - "integrity": "sha512-ytQx8T4DL8PjlX53yYzcIC0WhIZbpR0p1qcYjw2pHu3w6UtgWwFJQ/02cnhOnBBhlFx/edUIfcagCaQSe3KMWg==" - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "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", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "optional": true - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "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", - "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", - "dev": true, - "requires": { - "glob": "^7.1.2" - } - }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, - "tslib": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "requires": { - "prelude-ls": "~1.1.2" - } - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true - }, - "type-is": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.18" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.19", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.19.tgz", - "integrity": "sha512-T3PVJ6uz8i0HzPxOF9SWzWAlfN/DavlpQqepn22xgve/5QecC+XMCAtmUNnY7C9StehaV6exjUCI801lOI7QlQ==" - }, - "uglify-js": { - "version": "3.4.9", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", - "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", - "dev": true, - "requires": { - "commander": "~2.17.1", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", - "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", - "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=", - "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=", - "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=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", - "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "unique-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", - "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", - "dev": true, - "requires": { - "crypto-random-string": "^1.0.0" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - } - } - }, - "unzip-response": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", - "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" - }, - "upath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.1.tgz", - "integrity": "sha512-D0yetkpIOKiZQquxjM2Syvy48Y1DbZ0SWxgsZiwd9GCWRpc75vN8ytzem14WDSg+oiX6+Qt31FpiS/ExODCrLg==", - "dev": true - }, - "update-notifier": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz", - "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", - "dev": true, - "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "dependencies": { - "ci-info": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", - "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", - "dev": true - }, - "is-ci": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", - "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", - "dev": true, - "requires": { - "ci-info": "^1.5.0" - } - } - } - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", - "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "mime": "^2.0.3", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.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=", - "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 - }, - "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", - "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" - } - } - } - }, - "url-parse": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", - "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", - "dev": true, - "requires": { - "querystringify": "^2.0.0", - "requires-port": "^1.0.0" - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "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==" - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "value-equal": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", - "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "video-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/video-extensions/-/video-extensions-1.1.0.tgz", - "integrity": "sha1-6qhrRfKahTwrhz6djiO1E3Epl9Y=" - }, - "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" - } - }, - "w3c-hr-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz", - "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=", - "dev": true, - "requires": { - "browser-process-hrtime": "^0.1.2" - } - }, - "warning": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", - "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", - "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "watchpack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", - "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", - "dev": true, - "requires": { - "chokidar": "^2.0.2", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "webidl-conversions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-2.0.1.tgz", - "integrity": "sha1-O/glj30xjHRDw28uFpQCoaZwNQY=", - "optional": true - }, - "webpack": { - "version": "4.29.6", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.6.tgz", - "integrity": "sha512-MwBwpiE1BQpMDkbnUUaW6K8RFZjljJHArC6tWQJoFm0oQtfoSebtg4Y7/QHnJ/SddtjYLHaKGX64CFjG5rehJw==", - "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", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", - "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", - "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" - }, - "dependencies": { - "acorn": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz", - "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==", - "dev": true - }, - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "eslint-scope": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.2.tgz", - "integrity": "sha512-5q1+B/ogmHl8+paxtOKx38Z8LtWkVGuNt3+GQNErqwLl6ViNp/gdJGMCjZNxZ8j/VYjDNZ2Fo+eQc1TAVPIzbg==", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "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=", - "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" - } - } - } - }, - "webpack-cli": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.2.3.tgz", - "integrity": "sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q==", - "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.4" - } - }, - "webpack-dev-middleware": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.6.1.tgz", - "integrity": "sha512-XQmemun8QJexMEvNFbD2BIg4eSKrmSIMrTfnl2nql2Sc6OGAYFyb8rwuYrCjl/IiEYYuyTEiimMscu7EXji/Dw==", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.3.1", - "range-parser": "^1.0.3", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "mime": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz", - "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.2.1.tgz", - "integrity": "sha512-sjuE4mnmx6JOh9kvSbPYw3u/6uxCLHNWfhWaIPwcXWsvWOPN+nc5baq4i9jui3oOBRXGonK9+OI0jVkaz6/rCw==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.0.0", - "compression": "^1.5.2", - "connect-history-api-fallback": "^1.3.0", - "debug": "^4.1.1", - "del": "^3.0.0", - "express": "^4.16.2", - "html-entities": "^1.2.0", - "http-proxy-middleware": "^0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.2.0", - "ip": "^1.1.5", - "killable": "^1.0.0", - "loglevel": "^1.4.1", - "opn": "^5.1.0", - "portfinder": "^1.0.9", - "schema-utils": "^1.0.0", - "selfsigned": "^1.9.1", - "semver": "^5.6.0", - "serve-index": "^1.7.2", - "sockjs": "0.3.19", - "sockjs-client": "1.3.0", - "spdy": "^4.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.5.1", - "webpack-log": "^2.0.0", - "yargs": "12.0.2" - }, - "dependencies": { - "ajv": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.0.tgz", - "integrity": "sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg==", - "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "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" - } - }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "dev": true, - "requires": { - "xregexp": "4.0.0" - } - }, - "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=", - "dev": true - }, - "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" - } - }, - "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 - }, - "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" - } - }, - "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==", - "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==", - "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 - }, - "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" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^2.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^10.1.0" - } - }, - "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", - "dev": true, - "requires": { - "camelcase": "^4.1.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", - "dev": true, - "requires": { - "http-parser-js": ">=0.4.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "requires": { - "iconv-lite": "0.4.24" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - } - } - }, - "whatwg-fetch": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", - "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "whatwg-url": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.0.0.tgz", - "integrity": "sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - }, - "dependencies": { - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - } - } - }, - "whatwg-url-compat": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/whatwg-url-compat/-/whatwg-url-compat-0.6.5.tgz", - "integrity": "sha1-AImBEa9om7CXVBzVpFymyHmERb8=", - "optional": true, - "requires": { - "tr46": "~0.0.1" - } - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "widest-line": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", - "dev": true, - "requires": { - "string-width": "^2.1.1" - } - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" - }, - "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==", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, - "write-file-atomic": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.2.tgz", - "integrity": "sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g==", - "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" - } - }, - "ws": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.0.tgz", - "integrity": "sha512-deZYUNlt2O4buFCa3t5bKLf8A7FPP/TVjwOeVNpw818Ma5nk4MLXls2eoEGS39o8119QIYxTrTDoPQ5B/gTD6w==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xdg-basedir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", - "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", - "dev": true - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "optional": true - }, - "xmlbuilder": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", - "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=", - "dev": true - }, - "xmlchars": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-1.3.1.tgz", - "integrity": "sha512-tGkGJkN8XqCod7OT+EvGYK5Z4SfDQGD30zAa58OcnAa0RRWgzUEK72tkXhsX1FZd+rgnhRxFtmO+ihkp8LHSkw==", - "dev": true - }, - "xmldom": { - "version": "0.1.27", - "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", - "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=", - "dev": true - }, - "xregexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", - "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "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==" - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - }, - "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==", - "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==", - "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==", - "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==", - "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==" - } - } - }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, - "requires": { - "fd-slicer": "~1.0.1" - } - }, - "youtube-playlist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/youtube-playlist/-/youtube-playlist-1.0.2.tgz", - "integrity": "sha512-2NpfFqBGUYBl085kcGNctiEd6vRMXRPGHwzcFTsaEap63zUiEmmHpP6StNFu4DGnuEOfn46gt3yNXm0r8K6xvg==", - "requires": { - "cheerio": "^1.0.0-rc.2", - "got": "^6.3.0" - } - }, - "ytdl-core": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/ytdl-core/-/ytdl-core-0.24.0.tgz", - "integrity": "sha512-VwCe+uhKz2M1cH0UEnNxVQyLwGK8DIJgbUPF9svEh0zxUl2DP7LORCDIloLqDUxR6JnC3s01GU0YPxiOmjcqVA==", - "requires": { - "html-entities": "^1.1.3", - "m3u8stream": "^0.3.0", - "miniget": "^1.1.0", - "sax": "^1.1.3" - } - } - } -} From 2703275ad51d05e4ffc93e65db4203b0fa5be953 Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Sun, 10 Mar 2019 12:22:23 +0100 Subject: [PATCH 468/487] fix restart in all env --- server/main.dev.js | 4 +++- server/main.prod.js | 4 +++- server/main.prod.linux.js | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/main.dev.js b/server/main.dev.js index 5b3deb1c32..f4eeb38128 100644 --- a/server/main.dev.js +++ b/server/main.dev.js @@ -121,7 +121,9 @@ function createWindow () { }); ipcMain.on('restart-api', () => { - httpServer.close(); + if (httpServer && httpServer.listening) { + httpServer.close(); + } httpServer = runHttpServer({ log: true, port: getOption('api.port') }); }); diff --git a/server/main.prod.js b/server/main.prod.js index 690fe7a496..3b45cde77a 100644 --- a/server/main.prod.js +++ b/server/main.prod.js @@ -86,7 +86,9 @@ function createWindow() { }); ipcMain.on('restart-api', () => { - httpServer.close(); + if (httpServer && httpServer.listening) { + httpServer.close(); + } httpServer = runHttpServer({ port: getOption('api.port') }); }); diff --git a/server/main.prod.linux.js b/server/main.prod.linux.js index 55f475ac78..3660950772 100644 --- a/server/main.prod.linux.js +++ b/server/main.prod.linux.js @@ -80,7 +80,9 @@ function createWindow() { }); ipcMain.on('restart-api', () => { - httpServer.close(); + if (httpServer && httpServer.listening) { + httpServer.close(); + } httpServer = runHttpServer({ port: getOption('api.port') }); }); From 1b81c2cc50efa5fb540fb40f1cbfcc1f33156ca2 Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 11 Mar 2019 01:31:17 +0100 Subject: [PATCH 469/487] Create navigation buttons; fixes #280, fixes #228 --- app/App.js | 5 ++++ app/components/NavButtons/index.js | 30 ++++++++++++++++++++++++ app/components/NavButtons/styles.scss | 33 +++++++++++++++++++++++++++ app/components/SearchBox/styles.scss | 2 -- 4 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 app/components/NavButtons/index.js create mode 100644 app/components/NavButtons/styles.scss diff --git a/app/App.js b/app/App.js index 8c10788abc..626160caf7 100644 --- a/app/App.js +++ b/app/App.js @@ -39,6 +39,7 @@ import ToastContainer from './containers/ToastContainer'; import ShortcutsContainer from './containers/ShortcutsContainer'; import ui from 'nuclear-ui'; +import NavButtons from './components/NavButtons'; import PlayerControls from './components/PlayerControls'; import Seekbar from './components/Seekbar'; import SidebarMenu from './components/SidebarMenu'; @@ -86,6 +87,10 @@ class App extends React.Component { renderNavBar () { return ( + diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js new file mode 100644 index 0000000000..b3140b5763 --- /dev/null +++ b/app/components/NavButtons/index.js @@ -0,0 +1,30 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import FontAwesome from 'react-fontawesome'; + +import styles from './styles.scss'; + +const NavButtons = props => { + return ( + + ); +}; + +NavButtons.propTypes = { + back: PropTypes.func, + forward: PropTypes.func +}; + +NavButtons.defaultProps = { + back: () => {}, + forward: () => {} +}; + +export default NavButtons; diff --git a/app/components/NavButtons/styles.scss b/app/components/NavButtons/styles.scss new file mode 100644 index 0000000000..3c21607a8c --- /dev/null +++ b/app/components/NavButtons/styles.scss @@ -0,0 +1,33 @@ +@import '../../vars.scss'; + +.nav_buttons { + display: flex; + flex-flow: row; + justify-content: center; + align-items: center; + margin-left: 12px; + z-index: 40; + -webkit-app-region: no-drag; + + a { + display: flex; + justify-content: center; + align-items: center; + background: $blue; + height: 30px; + width: 30px; + cursor: pointer; + + &:hover { + background: darken($blue, 10%); + } + + &:active { + background: darken($blue, 15%); + } + + &:first-child { + margin-right: 12px; + } + } +} diff --git a/app/components/SearchBox/styles.scss b/app/components/SearchBox/styles.scss index e25d02f5f9..e850765926 100644 --- a/app/components/SearchBox/styles.scss +++ b/app/components/SearchBox/styles.scss @@ -16,7 +16,6 @@ margin: 12px 0px 12px 12px; color: $grey; - border-radius: 2px 0px 0px 2px; background-color: $blue; align-items: center; @@ -43,7 +42,6 @@ color: $grey; border: none; - border-radius: 0px 2px 2px 0px; outline: none; background-color: $background3; From d03d9c427496965e0db27365a46b5ba20e2f717e Mon Sep 17 00:00:00 2001 From: nukeop Date: Mon, 11 Mar 2019 01:40:51 +0100 Subject: [PATCH 470/487] use functions from react-router --- app/App.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/App.js b/app/App.js index 626160caf7..77d3fc3c3b 100644 --- a/app/App.js +++ b/app/App.js @@ -88,8 +88,8 @@ class App extends React.Component { return ( From a5676314f9483050f531e618d4f098fb338c1f22 Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Mon, 11 Mar 2019 11:24:19 +0100 Subject: [PATCH 471/487] fix(api): add closHttpServer function --- server/http/server.js | 12 +++++++++++- server/main.dev.js | 16 +++++++--------- server/main.dev.linux.js | 16 +++++++--------- server/main.prod.js | 18 ++++++++---------- server/main.prod.linux.js | 22 ++++++++++------------ 5 files changed, 43 insertions(+), 41 deletions(-) diff --git a/server/http/server.js b/server/http/server.js index 2987f76e43..e4bea2fb47 100644 --- a/server/http/server.js +++ b/server/http/server.js @@ -46,4 +46,14 @@ function runHttpServer({ }); } -module.exports = runHttpServer; +function closeHttpServer(app) { + return new Promise(resolve => { + if (app && app.listening) { + app.close(resolve); + } else { + resolve(); + } + }); +} + +module.exports = { runHttpServer, closeHttpServer }; diff --git a/server/main.dev.js b/server/main.dev.js index f4eeb38128..83c5fd9a1a 100644 --- a/server/main.dev.js +++ b/server/main.dev.js @@ -15,7 +15,7 @@ const platform = require('electron-platform'); const path = require('path'); const url = require('url'); const { getOption, setOption } = require('./store'); -const runHttpServer = require('./http/server'); +const { runHttpServer, closeHttpServer } = require('./http/server'); let httpServer; let win; @@ -98,7 +98,7 @@ function createWindow () { tray.setContextMenu(trayMenu); ipcMain.on('close', () => { - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); }); ipcMain.on('minimize', () => { @@ -121,14 +121,13 @@ function createWindow () { }); ipcMain.on('restart-api', () => { - if (httpServer && httpServer.listening) { - httpServer.close(); - } - httpServer = runHttpServer({ log: true, port: getOption('api.port') }); + closeHttpServer(httpServer).then(() => { + httpServer = runHttpServer({ log: true, port: getOption('api.port') }); + }); }); ipcMain.on('stop-api', () => { - httpServer.close(); + closeHttpServer(httpServer); }); } @@ -142,6 +141,5 @@ app.on('ready', () => { }); app.on('window-all-closed', () => { - httpServer.close(); - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); }); diff --git a/server/main.dev.linux.js b/server/main.dev.linux.js index 58ce2d9873..d46120bd3a 100644 --- a/server/main.dev.linux.js +++ b/server/main.dev.linux.js @@ -6,7 +6,7 @@ const platform = require('electron-platform'); const path = require('path'); const url = require('url'); const getOption = require('./store').getOption; -const runHttpServer = require('./http/server'); +const { runHttpServer, closeHttpServer } = require('./http/server'); // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { @@ -77,7 +77,7 @@ function createWindow() { const trayMenu = Menu.buildFromTemplate([ {label: 'Quit', type: 'normal', click: () => { - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); } } ]); @@ -101,14 +101,13 @@ function createWindow() { }); ipcMain.on('restart-api', () => { - if (httpServer && httpServer.listening) { - httpServer.close(); - } - httpServer = runHttpServer({ log: true, port: getOption('api.port') }); + closeHttpServer(httpServer).then(() => { + httpServer = runHttpServer({ log: true, port: getOption('api.port') }); + }); }); ipcMain.on('stop-api', () => { - httpServer.close(); + closeHttpServer(httpServer); }); // GNU/Linux-specific @@ -180,6 +179,5 @@ app.on('ready', () => { app.on('window-all-closed', () => { logger.log('All windows closed, quitting'); - httpServer.close(); - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); }); diff --git a/server/main.prod.js b/server/main.prod.js index 3b45cde77a..854a921a57 100644 --- a/server/main.prod.js +++ b/server/main.prod.js @@ -4,7 +4,7 @@ const platform = require('electron-platform'); const path = require('path'); const url = require('url'); const getOption = require('./store').getOption; -const runHttpServer = require('./http/server'); +const { runHttpServer, closeHttpServer } = require('./http/server'); let httpServer; let win; @@ -56,7 +56,7 @@ function createWindow() { const trayMenu = Menu.buildFromTemplate([ {label: 'Quit', type: 'normal', click: () => { - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); } } ]); @@ -67,7 +67,7 @@ function createWindow() { tray.setContextMenu(trayMenu); ipcMain.on('close', () => { - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); }); ipcMain.on('minimize', () => { @@ -86,14 +86,13 @@ function createWindow() { }); ipcMain.on('restart-api', () => { - if (httpServer && httpServer.listening) { - httpServer.close(); - } - httpServer = runHttpServer({ port: getOption('api.port') }); + closeHttpServer(httpServer).then(() => { + httpServer = runHttpServer({ port: getOption('api.port') }); + }); }); ipcMain.on('stop-api', () => { - httpServer.close(); + closeHttpServer(httpServer); }); } @@ -105,6 +104,5 @@ app.on('ready', () => { }); app.on('window-all-closed', () => { - httpServer.close(); - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); }); diff --git a/server/main.prod.linux.js b/server/main.prod.linux.js index 3660950772..6c96c4d8e3 100644 --- a/server/main.prod.linux.js +++ b/server/main.prod.linux.js @@ -5,7 +5,7 @@ const path = require('path'); const url = require('url'); // const mpris = require('./mpris'); const getOption = require('./store').getOption; -const runHttpServer = require('./http/server'); +const { runHttpServer, closeHttpServer } = require('./http/server'); let httpServer; let win; @@ -56,9 +56,9 @@ function createWindow() { const trayMenu = Menu.buildFromTemplate([ {label: 'Quit', type: 'normal', click: - () => { - app.quit(); - } + () => { + closeHttpServer(httpServer).then(() => app.quit()); + } } ]); @@ -68,7 +68,7 @@ function createWindow() { tray.setContextMenu(trayMenu); ipcMain.on('close', () => { - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); }); ipcMain.on('minimize', () => { @@ -80,14 +80,13 @@ function createWindow() { }); ipcMain.on('restart-api', () => { - if (httpServer && httpServer.listening) { - httpServer.close(); - } - httpServer = runHttpServer({ port: getOption('api.port') }); + closeHttpServer(httpServer).then(() => { + httpServer = runHttpServer({ port: getOption('api.port') }); + }); }); ipcMain.on('stop-api', () => { - httpServer.close(); + closeHttpServer(httpServer); }); } @@ -99,6 +98,5 @@ app.on('ready', () => { }); app.on('window-all-closed', () => { - httpServer.close(); - app.quit(); + closeHttpServer(httpServer).then(() => app.quit()); }); From da8408909be1625a0374778dde9825fe1686b30b Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Mon, 11 Mar 2019 13:07:26 +0100 Subject: [PATCH 472/487] feat(http): add playlist and queue management --- app/actions/playlists.js | 10 ++-- app/containers/IpcContainer/index.js | 11 +++- app/mpris.js | 12 ++++ server/http/api/index.js | 1 + server/http/api/playlist.js | 86 ++++++++++++++++++++++++++++ server/http/lib/swagger.js | 24 +++++++- server/http/schema.js | 25 ++++++++ server/http/server.js | 4 +- server/mpris.js | 15 +++++ 9 files changed, 177 insertions(+), 11 deletions(-) create mode 100644 server/http/api/playlist.js diff --git a/app/actions/playlists.js b/app/actions/playlists.js index a5cc0c3e2d..021d3916d4 100644 --- a/app/actions/playlists.js +++ b/app/actions/playlists.js @@ -10,7 +10,7 @@ export function addPlaylist(tracks, name) { if (tracks.length === 0) { dispatch({ - type: null + type: null }); return; } @@ -35,13 +35,13 @@ export function loadPlaylists() { if (playlists) { dispatch({ - type: LOAD_PLAYLISTS, - payload: playlists + type: LOAD_PLAYLISTS, + payload: playlists }); } else { dispatch({ - type: LOAD_PLAYLISTS, - payload: [] + type: LOAD_PLAYLISTS, + payload: [] }); } }; diff --git a/app/containers/IpcContainer/index.js b/app/containers/IpcContainer/index.js index 7afd080c22..42aad68ba6 100644 --- a/app/containers/IpcContainer/index.js +++ b/app/containers/IpcContainer/index.js @@ -6,6 +6,7 @@ import { ipcRenderer } from 'electron'; import * as PlayerActions from '../../actions/player'; import * as QueueActions from '../../actions/queue'; import * as SettingsActions from '../../actions/settings'; +import * as PlaylistActions from '../../actions/playlists'; import { onNext, @@ -19,7 +20,10 @@ import { onVolume, onSeek, sendPlayingStatus, - onMute + onMute, + onEmptyQueue, + onCreatePlaylist, + onRefreshPlaylists } from '../../mpris'; class IpcContainer extends React.Component { @@ -36,6 +40,9 @@ class IpcContainer extends React.Component { ipcRenderer.on('volume', (event, data) => onVolume(event, data, this.props.actions)); ipcRenderer.on('seek', (event, data) => onSeek(event, data, this.props.actions)); ipcRenderer.on('playing-status', event => sendPlayingStatus(event, this.props.player, this.props.queue)); + ipcRenderer.on('empty-queue', event => onEmptyQueue(event, this.props.actions)); + ipcRenderer.on('create-playlist', (event, name) => onCreatePlaylist(event, { name, tracks: this.props.queue.queueItems }, this.props.actions)); + ipcRenderer.on('refresh-playlists', (event) => onRefreshPlaylists(event, this.props.actions)); } componentWillReceiveProps(nextProps){ @@ -59,7 +66,7 @@ function mapStateToProps(state) { function mapDispatchToProps(dispatch) { return { - actions: bindActionCreators(Object.assign({}, PlayerActions, QueueActions, SettingsActions), dispatch) + actions: bindActionCreators(Object.assign({}, PlayerActions, QueueActions, SettingsActions, PlaylistActions), dispatch) }; } diff --git a/app/mpris.js b/app/mpris.js index 2d19edde72..b41b8c019b 100644 --- a/app/mpris.js +++ b/app/mpris.js @@ -58,6 +58,18 @@ export function onSeek(event, data, actions) { actions.updateSeek(data); } +export function onEmptyQueue(event, actions) { + actions.clearQueue(); +} + +export function onCreatePlaylist(event, { tracks, name }, actions) { + actions.addPlaylist(tracks, name); +} + +export function onRefreshPlaylists(event, actions) { + actions.loadPlaylists(); +} + export function onSongChange(song) { ipcRenderer.send('songChange', song); } diff --git a/server/http/api/index.js b/server/http/api/index.js index 108b6900e2..765b863d7d 100644 --- a/server/http/api/index.js +++ b/server/http/api/index.js @@ -2,3 +2,4 @@ export * from './window'; export * from './settings'; export * from './player'; export * from './swagger'; +export * from './playlist'; diff --git a/server/http/api/playlist.js b/server/http/api/playlist.js new file mode 100644 index 0000000000..2213d14c81 --- /dev/null +++ b/server/http/api/playlist.js @@ -0,0 +1,86 @@ +import express from 'express'; +import { Validator } from 'express-json-validator-middleware'; +import swagger from 'swagger-spec-express'; + +import { + onEmptyQueue, + onCreatePlaylist, + onRemovePlaylist +} from '../../mpris'; +import { addPlaylistSchema } from '../schema'; +import { getStandardDescription } from '../lib/swagger'; +import { store } from '../../store'; + + +const { validate } = new Validator({ allErrors: true }); + +export function playlistRouter() { + + const router = express.Router(); + + swagger.swaggerize(router); + + router + .post('/', validate(addPlaylistSchema), (req, res) => { + onCreatePlaylist(req.body.name); + res.send(); + }) + .describe( + getStandardDescription({ + successDescription: 'The playlist has been created', + errorDescription: 'The playlist has not been created', + tags: ['Playlist'], + body: ['playlistName'] + }) + ); + + router + .get('/', (req, res, next) => { + try { + const playlists = store.get('playlists'); + + res.json(playlists); + } catch (err) { + next(err); + } + }) + .describe( + getStandardDescription({ + successDescription: 'The list of all playlists', + errorDescription: 'The playlist has not been created', + tags: ['Playlist'] + }) + ); + + router + .delete('/:name', (req, res, next) => { + try { + const playlists = store.get('playlists'); + + store.set('playlists', playlists.filter(({ name }) => name !== req.params.name)); + onRemovePlaylist(); + res.send(); + } catch (err) { + next(err); + } + }) + .describe( + getStandardDescription({ + errorDescription: 'The playlist has not been removed', + tags: ['Playlist'], + path: ['name'] + }) + ); + + router + .post('/empty-queue', (req, res) => { + onEmptyQueue(); + res.send(); + }) + .describe(getStandardDescription({ + successDescription: 'The queue is now empty', + tags: ['Playlist'] + })); + + return router; +} diff --git a/server/http/lib/swagger.js b/server/http/lib/swagger.js index b537a51d3b..b4d5c5a359 100644 --- a/server/http/lib/swagger.js +++ b/server/http/lib/swagger.js @@ -1,6 +1,6 @@ import swagger from 'swagger-spec-express'; -import { volumeSchema, seekSchema, updateSettingsSchema, getSettingsSchema } from '../schema'; +import { volumeSchema, seekSchema, updateSettingsSchema, getSettingsSchema, addPlaylistSchema, deletePlaylistSchema } from '../schema'; export function getStandardDescription({ successDescription = 'Action successfull', @@ -45,6 +45,10 @@ export function initSwagger(app) { { name: 'Settings', description: 'Settings related endpoints (update settings ...)' + }, + { + name: 'Playlist', + description: 'Playlist related endpoints (create, clean queue ...)' } ] }); @@ -60,14 +64,14 @@ export function initSwagger(app) { name: 'volumeValue', description: 'The new volume', required: true, - schema: volumeSchema.body.properties.value + schema: volumeSchema.body }); swagger.common.parameters.addBody({ name: 'seekValue', description: 'The new position of the seek', required: true, - schema: seekSchema.body.properties.value + schema: seekSchema.body }); swagger.common.parameters.addPath({ @@ -76,5 +80,19 @@ export function initSwagger(app) { required: true, ...getSettingsSchema.params.properties.option }); + + swagger.common.parameters.addBody({ + name: 'playlistName', + description: 'the name of the new playlist', + required: true, + schema: addPlaylistSchema.body + }); + + swagger.common.parameters.addPath({ + name: 'name', + description: 'The name of the playlist to remove', + required: true, + ...deletePlaylistSchema.params.properties.name + }); } diff --git a/server/http/schema.js b/server/http/schema.js index a2089e07d9..9ba07a610d 100644 --- a/server/http/schema.js +++ b/server/http/schema.js @@ -69,3 +69,28 @@ export const seekSchema = { } } }; + +export const addPlaylistSchema = { + body: { + type: 'object', + required: ['name'], + properties: { + name: { + type: 'string', + maxLength: 100 + } + } + } +}; + +export const deletePlaylistSchema = { + params: { + type: 'object', + required: ['option'], + properties: { + name: { + type: 'string' + } + } + } +}; diff --git a/server/http/server.js b/server/http/server.js index e4bea2fb47..e58149e9b7 100644 --- a/server/http/server.js +++ b/server/http/server.js @@ -8,7 +8,8 @@ import { windowRouter, playerRouter, settingsRouter, - swaggerRouter + swaggerRouter, + playlistRouter } from './api'; import { errorMiddleware, notFoundMiddleware } from './middlewares'; import { initSwagger } from './lib/swagger'; @@ -34,6 +35,7 @@ function runHttpServer({ .use(`${prefix}/player`, playerRouter()) .use(`${prefix}/settings`, settingsRouter()) .use(`${prefix}/docs`, swaggerRouter()) + .use(`${prefix}/playlist`, playlistRouter()) .use(notFoundMiddleware()) .use(errorMiddleware(logger)) .listen(port, host, err => { diff --git a/server/mpris.js b/server/mpris.js index c133ef0c56..bedd19a3b6 100644 --- a/server/mpris.js +++ b/server/mpris.js @@ -51,6 +51,18 @@ function onMute() { rendererWindow.send('mute'); } +function onEmptyQueue() { + rendererWindow.send('empty-queue'); +} + +function onCreatePlaylist(name) { + rendererWindow.send('create-playlist', name); +} + +function onRemovePlaylist() { + rendererWindow.send('refresh-playlists'); +} + function getPlayingStatus() { return new Promise(resolve => { rendererWindow.send('playing-status'); @@ -71,5 +83,8 @@ module.exports = { onVolume, onSeek, onMute, + onEmptyQueue, + onCreatePlaylist, + onRemovePlaylist, getPlayingStatus }; From 6beaca5511f111348646c6937f6d46f513091c11 Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Mon, 11 Mar 2019 13:14:34 +0100 Subject: [PATCH 473/487] fix(playlists): fix typo --- app/containers/PlaylistViewContainer/index.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/containers/PlaylistViewContainer/index.js b/app/containers/PlaylistViewContainer/index.js index 36c14c49e8..9c06ac806f 100644 --- a/app/containers/PlaylistViewContainer/index.js +++ b/app/containers/PlaylistViewContainer/index.js @@ -12,14 +12,14 @@ import PlaylistView from '../../components/PlaylistView'; const PlaylistViewContainer = props => { return ( ); }; From 5089a4133af9e913b679643ba90707720ef7fb68 Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Mon, 11 Mar 2019 14:03:47 +0100 Subject: [PATCH 474/487] feat(api): add a endpoint to get the current queue --- app/containers/IpcContainer/index.js | 2 ++ app/mpris.js | 4 ++++ server/http/api/playlist.js | 15 +++++++++++++-- server/http/lib/swagger.js | 4 ++++ server/mpris.js | 10 ++++++++++ 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/app/containers/IpcContainer/index.js b/app/containers/IpcContainer/index.js index 42aad68ba6..2ff68138b7 100644 --- a/app/containers/IpcContainer/index.js +++ b/app/containers/IpcContainer/index.js @@ -20,6 +20,7 @@ import { onVolume, onSeek, sendPlayingStatus, + sendQueueItems, onMute, onEmptyQueue, onCreatePlaylist, @@ -41,6 +42,7 @@ class IpcContainer extends React.Component { ipcRenderer.on('seek', (event, data) => onSeek(event, data, this.props.actions)); ipcRenderer.on('playing-status', event => sendPlayingStatus(event, this.props.player, this.props.queue)); ipcRenderer.on('empty-queue', event => onEmptyQueue(event, this.props.actions)); + ipcRenderer.on('queue', event => sendQueueItems(event, this.props.queue.queueItems)); ipcRenderer.on('create-playlist', (event, name) => onCreatePlaylist(event, { name, tracks: this.props.queue.queueItems }, this.props.actions)); ipcRenderer.on('refresh-playlists', (event) => onRefreshPlaylists(event, this.props.actions)); } diff --git a/app/mpris.js b/app/mpris.js index b41b8c019b..07b3479c17 100644 --- a/app/mpris.js +++ b/app/mpris.js @@ -111,3 +111,7 @@ export function sendPlayingStatus(event, playerState, queueState) { ipcRenderer.send('playing-status', playerState); } } + +export function sendQueueItems(event, queueItems) { + ipcRenderer.send('queue', queueItems); +} diff --git a/server/http/api/playlist.js b/server/http/api/playlist.js index 2213d14c81..1716fc9c37 100644 --- a/server/http/api/playlist.js +++ b/server/http/api/playlist.js @@ -5,7 +5,8 @@ import swagger from 'swagger-spec-express'; import { onEmptyQueue, onCreatePlaylist, - onRemovePlaylist + onRemovePlaylist, + getQueue } from '../../mpris'; import { addPlaylistSchema } from '../schema'; import { getStandardDescription } from '../lib/swagger'; @@ -72,6 +73,16 @@ export function playlistRouter() { }) ); + router.get('/queue', (req, res, next) => { + getQueue() + .then(res.json.bind(res)) + .catch(next); + }) + .describe(getStandardDescription({ + successDescription: 'The current queue', + tags: ['Playlist', 'Queue'] + })); + router .post('/empty-queue', (req, res) => { onEmptyQueue(); @@ -79,7 +90,7 @@ export function playlistRouter() { }) .describe(getStandardDescription({ successDescription: 'The queue is now empty', - tags: ['Playlist'] + tags: ['Playlist', 'Queue'] })); return router; diff --git a/server/http/lib/swagger.js b/server/http/lib/swagger.js index b4d5c5a359..625fef9921 100644 --- a/server/http/lib/swagger.js +++ b/server/http/lib/swagger.js @@ -49,6 +49,10 @@ export function initSwagger(app) { { name: 'Playlist', description: 'Playlist related endpoints (create, clean queue ...)' + }, + { + name: 'Queue', + description: 'Queue related endpoints' } ] }); diff --git a/server/mpris.js b/server/mpris.js index bedd19a3b6..d1df69119d 100644 --- a/server/mpris.js +++ b/server/mpris.js @@ -63,6 +63,15 @@ function onRemovePlaylist() { rendererWindow.send('refresh-playlists'); } +function getQueue() { + return new Promise(resolve => { + rendererWindow.send('queue'); + ipcMain.on('queue', (evt, data) => { + resolve(data); + }); + }); +} + function getPlayingStatus() { return new Promise(resolve => { rendererWindow.send('playing-status'); @@ -84,6 +93,7 @@ module.exports = { onSeek, onMute, onEmptyQueue, + getQueue, onCreatePlaylist, onRemovePlaylist, getPlayingStatus From 79100ca816ac3b2af9aabb7a607c091aff767f64 Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Mon, 11 Mar 2019 17:15:08 +0100 Subject: [PATCH 475/487] refactor(api): move queue related endpoints to its own router --- server/http/api/index.js | 1 + server/http/api/playlist.js | 24 +----------------------- server/http/api/queue.js | 37 +++++++++++++++++++++++++++++++++++++ server/http/server.js | 4 +++- 4 files changed, 42 insertions(+), 24 deletions(-) create mode 100644 server/http/api/queue.js diff --git a/server/http/api/index.js b/server/http/api/index.js index 765b863d7d..10f310b143 100644 --- a/server/http/api/index.js +++ b/server/http/api/index.js @@ -3,3 +3,4 @@ export * from './settings'; export * from './player'; export * from './swagger'; export * from './playlist'; +export * from './queue'; diff --git a/server/http/api/playlist.js b/server/http/api/playlist.js index 1716fc9c37..bd844f62c3 100644 --- a/server/http/api/playlist.js +++ b/server/http/api/playlist.js @@ -3,10 +3,8 @@ import { Validator } from 'express-json-validator-middleware'; import swagger from 'swagger-spec-express'; import { - onEmptyQueue, onCreatePlaylist, - onRemovePlaylist, - getQueue + onRemovePlaylist } from '../../mpris'; import { addPlaylistSchema } from '../schema'; import { getStandardDescription } from '../lib/swagger'; @@ -73,25 +71,5 @@ export function playlistRouter() { }) ); - router.get('/queue', (req, res, next) => { - getQueue() - .then(res.json.bind(res)) - .catch(next); - }) - .describe(getStandardDescription({ - successDescription: 'The current queue', - tags: ['Playlist', 'Queue'] - })); - - router - .post('/empty-queue', (req, res) => { - onEmptyQueue(); - res.send(); - }) - .describe(getStandardDescription({ - successDescription: 'The queue is now empty', - tags: ['Playlist', 'Queue'] - })); - return router; } diff --git a/server/http/api/queue.js b/server/http/api/queue.js new file mode 100644 index 0000000000..0c77e21802 --- /dev/null +++ b/server/http/api/queue.js @@ -0,0 +1,37 @@ +import express from 'express'; +import swagger from 'swagger-spec-express'; + +import { + onEmptyQueue, + getQueue +} from '../../mpris'; +import { getStandardDescription } from '../lib/swagger'; + +export function queueRouter() { + + const router = express.Router(); + + swagger.swaggerize(router); + + router.get('/', (req, res, next) => { + getQueue() + .then(res.json.bind(res)) + .catch(next); + }) + .describe(getStandardDescription({ + successDescription: 'The current queue', + tags: ['Queue'] + })); + + router + .post('/empty', (req, res) => { + onEmptyQueue(); + res.send(); + }) + .describe(getStandardDescription({ + successDescription: 'The queue is now empty', + tags: ['Queue'] + })); + + return router; +} diff --git a/server/http/server.js b/server/http/server.js index e58149e9b7..3e03be3cb5 100644 --- a/server/http/server.js +++ b/server/http/server.js @@ -9,7 +9,8 @@ import { playerRouter, settingsRouter, swaggerRouter, - playlistRouter + playlistRouter, + queueRouter } from './api'; import { errorMiddleware, notFoundMiddleware } from './middlewares'; import { initSwagger } from './lib/swagger'; @@ -36,6 +37,7 @@ function runHttpServer({ .use(`${prefix}/settings`, settingsRouter()) .use(`${prefix}/docs`, swaggerRouter()) .use(`${prefix}/playlist`, playlistRouter()) + .use(`${prefix}/queue`, queueRouter()) .use(notFoundMiddleware()) .use(errorMiddleware(logger)) .listen(port, host, err => { From 7d7ed5defdb942a3eecbda5d852013948e275eb9 Mon Sep 17 00:00:00 2001 From: hibroseph Date: Mon, 11 Mar 2019 22:18:19 -0600 Subject: [PATCH 476/487] back and forward history buttons disable when you have no history of back and forwards --- app/components/NavButtons/index.js | 24 ++++++++++++++++++++---- app/components/NavButtons/styles.scss | 15 +++++++++++---- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js index b3140b5763..5a743b6bb8 100644 --- a/app/components/NavButtons/index.js +++ b/app/components/NavButtons/index.js @@ -5,13 +5,29 @@ import FontAwesome from 'react-fontawesome'; import styles from './styles.scss'; const NavButtons = props => { + + let enableBackButton = true; + let enableForwardButton = true; + + // Check to see if we are at the dashbashboard of if we cannot go forward anymore to disable buttons + console.log("Current index: " + props.historyCurrentIndex) + if (props.historyCurrentIndex == 1) { + // We need to disable the back button because we can't go back anymore + enableBackButton = false; + } + + console.log("historyLength: " + props.historyLength) + if (props.historyCurrentIndex == (props.historyLength - 1)) { + enableForwardButton = false; + } + return ( ); diff --git a/app/components/NavButtons/styles.scss b/app/components/NavButtons/styles.scss index 3c21607a8c..3f6f72df83 100644 --- a/app/components/NavButtons/styles.scss +++ b/app/components/NavButtons/styles.scss @@ -1,4 +1,4 @@ -@import '../../vars.scss'; +@import "../../vars.scss"; .nav_buttons { display: flex; @@ -8,7 +8,7 @@ margin-left: 12px; z-index: 40; -webkit-app-region: no-drag; - + a { display: flex; justify-content: center; @@ -18,11 +18,16 @@ width: 30px; cursor: pointer; - &:hover { + &.disable { + opacity: 0.4; + cursor: not-allowed; + } + + &:not(.disable):hover { background: darken($blue, 10%); } - &:active { + &:not(.disable):active { background: darken($blue, 15%); } @@ -30,4 +35,6 @@ margin-right: 12px; } } + + } From 94bffed24c39348e0729c25f8f7e67bac63f9db7 Mon Sep 17 00:00:00 2001 From: hibroseph Date: Mon, 11 Mar 2019 22:29:06 -0600 Subject: [PATCH 477/487] styled, removed console.logs, added necessary props in app.js to NavButtons --- app/App.js | 2 ++ app/components/NavButtons/index.js | 4 ---- app/components/NavButtons/styles.scss | 4 +--- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/app/App.js b/app/App.js index 77d3fc3c3b..37378a21cd 100644 --- a/app/App.js +++ b/app/App.js @@ -90,6 +90,8 @@ class App extends React.Component { diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js index 5a743b6bb8..abd522b92e 100644 --- a/app/components/NavButtons/index.js +++ b/app/components/NavButtons/index.js @@ -9,14 +9,10 @@ const NavButtons = props => { let enableBackButton = true; let enableForwardButton = true; - // Check to see if we are at the dashbashboard of if we cannot go forward anymore to disable buttons - console.log("Current index: " + props.historyCurrentIndex) if (props.historyCurrentIndex == 1) { - // We need to disable the back button because we can't go back anymore enableBackButton = false; } - console.log("historyLength: " + props.historyLength) if (props.historyCurrentIndex == (props.historyLength - 1)) { enableForwardButton = false; } diff --git a/app/components/NavButtons/styles.scss b/app/components/NavButtons/styles.scss index 3f6f72df83..e0f6746a0b 100644 --- a/app/components/NavButtons/styles.scss +++ b/app/components/NavButtons/styles.scss @@ -1,4 +1,4 @@ -@import "../../vars.scss"; +@import '../../vars.scss'; .nav_buttons { display: flex; @@ -35,6 +35,4 @@ margin-right: 12px; } } - - } From 3fc352cb11ca92fb376234d80b9b27cace7ab256 Mon Sep 17 00:00:00 2001 From: hibroseph Date: Tue, 12 Mar 2019 17:54:40 -0600 Subject: [PATCH 478/487] updated code to reflect code review, made code more concise --- app/components/NavButtons/index.js | 55 +++++++++++++++++++----------- 1 file changed, 36 insertions(+), 19 deletions(-) diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js index abd522b92e..1aefb6ad10 100644 --- a/app/components/NavButtons/index.js +++ b/app/components/NavButtons/index.js @@ -1,33 +1,50 @@ import React from 'react'; import PropTypes from 'prop-types'; import FontAwesome from 'react-fontawesome'; - +import cx from 'classnames'; import styles from './styles.scss'; -const NavButtons = props => { +class NavButtons extends React.Component { - let enableBackButton = true; - let enableForwardButton = true; + constructor(props) { + super(props); + this.enableBackButton = this.enableBackButton.bind(this); + this.enableForwardButton = this.enableForwardButton.bind(this); + } - if (props.historyCurrentIndex == 1) { - enableBackButton = false; + enableBackButton(currentHistoryIndex) { + if (currentHistoryIndex == 1) { + return false; + } else { + return true; + } } - if (props.historyCurrentIndex == (props.historyLength - 1)) { - enableForwardButton = false; + enableForwardButton(currentHistoryIndex, historyLength) { + if(currentHistoryIndex == (historyLength - 1)) { + return false; + } else { + return true; + } } - return ( - - ); -}; + render() { + let { back, forward, historyLength, historyCurrentIndex} = this.props; + + return ( + + ); + }; +} NavButtons.propTypes = { back: PropTypes.func, From 0b0c94cc00fd92801351011ec103f1cad9273c53 Mon Sep 17 00:00:00 2001 From: hibroseph Date: Tue, 12 Mar 2019 18:06:19 -0600 Subject: [PATCH 479/487] corrected a paramater for making the backbutton display correctly --- app/components/NavButtons/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js index 1aefb6ad10..4414553c52 100644 --- a/app/components/NavButtons/index.js +++ b/app/components/NavButtons/index.js @@ -33,8 +33,8 @@ class NavButtons extends React.Component { return (
- + Date: Tue, 12 Mar 2019 19:25:08 -0600 Subject: [PATCH 480/487] updated comparsion operator --- app/components/NavButtons/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js index 4414553c52..4950dfeb01 100644 --- a/app/components/NavButtons/index.js +++ b/app/components/NavButtons/index.js @@ -13,7 +13,7 @@ class NavButtons extends React.Component { } enableBackButton(currentHistoryIndex) { - if (currentHistoryIndex == 1) { + if (currentHistoryIndex === 1) { return false; } else { return true; @@ -21,7 +21,7 @@ class NavButtons extends React.Component { } enableForwardButton(currentHistoryIndex, historyLength) { - if(currentHistoryIndex == (historyLength - 1)) { + if(currentHistoryIndex === (historyLength - 1)) { return false; } else { return true; From 8239208cb795dd46015401fa76ccac57b4fc30d5 Mon Sep 17 00:00:00 2001 From: hibroseph Date: Wed, 13 Mar 2019 09:09:55 -0600 Subject: [PATCH 481/487] more concise if statements and replaced on click conditional to not use logical operation --- app/components/NavButtons/index.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js index 4950dfeb01..1528279a2e 100644 --- a/app/components/NavButtons/index.js +++ b/app/components/NavButtons/index.js @@ -14,17 +14,17 @@ class NavButtons extends React.Component { enableBackButton(currentHistoryIndex) { if (currentHistoryIndex === 1) { - return false; + return !currentHistoryIndex; } else { - return true; + return currentHistoryIndex; } } enableForwardButton(currentHistoryIndex, historyLength) { if(currentHistoryIndex === (historyLength - 1)) { - return false; + return !currentHistoryIndex; } else { - return true; + return currentHistoryIndex; } } @@ -33,11 +33,11 @@ class NavButtons extends React.Component { return (
- - From b10d7f97ebde7cb6f0f9979d37a867094812fd36 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Wed, 13 Mar 2019 15:38:02 +0000 Subject: [PATCH 482/487] Update index.js --- app/components/NavButtons/index.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/app/components/NavButtons/index.js b/app/components/NavButtons/index.js index 1528279a2e..200eeadf0a 100644 --- a/app/components/NavButtons/index.js +++ b/app/components/NavButtons/index.js @@ -13,19 +13,11 @@ class NavButtons extends React.Component { } enableBackButton(currentHistoryIndex) { - if (currentHistoryIndex === 1) { - return !currentHistoryIndex; - } else { - return currentHistoryIndex; - } + return currentHistoryIndex > 1; } enableForwardButton(currentHistoryIndex, historyLength) { - if(currentHistoryIndex === (historyLength - 1)) { - return !currentHistoryIndex; - } else { - return currentHistoryIndex; - } + return currentHistoryIndex < (historyLength - 1); } render() { From 4ee10166b2e8e99b2cfdc450b23b4799aab72e79 Mon Sep 17 00:00:00 2001 From: nukeop <12746779+nukeop@users.noreply.github.com> Date: Wed, 13 Mar 2019 23:40:04 +0100 Subject: [PATCH 483/487] Fix #285 --- app/containers/PlaylistViewContainer/index.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/containers/PlaylistViewContainer/index.js b/app/containers/PlaylistViewContainer/index.js index 36c14c49e8..9c06ac806f 100644 --- a/app/containers/PlaylistViewContainer/index.js +++ b/app/containers/PlaylistViewContainer/index.js @@ -12,14 +12,14 @@ import PlaylistView from '../../components/PlaylistView'; const PlaylistViewContainer = props => { return ( ); }; From 9c42411283822d202e6654d37f0f7e4ee488d6bd Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Fri, 15 Mar 2019 00:06:41 +0100 Subject: [PATCH 484/487] feat(error): add a global ErrorBoundary component --- app/App.js | 31 ++++++++------- app/containers/ErrorBoundary/index.js | 54 +++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 14 deletions(-) create mode 100644 app/containers/ErrorBoundary/index.js diff --git a/app/App.js b/app/App.js index 37378a21cd..92764bb59e 100644 --- a/app/App.js +++ b/app/App.js @@ -37,6 +37,7 @@ import IpcContainer from './containers/IpcContainer'; import SoundContainer from './containers/SoundContainer'; import ToastContainer from './containers/ToastContainer'; import ShortcutsContainer from './containers/ShortcutsContainer'; +import ErrorBoundary from './containers/ErrorBoundary'; import ui from 'nuclear-ui'; import NavButtons from './components/NavButtons'; @@ -274,21 +275,23 @@ class App extends React.Component { let { toggleOption } = this.props.actions; return ( -
- {this.renderNavBar()} -
- {this.renderSidebarMenu(settings, toggleOption)} - - - - {this.renderRightPanel(settings)} - - + +
+ {this.renderNavBar()} +
+ {this.renderSidebarMenu(settings, toggleOption)} + + + + {this.renderRightPanel(settings)} +
+ {this.renderFooter(settings)} + +
- {this.renderFooter(settings)} - - -
+ + + ); } diff --git a/app/containers/ErrorBoundary/index.js b/app/containers/ErrorBoundary/index.js new file mode 100644 index 0000000000..b12b1ba253 --- /dev/null +++ b/app/containers/ErrorBoundary/index.js @@ -0,0 +1,54 @@ +import logger from 'electron-timber'; +import React from 'react'; +import { withRouter } from 'react-router'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; +import { bindActionCreators } from 'redux'; + +import * as ToastActions from '../../actions/toasts'; + +const initialState = { hasError: false }; + +class ErrorBoundary extends React.Component { + state = initialState; + + static getDerivedStateFromError() { + return { hasError: true }; + } + + componentDidCatch(error) { + logger.error(error); + this.props.actions.error('error', 'Something wrong happen'); + + this.setState({ hasError: true }, () => { + this.props.history.goBack(); + this.setState(initialState); + }); + } + + render() { + if (this.state.hasError) { + return null; + } + + return this.props.children; + } +} + +ErrorBoundary.propTypes = { + actions: PropTypes.shape({ + error: PropTypes.func + }) +}; + +function mapStateToProps() { + return {}; +} + +function mapDispatchToProps(dispatch) { + return { + actions: bindActionCreators(ToastActions, dispatch) + }; +} + +export default withRouter(connect(mapStateToProps, mapDispatchToProps)(ErrorBoundary)); From 49c0de6d46d4aa1152337ff112351a877e61315c Mon Sep 17 00:00:00 2001 From: Charles Jacquin Date: Fri, 15 Mar 2019 09:43:03 +0100 Subject: [PATCH 485/487] fix(error): fix typo in toast message --- app/containers/ErrorBoundary/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/containers/ErrorBoundary/index.js b/app/containers/ErrorBoundary/index.js index b12b1ba253..2ed974aafb 100644 --- a/app/containers/ErrorBoundary/index.js +++ b/app/containers/ErrorBoundary/index.js @@ -18,7 +18,7 @@ class ErrorBoundary extends React.Component { componentDidCatch(error) { logger.error(error); - this.props.actions.error('error', 'Something wrong happen'); + this.props.actions.error('error', 'Something wrong happened'); this.setState({ hasError: true }, () => { this.props.history.goBack(); From dad078f1e85deee1930cedb9a2ddc9993116273d Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Sat, 9 Mar 2019 10:25:48 -0500 Subject: [PATCH 486/487] Update mpris implementation Add a basic mpris implementation by updating to mpris-service 2.0 and uncommenting old mpris code. Add additional methods to respond to mpris queries and methods to get and set the shuffle status, loop status, and position of the player. fixes #98 --- app/actions/player.js | 5 +- app/mpris.js | 16 +++ app/persistence/store.js | 4 +- package.json | 3 +- server/main.dev.linux.js | 194 ++++++++++++++++++++++++++++--------- webpack.config.electron.js | 6 ++ 6 files changed, 179 insertions(+), 49 deletions(-) diff --git a/app/actions/player.js b/app/actions/player.js index 9ead678204..30daa78b21 100644 --- a/app/actions/player.js +++ b/app/actions/player.js @@ -1,5 +1,5 @@ import Sound from 'react-sound'; -import { sendPaused, sendPlay } from '../mpris'; +import { sendPaused, sendPlay, sendVolume, sendPlaybackProgress, sendSeek } from '../mpris'; export const START_PLAYBACK = 'START_PLAYBACK'; export const PAUSE_PLAYBACK = 'PAUSE_PLAYBACK'; @@ -37,6 +37,7 @@ export function togglePlayback(currentState) { } export function updatePlaybackProgress(progress, seek) { + sendPlaybackProgress(progress, seek); return { type: UPDATE_PLAYBACK_PROGRESS, payload: { @@ -47,6 +48,7 @@ export function updatePlaybackProgress(progress, seek) { } export function updateSeek(seek) { + sendSeek(seek); return { type: UPDATE_SEEK, payload: seek @@ -54,6 +56,7 @@ export function updateSeek(seek) { } export function updateVolume(volume) { + sendVolume(volume); return { type: UPDATE_VOLUME, payload: volume diff --git a/app/mpris.js b/app/mpris.js index 07b3479c17..8f60124cd4 100644 --- a/app/mpris.js +++ b/app/mpris.js @@ -115,3 +115,19 @@ export function sendPlayingStatus(event, playerState, queueState) { export function sendQueueItems(event, queueItems) { ipcRenderer.send('queue', queueItems); } + +export function sendPlaybackProgress(progress) { + ipcRenderer.send('playbackProgress', progress); +} + +export function sendVolume(volume) { + ipcRenderer.send('volume', volume); +} + +export function sendSeek(position) { + ipcRenderer.send('seek', position); +} + +export function sendSetOption(key, value) { + ipcRenderer.send('set-option', {key, value}); +} diff --git a/app/persistence/store.js b/app/persistence/store.js index ccfdd87251..7de09c5baf 100644 --- a/app/persistence/store.js +++ b/app/persistence/store.js @@ -2,7 +2,7 @@ import _ from 'lodash'; import electronStore from 'electron-store'; import options from '../constants/settings'; -import { restartApi, stopApi } from '../mpris'; +import { restartApi, stopApi, sendSetOption } from '../mpris'; const store = new electronStore(); @@ -50,6 +50,8 @@ function setOption (key, value) { } else if (key === 'api.enabled' && !value) { stopApi(); } + + sendSetOption(key, value); } export { store, getOption, setOption }; diff --git a/package.json b/package.json index c08faa5bf1..062435c144 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,8 @@ "uuid": "^3.2.1", "webpack-cli": "^3.0.8", "youtube-playlist": "^1.0.2", - "ytdl-core": "^0.24.0" + "ytdl-core": "^0.24.0", + "mpris-service": "^2.0.0" }, "devDependencies": { "babel-core": "^6.26.0", diff --git a/server/main.dev.linux.js b/server/main.dev.linux.js index d46120bd3a..7148b4ba9c 100644 --- a/server/main.dev.linux.js +++ b/server/main.dev.linux.js @@ -7,10 +7,12 @@ const path = require('path'); const url = require('url'); const getOption = require('./store').getOption; const { runHttpServer, closeHttpServer } = require('./http/server'); +const mpris = require('./mpris'); +var Player; // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { - // Player = require('mpris-service'); + Player = require('mpris-service'); } let win; @@ -112,26 +114,88 @@ function createWindow() { // GNU/Linux-specific if (!platform.isDarwin && !platform.isWin32) { - // player = Player({ - // name: 'nuclear', - // identity: 'nuclear music player', - // supportedUriSchemes: ['file'], - // supportedMimeTypes: ['audio/mpeg', 'application/ogg'], - // supportedInterfaces: ['player'], - // desktopEntry: 'nuclear' - // }); - - // player.on('quit', function () { - // win = null; - // }); - - // player.on('next', mpris.onNext); - // player.on('previous', mpris.onPrevious); - // player.on('pause', mpris.onPause); - // player.on('playpause', mpris.onPlayPause); - // player.on('stop', mpris.onStop); - // player.on('play', mpris.onPlay); + let hashCode = function(str) { + str = str.toString(); + let hash = 0; + if (str.length == 0) { + return hash; + } + for (var i = 0; i < str.length; i++) { + var char = str.charCodeAt(i); + hash = ((hash<<5)-hash)+char; + hash = hash & hash; // Convert to 32bit integer + } + return hash; + } + + let secToUs = function(sec) { + return Math.floor(Number(sec) * 1e6); + } + + let positionSec = 0.0; + + let player = Player({ + name: 'nuclear', + identity: 'nuclear music player', + supportedUriSchemes: ['file'], + supportedMimeTypes: ['audio/mpeg', 'application/ogg'], + supportedInterfaces: ['player'], + desktopEntry: 'nuclear' + }); + + if (getOption('loopAfterQueueEnd')) { + player.loopStatus = 'Track'; + } else { + player.loopStatus = 'None'; + } + + player.shuffle = getOption('shuffleQueue'); + + player.volume = 1.0; + + player.getPosition = function() { + return secToUs(positionSec); + }; + + player.on('quit', function () { + win = null; + }); + + player.on('next', mpris.onNext); + player.on('previous', mpris.onPrevious); + player.on('pause', mpris.onPause); + player.on('playpause', mpris.onPlayPause); + player.on('stop', mpris.onStop); + player.on('play', mpris.onPlay); + player.on('volume', function(volume) { + mpris.onVolume(volume * 100); + }); + player.on('position', function(e) { + let {trackId, position} = e; + if (player.metadata && player.metadata['mpris:trackid'] === trackId) { + mpris.onSeek(position / 1e3); + } + }); + player.on('seek', function(seek) { + let seekTo = (positionSec * 1e3) + (seek / 1e3); + mpris.onSeek(seekTo); + }); + player.on('shuffle', function(shuffle) { + mpris.onSettings({shuffleQueue: shuffle}); + }); + player.on('loopStatus', function(status) { + if (status === 'None') { + mpris.onSettings({ loopAfterQueueEnd: false}); + } else if (status === 'Track') { + mpris.onSettings({loopAfterQueueEnd: true}); + } else { + // XXX 'Playlist' loop status is not supported, just do the closest + // thing. + mpris.onSettings({loopAfterQueueEnd: true}); + } + }); + let lastId = null; ipcMain.on('songChange', (event, arg) => { if (arg === null) { return; @@ -139,32 +203,70 @@ function createWindow() { changeWindowTitle(arg.artist, arg.name); - // player.metadata = { - // 'mpris:trackid': player.objectPath('track/0'), - // 'mpris:artUrl': arg.thumbnail, - // 'xesam:title': arg.name, - // 'xesam:artist': arg.artist - // }; - - // if (arg.streams && arg.streams.length > 0) { - // player.metadata['mpris:length'] = arg.streams[0].duration * 1000 * 1000; // In microseconds - // } - }); - - // ipcMain.on('play', (event, arg) => { - // player.playbackStatus = 'Playing'; - // }); - - // ipcMain.on('paused', (event, arg) => { - // player.playbackStatus = 'Paused'; - // }); - // } else { - // ipcMain.on('songChange', (event, arg) => { - // if (arg === null) { - // return; - // } - // changeWindowTitle(arg.artist, arg.name); - // }); + if (arg.streams && arg.streams.length > 0) { + let id = arg.streams[0].id; + if (id !== lastId) { + lastId = id; + let metadata = { + 'mpris:trackid': player.objectPath(`track/${Math.abs(hashCode(id))}`), + 'mpris:artUrl': arg.thumbnail || '', + 'xesam:title': arg.name || '', + 'xesam:artist': arg.artist || '' + }; + if (arg.streams[0].source === 'Youtube') { + metadata['mpris:length'] = secToUs(Number(arg.streams[0].duration)); + } else { + // XXX: Soundcloud is in ms, and I think this is reasonble, but I + // don't know what other duration formats to expect here. + metadata['mpris:length'] = Math.floor(Number(arg.streams[0].duration) * 1e3); + } + player.positionSec = 0; + player.metadata = metadata; + } + } + }); + + ipcMain.on('play', (event, arg) => { + player.playbackStatus = 'Playing'; + }); + + ipcMain.on('paused', (event, arg) => { + player.playbackStatus = 'Paused'; + }); + + ipcMain.on('volume', (event, volume) => { + player.volume = volume / 100; + }); + + ipcMain.on('playbackProgress', (event, progress) => { + positionSec = progress; + }); + + ipcMain.on('seek', (event, seek) => { + // this is in miliseconds + player.positionSec = seek / 1e3; + player.seeked(Math.floor(seek * 1e3)); + }); + + ipcMain.on('set-option', (event, kv) => { + let {key, value} = kv; + if (key === 'loopAfterQueueEnd') { + if (value) { + player.loopStatus = 'Track'; + } else { + player.loopStatus = 'None'; + } + } else if (key === 'shuffleQueue') { + player.shuffle = value; + } + }); + } else { + ipcMain.on('songChange', (event, arg) => { + if (arg === null) { + return; + } + changeWindowTitle(arg.artist, arg.name); + }); } } diff --git a/webpack.config.electron.js b/webpack.config.electron.js index 0cecb47f68..58e322d316 100644 --- a/webpack.config.electron.js +++ b/webpack.config.electron.js @@ -1,12 +1,18 @@ /* eslint-env node */ const webpack = require('webpack'); const HappyPack = require('happypack'); +const path = require('path'); module.exports = env => { const entry = env && env.LINUX ? './server/main.dev.linux.js' : './server/main.dev.js'; return { entry: entry, + resolve: { + alias: { + jsbi: path.resolve(__dirname, 'node_modules', 'jsbi', 'dist', 'jsbi-cjs.js') + } + }, output: { path: __dirname, filename: 'bundle.electron.js' From 452fe2fd04ff239388ec179f6dc7cd9ec02c7921 Mon Sep 17 00:00:00 2001 From: Tony Crisci Date: Fri, 22 Mar 2019 08:53:57 -0400 Subject: [PATCH 487/487] Exclude bindings and abstract-socket from bundle The abstract-socket dependency cannot be used in a bundle because it uses logic to find the bindings depending on a location in the filesystem within the node_modules directory --- webpack.config.dev.js | 4 ++++ webpack.config.electron.js | 4 ++++ webpack.config.electron.prod.js | 4 ++++ webpack.config.prod.js | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/webpack.config.dev.js b/webpack.config.dev.js index 228448c2a5..d6d82c1ea5 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -8,6 +8,10 @@ const APP_DIR = path.resolve(__dirname, 'app'); const RESOURCES_DIR = path.resolve(__dirname, 'resources'); const config = { + externals: { + bindings: 'require("bindings")', + 'abstract-socket': 'require("abstract-socket")' + }, entry: [ 'react-hot-loader/patch', 'webpack-dev-server/client?http://localhost:8080', diff --git a/webpack.config.electron.js b/webpack.config.electron.js index 58e322d316..239ebf1ac8 100644 --- a/webpack.config.electron.js +++ b/webpack.config.electron.js @@ -7,6 +7,10 @@ module.exports = env => { const entry = env && env.LINUX ? './server/main.dev.linux.js' : './server/main.dev.js'; return { + externals: { + bindings: 'require("bindings")', + 'abstract-socket': 'require("abstract-socket")' + }, entry: entry, resolve: { alias: { diff --git a/webpack.config.electron.prod.js b/webpack.config.electron.prod.js index ddbbcd5c30..d51ed22164 100644 --- a/webpack.config.electron.prod.js +++ b/webpack.config.electron.prod.js @@ -5,6 +5,10 @@ module.exports = env => { let entry = env && env.LINUX ? './server/main.prod.linux.js' : './server/main.prod.js'; return { + externals: { + bindings: 'require("bindings")', + 'abstract-socket': 'require("abstract-socket")' + }, entry: entry, output: { path: __dirname, diff --git a/webpack.config.prod.js b/webpack.config.prod.js index aa6361221e..e1bf6afce3 100644 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -8,6 +8,10 @@ const APP_DIR = path.resolve(__dirname, 'app'); const RESOURCES_DIR = path.resolve(__dirname, 'resources'); const config = { + externals: { + bindings: 'require("bindings")', + 'abstract-socket': 'require("abstract-socket")' + }, entry: path.resolve(APP_DIR, 'index.js'), output: { path: BUILD_DIR,