├── .gitignore ├── README.md ├── lerna.json ├── netlify.toml ├── package.json ├── packages ├── base │ ├── package.json │ ├── src │ │ ├── App │ │ │ ├── FallbackDiscovery.js │ │ │ ├── Header.css │ │ │ ├── Header.js │ │ │ ├── Page404.js │ │ │ ├── PageHome.js │ │ │ ├── Routes.js │ │ │ ├── index.css │ │ │ ├── index.js │ │ │ └── initialRoutes.js │ │ ├── Bridge │ │ │ ├── Bridge.js │ │ │ ├── Channel.js │ │ │ ├── Registry.js │ │ │ └── index.js │ │ ├── index.js │ │ ├── initReduxStore.js │ │ └── initRegistry.js │ ├── webpack.config.js │ └── yarn.lock ├── build │ ├── AssetManifestPlugin │ │ └── index.js │ ├── BridgeAliasPlugin │ │ ├── aliases │ │ │ ├── @micro-fe │ │ │ │ └── Bridge.js │ │ │ ├── react-redux.js │ │ │ ├── react-router-dom.js │ │ │ ├── react-router.js │ │ │ └── react.js │ │ └── index.js │ └── package.json ├── food │ ├── data │ │ ├── 1.json │ │ ├── 2.json │ │ ├── 3.json │ │ ├── 4.json │ │ ├── 5.json │ │ ├── 6.json │ │ └── 7.json │ ├── package.json │ ├── src │ │ ├── FoodDetail.js │ │ ├── index.js │ │ └── reducer.js │ ├── webpack.config.js │ └── yarn.lock └── foods │ ├── data │ └── foods.json │ ├── package.json │ ├── src │ ├── FoodList.js │ ├── index.js │ └── reducer.js │ ├── webpack.config.js │ └── yarn.lock ├── scripts ├── post-build.js └── start-dev-server.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | *.log -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # micro-frontend 2 | 3 | Yes, this is [yet another proof of concept for micro frontend architecture](https://github.com/tanhauhau/micro-frontend). 4 | 5 | Please [check out the code](https://github.com/tanhauhau/micro-frontend) and try to play with it locally. 6 | 7 | ## What is this different? 8 | 9 | - **No centralised routing definition** 10 | 11 | Once the main SPA is deployed, new routes can be added to the SPA without redeploying the main SPA. 12 | 13 | - **A central registry** 14 | 15 | Individual micro frontend does not need to bundle in common dependencies like `react`, `react-router`, eg. Furthermore, they **shouldn't be** bundled into the micro frontend as multiple instance of `react` or `react-router` may cause some bugs. 16 | 17 | - **A shared global state** 18 | 19 | In this demo, I am using [redux](https://redux.js.org) for state management. 20 | 21 | Each micro-frontend is connected to the same global store, so data is easily shared across the application. 22 | 23 | ## The Bridge 24 | 25 | The center piece of this micro frontend architecture is [the Bridge](https://github.com/tanhauhau/micro-frontend/blob/master/packages/base/src/Bridge/index.js). 26 | 27 | It contains 2 types of communication method: 28 | - message passing 29 | - shared memory 30 | 31 | **Message passing** is done via a pub sub mechanism called [the Channel](https://github.com/tanhauhau/micro-frontend/blob/master/packages/base/src/Bridge/Channel.js), whereas **shared memory** is done via [the Registry](https://github.com/tanhauhau/micro-frontend/blob/master/packages/base/src/Bridge/Registry.js). 32 | 33 | I attach the Bridge to the window, so each micro frontend can connect to the bridge. 34 | 35 | ## The routing mechanism 36 | 37 | In the PoC, I used [react-router](https://reacttraining.com/react-router/web) as the routing library. The [route definition](https://github.com/tanhauhau/micro-frontend/blob/master/packages/base/src/App/Routes.js#L17) is dynamic, as it listens `"registerRoute"` event through _the Bridge_, and add it to the route definition. 38 | 39 | One thing to note is that, I use ``, which will render the first `` that matches the url. 40 | 41 | The magic happens in the last route, which will be rendered when none of the routes in the route definition matches. 42 | 43 | The last route renders the [Fallback Discovery](https://github.com/tanhauhau/micro-frontend/blob/master/packages/base/src/App/FallbackDiscovery.js) component, which will based on the current location and some pre-defined rules, tries to find the micro frontend manifest for the unknown route. 44 | 45 | If the micro frontend manifest does not exist, it will render a 404 page. However, if the manifest exists, it will fetch the manifest file. 46 | 47 | The micro frontend manifest file is nothing but a json file that contains the [entry asset](https://github.com/tanhauhau/micro-frontend/blob/master/packages/base/src/App/FallbackDiscovery.js#L31) for the route micro frontend. 48 | 49 | Once the entry asset is loaded, the new micro frontend itself will register a new route to the route definition via `"registerRoute"` event, which has to be the route that matches the current URL. 50 | 51 | Whenever there's a new route added, the `react-router`'s `` component will re-render and it will match the newly added route, which renders our newly added micro-frontend. 52 | 53 | ## The global registry 54 | 55 | There's 2 main reasons why I am not bundling `react`, `react-redux`, and `react-router` into each micro frontends: 56 | 57 | - **Bundle size**, there's no reason to download duplicate copies of `react` or `react-redux`. 58 | 59 | - **No multiple instance**, both `react-redux` and `react-router` uses React Context to pass information down the React component tree. However, this way of data passing disallow multiple instances of the _Context_ object, as each instances has a different memory reference. 60 | 61 | So, the main SPA runtime bundles `react`, `react-redux`, etc and [set it into the `Bridge.Registry`.](https://github.com/tanhauhau/micro-frontend/blob/master/packages/base/src/initRegistry.js#L9). 62 | 63 | When each micro-frontend is built, the _import statement_ for these modules [will be transformed](https://github.com/tanhauhau/micro-frontend/blob/master/packages/food/webpack.config.js#L23) into the [some aliases](https://github.com/tanhauhau/micro-frontend/blob/master/packages/build/BridgeAliasPlugin/aliases/react.js), that reads the module from the `Bridge.Registry`. 64 | 65 | ## Shared Global State 66 | 67 | In the PoC, the micro frontends are [connected to the shared global store via `connect()` from `react-redux`](https://github.com/tanhauhau/micro-frontend/blob/master/packages/food/src/FoodDetail.js#L36) 68 | 69 | Interesting to note is that both [the food detail](https://github.com/tanhauhau/micro-frontend/blob/master/packages/food/src/FoodDetail.js#L13) and [the food list](https://github.com/tanhauhau/micro-frontend/blob/master/packages/foods/src/FoodList.js) register the same key for the reducer, but yet both of the works seamlessly. 70 | 71 | Note that when we transit from Food List page to Food Detail page, we already have the food detail information from the store, therefore there is no need to fetch the food detail anymore. 72 | 73 | # Trying it out locally 74 | 75 | Run `yarn start` in the root folder, which will [start a simple express server](https://github.com/tanhauhau/micro-frontend/blob/master/scripts/start-dev-server.js). The express server is used to serve static files based on specific rules. 76 | 77 | To build individual micro frontends, you need to go to each folder and run `yarn build`. Alternatively, you can start the watch mode via `yarn dev`. 78 | 79 | ## Developing the micro frontend individually 80 | 81 | WIP -------------------------------------------------------------------------------- /lerna.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "packages": ["packages/*"], 4 | "npmClient": "yarn" 5 | } 6 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | command = "yarn build" 3 | publish = "dist/" 4 | 5 | [[redirects]] 6 | from = "/*" 7 | to = "/base/index.html" 8 | status = 200 9 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "micro-frontend", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "author": "Tan Li Hau ", 6 | "license": "MIT", 7 | "private": true, 8 | "engines": { 9 | "node": ">=10.16.0" 10 | }, 11 | "scripts": { 12 | "postinstall": "lerna bootstrap", 13 | "start": "node scripts/start-dev-server.js", 14 | "build": "lerna bootstrap && lerna run build && node scripts/post-build.js" 15 | }, 16 | "dependencies": { 17 | "chalk": "^2.4.2", 18 | "express": "^4.17.1", 19 | "fs-extra": "^8.1.0" 20 | }, 21 | "devDependencies": { 22 | "lerna": "^3.15.0" 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /packages/base/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "author": "Tan Li Hau ", 6 | "license": "MIT", 7 | "private": true, 8 | "scripts": { 9 | "dev": "NODE_ENV=development webpack --watch", 10 | "build": "NODE_ENV=production webpack" 11 | }, 12 | "devDependencies": { 13 | "@babel/core": "^7.5.4", 14 | "@babel/preset-react": "^7.0.0", 15 | "babel-loader": "^8.0.6", 16 | "css-loader": "^3.0.0", 17 | "html-webpack-plugin": "^3.2.0", 18 | "style-loader": "^0.23.1", 19 | "webpack": "^4.35.3", 20 | "webpack-cli": "^3.3.5" 21 | }, 22 | "dependencies": { 23 | "react": "^16.8.6", 24 | "react-dom": "^16.8.6", 25 | "react-redux": "^7.1.0", 26 | "react-router": "^5.0.1", 27 | "react-router-dom": "^5.0.1", 28 | "redux": "^4.0.4", 29 | "redux-thunk": "^2.3.0" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /packages/base/src/App/FallbackDiscovery.js: -------------------------------------------------------------------------------- 1 | import React, { useState, useEffect } from 'react'; 2 | import Page404 from './Page404'; 3 | 4 | export default function FallbackDiscovery({ location }) { 5 | const [loading, setLoading] = useState(true); 6 | useEffect(() => { 7 | // find routes and register them 8 | discoverNewRoutes(location.pathname).catch(() => { 9 | setLoading(false); 10 | }); 11 | }, []); 12 | 13 | if (loading) { 14 | return 'Loading'; 15 | } 16 | return ; 17 | } 18 | 19 | const BASE_URL = __DISCOVERY_BASE_URL__; 20 | 21 | async function discoverNewRoutes(location) { 22 | const match = location.match(/^\/([^/]+)/); 23 | if (match) { 24 | const response = await window.fetch( 25 | BASE_URL + `${match[1]}/app.json` 26 | ); 27 | if (response.status !== 200) { 28 | throw new Error('Manifest not found for match[1]'); 29 | } 30 | 31 | const { css, js } = await response.json(); 32 | await injectStyles(css); 33 | await injectJS(js); 34 | } 35 | } 36 | 37 | function injectStyles(css) { 38 | for (const file of css) { 39 | const link = document.createElement('link'); 40 | link.type = 'text/css'; 41 | link.rel = 'stylesheet'; 42 | link.href = file; 43 | document.head.appendChild(link); 44 | } 45 | } 46 | 47 | function injectJS(js) { 48 | for (const file of js) { 49 | const script = document.createElement('script'); 50 | script.type = 'text/javascript'; 51 | script.src = file; 52 | document.body.appendChild(script); 53 | } 54 | } -------------------------------------------------------------------------------- /packages/base/src/App/Header.css: -------------------------------------------------------------------------------- 1 | :local(.header) { 2 | padding: 8px 16px; 3 | background: #eee; 4 | position: sticky; 5 | top: 0; 6 | } 7 | -------------------------------------------------------------------------------- /packages/base/src/App/Header.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Link } from 'react-router-dom'; 3 | import * as styles from './Header.css'; 4 | 5 | export default function Header() { 6 | return ( 7 |
8 | MicroFE 9 |
10 | ); 11 | } 12 | -------------------------------------------------------------------------------- /packages/base/src/App/Page404.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export default function Page404() { 4 | return ( 5 | <> 6 |

404.

7 |

Page Not Found

8 | 9 | ); 10 | } 11 | -------------------------------------------------------------------------------- /packages/base/src/App/PageHome.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Link } from 'react-router-dom'; 3 | export default function PageHome() { 4 | return ( 5 | <> 6 |

Home Page.

7 |

8 | Browse List of Foods 9 |

10 | 11 | ); 12 | } 13 | -------------------------------------------------------------------------------- /packages/base/src/App/Routes.js: -------------------------------------------------------------------------------- 1 | import React, { useMemo, useReducer, useEffect } from 'react'; 2 | import { Router as ReactRouter, Route, Switch } from 'react-router-dom'; 3 | import initialRoutes from './initialRoutes'; 4 | import { Bridge } from '../Bridge'; 5 | import FallbackDiscovery from './FallbackDiscovery'; 6 | 7 | export function Router({ children }) { 8 | const browserHistory = useMemo( 9 | () => Bridge.Registry.get('browserHistory'), 10 | // prettier-ignore 11 | [/* initialize once */] 12 | ); 13 | 14 | return {children}; 15 | } 16 | 17 | export default function Routes() { 18 | const routes = useRoute(); 19 | 20 | return ( 21 | 22 | {routes} 23 | 24 | 25 | ); 26 | } 27 | 28 | const routeReducer = (routes, newRoute) => { 29 | return routes.concat( 30 | React.cloneElement(newRoute, { key: 'async' + routes.length }) 31 | ); 32 | }; 33 | 34 | function useRoute() { 35 | const [routes, registerRoute] = useReducer(routeReducer, initialRoutes); 36 | useEffect(() => { 37 | // return unsubscribe function 38 | return Bridge.Channel.subscribe('registerRoute', newRoute => 39 | registerRoute(newRoute) 40 | ); 41 | }, []); 42 | 43 | return routes; 44 | } 45 | -------------------------------------------------------------------------------- /packages/base/src/App/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | padding: 0; 3 | margin: 0; 4 | } -------------------------------------------------------------------------------- /packages/base/src/App/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Provider } from 'react-redux'; 3 | 4 | import Header from './Header'; 5 | import Routes, { Router } from './Routes'; 6 | import './index.css'; 7 | 8 | export default function App({ store }) { 9 | return ( 10 | 11 | 12 |
13 | 14 | 15 | 16 | ); 17 | } 18 | -------------------------------------------------------------------------------- /packages/base/src/App/initialRoutes.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Route } from 'react-router-dom'; 3 | import PageHome from './PageHome'; 4 | 5 | // prettier-ignore 6 | export default [ 7 | 8 | ]; 9 | -------------------------------------------------------------------------------- /packages/base/src/Bridge/Bridge.js: -------------------------------------------------------------------------------- 1 | // The Bridge 2 | 3 | import * as Channel from './Channel'; 4 | import * as Registry from './Registry'; 5 | 6 | export default { 7 | Channel, 8 | Registry, 9 | }; 10 | -------------------------------------------------------------------------------- /packages/base/src/Bridge/Channel.js: -------------------------------------------------------------------------------- 1 | // Pub Sub Communication Channel 2 | 3 | const listeners /*: {[topic: string]: Function }*/ = {}; 4 | 5 | export function subscribe(topic /*: string */, subscriber /*: Function */) { 6 | (listeners[topic] = listeners[topic] || []).push(subscriber); 7 | 8 | return function() { 9 | const subscriberIndex = listeners[topic].findIndex(subscriber); 10 | if (subscriberIndex > -1) { 11 | listeners[topic].splice(subscriberIndex, 1); 12 | } 13 | }; 14 | } 15 | 16 | export function publish(topic /*: string */, message) { 17 | if (topic in listeners) { 18 | for (const listener of listeners[topic]) { 19 | listener(message); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/base/src/Bridge/Registry.js: -------------------------------------------------------------------------------- 1 | // Registry 2 | 3 | const registry = {}; 4 | 5 | export function register(key /*: string */, value) { 6 | registry[key] = value; 7 | } 8 | 9 | export function get(key /*: string */) { 10 | if (!(key in registry)) { 11 | throw new Error(`Entry for key='${key}' not found`); 12 | } 13 | return registry[key]; 14 | } 15 | -------------------------------------------------------------------------------- /packages/base/src/Bridge/index.js: -------------------------------------------------------------------------------- 1 | import Bridge from './Bridge'; 2 | 3 | export function initBridge() { 4 | if (!window.__BRIDGE__) { 5 | window.__BRIDGE__ = Bridge; 6 | } 7 | } 8 | 9 | export { Bridge }; 10 | -------------------------------------------------------------------------------- /packages/base/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import { initBridge } from './Bridge'; 4 | import initRegistry from './initRegistry'; 5 | import initReduxStore from './initReduxStore'; 6 | import App from './App'; 7 | 8 | initBridge(); 9 | initRegistry(); 10 | const store = initReduxStore(); 11 | 12 | const app = document.createElement('div'); 13 | document.body.append(app); 14 | ReactDOM.render(, app); 15 | -------------------------------------------------------------------------------- /packages/base/src/initReduxStore.js: -------------------------------------------------------------------------------- 1 | import { createStore, combineReducers, applyMiddleware, compose } from 'redux'; 2 | import ReduxThunk from 'redux-thunk'; 3 | import { Bridge } from './Bridge'; 4 | 5 | const reducers = { 6 | // NOTE: redux must have at least 1 reducer 7 | root: () => ({}), 8 | }; 9 | 10 | export default function initReduxStore() { 11 | const composeEnhancers = 12 | window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose; 13 | 14 | const store = createStore( 15 | getRootReducer(), 16 | composeEnhancers(applyMiddleware(ReduxThunk)) 17 | ); 18 | 19 | Bridge.Channel.subscribe('registerReducer', reducerMap => { 20 | mergingReducer(reducers, reducerMap); 21 | 22 | store.replaceReducer(getRootReducer()); 23 | }); 24 | 25 | return store; 26 | } 27 | 28 | function getRootReducer() { 29 | return combineReducers(reducers); 30 | } 31 | 32 | function mergingReducer(currentReducerMap, newReducerMap) { 33 | for (const newKey in newReducerMap) { 34 | if (newKey in currentReducerMap) { 35 | const currentReducer = currentReducerMap[newKey]; 36 | const newReducer = newReducerMap[newKey]; 37 | currentReducerMap[newKey] = (state, action) => 38 | newReducer(currentReducer(state, action), action); 39 | } else { 40 | currentReducerMap[newKey] = newReducerMap[newKey]; 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /packages/base/src/initRegistry.js: -------------------------------------------------------------------------------- 1 | import { Bridge } from './Bridge'; 2 | import { createBrowserHistory } from 'history'; 3 | 4 | import * as React from 'react'; 5 | import * as ReactRouter from 'react-router'; 6 | import * as ReactRouterDom from 'react-router-dom'; 7 | import * as ReactRedux from 'react-redux'; 8 | 9 | function initCommonModules() { 10 | Bridge.Registry.register('@module/react', React); 11 | Bridge.Registry.register('@module/react-router', ReactRouter); 12 | Bridge.Registry.register('@module/react-router-dom', ReactRouterDom); 13 | Bridge.Registry.register('@module/react-redux', ReactRedux); 14 | } 15 | 16 | function initHistory() { 17 | const history = createBrowserHistory(); 18 | Bridge.Registry.register('browserHistory', history); 19 | } 20 | 21 | export default function() { 22 | initCommonModules(); 23 | initHistory(); 24 | } 25 | -------------------------------------------------------------------------------- /packages/base/webpack.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | const HtmlWebpackPlugin = require('html-webpack-plugin'); 3 | 4 | const isProduction = process.env.NODE_ENV === 'production'; 5 | 6 | module.exports = { 7 | mode: process.env.NODE_ENV, 8 | output: { 9 | filename: 'bundle.js', 10 | publicPath: isProduction ? '/base/' : '/cdn/base/', 11 | }, 12 | module: { 13 | rules: [ 14 | { 15 | test: /\.js$/, 16 | exclude: /node_modules/, 17 | use: [ 18 | { 19 | loader: 'babel-loader', 20 | options: { 21 | presets: ['@babel/preset-react'], 22 | }, 23 | }, 24 | ], 25 | }, 26 | { 27 | test: /\.css$/, 28 | use: [ 29 | 'style-loader', 30 | { 31 | loader: 'css-loader', 32 | options: { 33 | modules: true, 34 | }, 35 | }, 36 | ], 37 | }, 38 | ], 39 | }, 40 | plugins: [ 41 | new webpack.DefinePlugin({ 42 | __DISCOVERY_BASE_URL__: isProduction ? '"/"' : '"/cdn/"', 43 | }), 44 | new HtmlWebpackPlugin(), 45 | ], 46 | optimization: { 47 | minimize: false, 48 | }, 49 | }; 50 | -------------------------------------------------------------------------------- /packages/build/AssetManifestPlugin/index.js: -------------------------------------------------------------------------------- 1 | module.exports = class PostBuildPlugin { 2 | constructor(options = {}) { 3 | this.filename = options.filename || 'app.json'; 4 | this.mappings = { 5 | js: /\.js$/, 6 | css: /\.css$/, 7 | }; 8 | } 9 | apply(compiler) { 10 | compiler.hooks.emit.tapAsync('PostBuildPlugin', (compilation, callback) => { 11 | const publicPath = compilation.mainTemplate.getPublicPath({ 12 | hash: compilation.hash, 13 | }); 14 | const result = {}; 15 | 16 | const mainEntryPoint = compilation.entrypoints.get('main'); 17 | const assets = mainEntryPoint.chunks 18 | .reduce((array, chunk) => array.concat(chunk.files || []), []) 19 | .map(asset => publicPath + asset); 20 | 21 | Object.keys(this.mappings).forEach(mapping => { 22 | const regex = this.mappings[mapping]; 23 | result[mapping] = assets.filter(asset => regex.test(asset)); 24 | }); 25 | 26 | const content = JSON.stringify(result); 27 | compilation.assets[this.filename] = { 28 | source: () => content, 29 | size: () => content.length, 30 | }; 31 | callback(); 32 | }); 33 | } 34 | }; 35 | -------------------------------------------------------------------------------- /packages/build/BridgeAliasPlugin/aliases/@micro-fe/Bridge.js: -------------------------------------------------------------------------------- 1 | module.exports = window.__BRIDGE__; 2 | -------------------------------------------------------------------------------- /packages/build/BridgeAliasPlugin/aliases/react-redux.js: -------------------------------------------------------------------------------- 1 | const ReactRedux = window.__BRIDGE__.Registry.get('@module/react-redux'); 2 | module.exports = ReactRedux; 3 | -------------------------------------------------------------------------------- /packages/build/BridgeAliasPlugin/aliases/react-router-dom.js: -------------------------------------------------------------------------------- 1 | const ReactRouterDom = window.__BRIDGE__.Registry.get('@module/react-router-dom'); 2 | module.exports = ReactRouterDom; 3 | -------------------------------------------------------------------------------- /packages/build/BridgeAliasPlugin/aliases/react-router.js: -------------------------------------------------------------------------------- 1 | const ReactRouter = window.__BRIDGE__.Registry.get('@module/react-router'); 2 | module.exports = ReactRouter; 3 | -------------------------------------------------------------------------------- /packages/build/BridgeAliasPlugin/aliases/react.js: -------------------------------------------------------------------------------- 1 | const React = window.__BRIDGE__.Registry.get('@module/react'); 2 | module.exports = React; 3 | -------------------------------------------------------------------------------- /packages/build/BridgeAliasPlugin/index.js: -------------------------------------------------------------------------------- 1 | const aliasMap = { 2 | react: require.resolve('./aliases/react'), 3 | 'react-router': require.resolve('./aliases/react-router'), 4 | 'react-router-dom': require.resolve('./aliases/react-router-dom'), 5 | 'react-redux': require.resolve('./aliases/react-redux'), 6 | '@micro-fe/Bridge': require.resolve('./aliases/@micro-fe/Bridge'), 7 | }; 8 | 9 | module.exports = function({ types: t }) { 10 | return { 11 | visitor: { 12 | ImportDeclaration(path) { 13 | const importedPath = path.node.source.value; 14 | if (importedPath in aliasMap) { 15 | path 16 | .get('source') 17 | .replaceWith(t.stringLiteral(aliasMap[importedPath])); 18 | } 19 | }, 20 | }, 21 | }; 22 | }; 23 | -------------------------------------------------------------------------------- /packages/build/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@micro-fe/build", 3 | "version": "1.0.0", 4 | "main": "index.js", 5 | "author": "Tan Li Hau ", 6 | "license": "MIT", 7 | "private": true, 8 | "dependencies": {} 9 | } 10 | -------------------------------------------------------------------------------- /packages/food/data/1.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1, 3 | "name": "Bak Kut Teh", 4 | "description": "Bak Kut Teh has been around in Singapore since we were still a developing country and deserves its recognition as a simple, humble dish. Most of the Bak Kut Teh here are of the pepper variety with mild use of herbs like star anise.\nChoose pork rib meat in your soup for a more tender bite. The other variant would be the Klang Bak Kut Teh, a dark and highly flavoured herbal soup originating from Malaysia." 5 | } 6 | -------------------------------------------------------------------------------- /packages/food/data/2.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 2, 3 | "name": "Wanton Mee", 4 | "description": "This Singapore wanton noodle dish was probably influenced by Hong Kong cuisine, but has become entrenched in our culture over the years. The Singapore version is typically eaten ‘dry’, drenched with some light sweet sauce, slices of pork char siew and wanton dumplings filled with pork, with a small bowl of soup on the side." 5 | } 6 | -------------------------------------------------------------------------------- /packages/food/data/3.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 3, 3 | "name": "Fried Carrot Cake", 4 | "description": "This is a Teochew dish popular in both Singapore and Malaysia. Variants include the ‘black’ version, which has sweet sauce (molasses) added, or a crispy version with the cake fried on top of a beaten egg to create a crust and chunks of cake. Most commonly seen in Singapore though is the chopped up version with individual radish cake cubes." 5 | } 6 | -------------------------------------------------------------------------------- /packages/food/data/4.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 4, 3 | "name": "Kaya Toast & Soft-Boiled Eggs", 4 | "description": "The one and only traditional Singaporean breakfast – Kaya Toast with Soft-Boiled Eggs. The traditional bread is an old school rectangular white loaf, toasted on a bread grill, lathered with coconut or egg kaya, then slapped with a thick slice of SCS butter that slowly melts within two slices of warm bread.\nFor the eggs, they’re usually placed in a large hot water metal pot and covered with a plate. Then you time it and take out the eggs when they’re ready (about 7 – 10 minutes depending on how well you like your eggs)." 5 | } 6 | -------------------------------------------------------------------------------- /packages/food/data/5.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 5, 3 | "name": "Crabs (Chilli Or Pepper)", 4 | "description": "The two most famous styles of cooking crabs in Singapore are with a sweet, spicy tomato-ish chilli sauce, or with black pepper sauce. Chilli crabs are usually eaten along with fried mantous (buns), which are dipped in the luscious chilli sauce." 5 | } 6 | -------------------------------------------------------------------------------- /packages/food/data/6.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 6, 3 | "name": "Laksa", 4 | "description": "Laksa is a dish created from the merging of Chinese and Malay cuisine, otherwise known as Peranakan culture. There are two main types of Laksa – Curry Laksa and Asam Laksa.\nCurry Laksa is more predominant in Singapore, while Asam Laksa is more commonly found in Malaysian regions like Penang. In fact there are loads of variants of Laksa, differing in the type of fish used, broth and even noodles." 5 | } 6 | -------------------------------------------------------------------------------- /packages/food/data/7.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 7, 3 | "name": "Curry Fish Head", 4 | "description": "Either half a head or the whole head of a red snapper is stewed in curry with assorted vegetables like lady’s finger (okra) and brinjal (aubergine). The Indian-style of curry has heavier spices and flavours, while the Chinese-style is lighter and sweeter. Variants include the Assam-style fish head curry, which has an added tinge of sourness from tamarind fruit (assam)." 5 | } 6 | -------------------------------------------------------------------------------- /packages/food/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "food", 3 | "version": "1.0.0", 4 | "author": "Tan Li Hau ", 5 | "license": "MIT", 6 | "scripts": { 7 | "dev": "NODE_ENV=development webpack --watch", 8 | "build": "NODE_ENV=production webpack" 9 | }, 10 | "devDependencies": { 11 | "@babel/core": "^7.5.4", 12 | "@babel/preset-react": "^7.0.0", 13 | "@micro-fe/build": "1.0.0", 14 | "babel-loader": "^8.0.6", 15 | "copy-webpack-plugin": "^5.0.3", 16 | "css-loader": "^3.0.0", 17 | "react": "^16.8.6", 18 | "react-dom": "^16.8.6", 19 | "react-redux": "^7.1.0", 20 | "react-router": "^5.0.1", 21 | "react-router-dom": "^5.0.1", 22 | "redux": "^4.0.4", 23 | "style-loader": "^0.23.1", 24 | "webpack": "^4.35.3", 25 | "webpack-cli": "^3.3.5" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /packages/food/src/FoodDetail.js: -------------------------------------------------------------------------------- 1 | import React, { useEffect } from 'react'; 2 | import { connect } from 'react-redux'; 3 | import { Link } from 'react-router-dom'; 4 | import foodDetailReducer from './reducer'; 5 | 6 | import Bridge from '@micro-fe/Bridge'; 7 | 8 | const reducerMap = { 9 | foods: foodDetailReducer, 10 | }; 11 | 12 | // inject async reducer 13 | Bridge.Channel.publish('registerReducer', reducerMap); 14 | 15 | function FoodDetail({ match, history, food, fetchFoodDetail }) { 16 | const { id } = match.params; 17 | useEffect(() => { 18 | if (!food) { 19 | fetchFoodDetail(id); 20 | } 21 | }, [id, food]); 22 | 23 | return ( 24 | <> 25 | Food List 26 | {food && ( 27 | <> 28 |

{food.name}

29 |

{food.description}

30 | 31 | )} 32 | 33 | ); 34 | } 35 | 36 | export default connect( 37 | ( 38 | state, 39 | { 40 | match: { 41 | params: { id }, 42 | }, 43 | } 44 | ) => ({ 45 | food: state.foods.foodMap[id], 46 | }), 47 | { 48 | fetchFoodDetail(id) { 49 | return async dispatch => { 50 | const response = await window.fetch(__BASE_URL__ + `/data/${id}.json`); 51 | const food = await response.json(); 52 | 53 | dispatch({ type: 'FETCH_FOOD_SUCCESS', data: { food } }); 54 | }; 55 | }, 56 | } 57 | )(FoodDetail); 58 | -------------------------------------------------------------------------------- /packages/food/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Route } from 'react-router-dom'; 3 | import FoodDetail from './FoodDetail'; 4 | 5 | window.__BRIDGE__.Channel.publish( 6 | 'registerRoute', 7 | 8 | ); 9 | -------------------------------------------------------------------------------- /packages/food/src/reducer.js: -------------------------------------------------------------------------------- 1 | const INITIAL_STATE = { 2 | foods: [], 3 | foodMap: {}, 4 | }; 5 | export default function(state = INITIAL_STATE, action) { 6 | switch (action.type) { 7 | case 'FETCH_FOOD_SUCCESS': { 8 | const { food } = action.data; 9 | const foodIndex = state.foods.findIndex(_food => _food.id === food.id); 10 | return { 11 | ...state, 12 | foods: foodIndex > -1 ? state.foods : [...state.foods, food], 13 | foodMap: { 14 | ...state.foodMap, 15 | [food.id]: food, 16 | }, 17 | }; 18 | } 19 | default: 20 | return state; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /packages/food/webpack.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | const CopyPlugin = require('copy-webpack-plugin'); 3 | const AssetManifestPlugin = require('@micro-fe/build/AssetManifestPlugin'); 4 | 5 | const isProduction = process.env.NODE_ENV === 'production'; 6 | 7 | module.exports = { 8 | mode: process.env.NODE_ENV, 9 | output: { 10 | filename: 'bundle.js', 11 | publicPath: isProduction ? '/food/' : '/cdn/food/', 12 | }, 13 | module: { 14 | rules: [ 15 | { 16 | test: /\.js$/, 17 | exclude: /node_modules/, 18 | use: [ 19 | { 20 | loader: 'babel-loader', 21 | options: { 22 | presets: ['@babel/preset-react'], 23 | plugins: [require.resolve('@micro-fe/build/BridgeAliasPlugin')], 24 | }, 25 | }, 26 | ], 27 | }, 28 | { 29 | test: /\.css$/, 30 | use: [ 31 | 'style-loader', 32 | { 33 | loader: 'css-loader', 34 | options: { 35 | modules: true, 36 | }, 37 | }, 38 | ], 39 | }, 40 | ], 41 | }, 42 | plugins: [ 43 | new CopyPlugin([ 44 | { 45 | from: 'data/*.json', 46 | }, 47 | ]), 48 | new webpack.DefinePlugin({ 49 | __BASE_URL__: isProduction ? '"/food/"' : '"/cdn/food/"', 50 | }), 51 | new AssetManifestPlugin(), 52 | ], 53 | optimization: { 54 | minimize: false, 55 | }, 56 | }; 57 | -------------------------------------------------------------------------------- /packages/food/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.0.0" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" 8 | integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== 9 | dependencies: 10 | "@babel/highlight" "^7.0.0" 11 | 12 | "@babel/core@^7.5.4": 13 | version "7.5.4" 14 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.4.tgz#4c32df7ad5a58e9ea27ad025c11276324e0b4ddd" 15 | integrity sha512-+DaeBEpYq6b2+ZmHx3tHspC+ZRflrvLqwfv8E3hNr5LVQoyBnL8RPKSBCg+rK2W2My9PWlujBiqd0ZPsR9Q6zQ== 16 | dependencies: 17 | "@babel/code-frame" "^7.0.0" 18 | "@babel/generator" "^7.5.0" 19 | "@babel/helpers" "^7.5.4" 20 | "@babel/parser" "^7.5.0" 21 | "@babel/template" "^7.4.4" 22 | "@babel/traverse" "^7.5.0" 23 | "@babel/types" "^7.5.0" 24 | convert-source-map "^1.1.0" 25 | debug "^4.1.0" 26 | json5 "^2.1.0" 27 | lodash "^4.17.11" 28 | resolve "^1.3.2" 29 | semver "^5.4.1" 30 | source-map "^0.5.0" 31 | 32 | "@babel/generator@^7.5.0": 33 | version "7.5.0" 34 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.0.tgz#f20e4b7a91750ee8b63656073d843d2a736dca4a" 35 | integrity sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA== 36 | dependencies: 37 | "@babel/types" "^7.5.0" 38 | jsesc "^2.5.1" 39 | lodash "^4.17.11" 40 | source-map "^0.5.0" 41 | trim-right "^1.0.1" 42 | 43 | "@babel/helper-builder-react-jsx@^7.3.0": 44 | version "7.3.0" 45 | resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" 46 | integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== 47 | dependencies: 48 | "@babel/types" "^7.3.0" 49 | esutils "^2.0.0" 50 | 51 | "@babel/helper-function-name@^7.1.0": 52 | version "7.1.0" 53 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" 54 | integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== 55 | dependencies: 56 | "@babel/helper-get-function-arity" "^7.0.0" 57 | "@babel/template" "^7.1.0" 58 | "@babel/types" "^7.0.0" 59 | 60 | "@babel/helper-get-function-arity@^7.0.0": 61 | version "7.0.0" 62 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" 63 | integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== 64 | dependencies: 65 | "@babel/types" "^7.0.0" 66 | 67 | "@babel/helper-plugin-utils@^7.0.0": 68 | version "7.0.0" 69 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" 70 | integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== 71 | 72 | "@babel/helper-split-export-declaration@^7.4.4": 73 | version "7.4.4" 74 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" 75 | integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== 76 | dependencies: 77 | "@babel/types" "^7.4.4" 78 | 79 | "@babel/helpers@^7.5.4": 80 | version "7.5.4" 81 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.4.tgz#2f00608aa10d460bde0ccf665d6dcf8477357cf0" 82 | integrity sha512-6LJ6xwUEJP51w0sIgKyfvFMJvIb9mWAfohJp0+m6eHJigkFdcH8duZ1sfhn0ltJRzwUIT/yqqhdSfRpCpL7oow== 83 | dependencies: 84 | "@babel/template" "^7.4.4" 85 | "@babel/traverse" "^7.5.0" 86 | "@babel/types" "^7.5.0" 87 | 88 | "@babel/highlight@^7.0.0": 89 | version "7.5.0" 90 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" 91 | integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== 92 | dependencies: 93 | chalk "^2.0.0" 94 | esutils "^2.0.2" 95 | js-tokens "^4.0.0" 96 | 97 | "@babel/parser@^7.4.4", "@babel/parser@^7.5.0": 98 | version "7.5.0" 99 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.0.tgz#3e0713dff89ad6ae37faec3b29dcfc5c979770b7" 100 | integrity sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA== 101 | 102 | "@babel/plugin-syntax-jsx@^7.2.0": 103 | version "7.2.0" 104 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" 105 | integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== 106 | dependencies: 107 | "@babel/helper-plugin-utils" "^7.0.0" 108 | 109 | "@babel/plugin-transform-react-display-name@^7.0.0": 110 | version "7.2.0" 111 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" 112 | integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== 113 | dependencies: 114 | "@babel/helper-plugin-utils" "^7.0.0" 115 | 116 | "@babel/plugin-transform-react-jsx-self@^7.0.0": 117 | version "7.2.0" 118 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" 119 | integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== 120 | dependencies: 121 | "@babel/helper-plugin-utils" "^7.0.0" 122 | "@babel/plugin-syntax-jsx" "^7.2.0" 123 | 124 | "@babel/plugin-transform-react-jsx-source@^7.0.0": 125 | version "7.5.0" 126 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" 127 | integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== 128 | dependencies: 129 | "@babel/helper-plugin-utils" "^7.0.0" 130 | "@babel/plugin-syntax-jsx" "^7.2.0" 131 | 132 | "@babel/plugin-transform-react-jsx@^7.0.0": 133 | version "7.3.0" 134 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" 135 | integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== 136 | dependencies: 137 | "@babel/helper-builder-react-jsx" "^7.3.0" 138 | "@babel/helper-plugin-utils" "^7.0.0" 139 | "@babel/plugin-syntax-jsx" "^7.2.0" 140 | 141 | "@babel/preset-react@^7.0.0": 142 | version "7.0.0" 143 | resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" 144 | integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== 145 | dependencies: 146 | "@babel/helper-plugin-utils" "^7.0.0" 147 | "@babel/plugin-transform-react-display-name" "^7.0.0" 148 | "@babel/plugin-transform-react-jsx" "^7.0.0" 149 | "@babel/plugin-transform-react-jsx-self" "^7.0.0" 150 | "@babel/plugin-transform-react-jsx-source" "^7.0.0" 151 | 152 | "@babel/runtime@^7.1.2", "@babel/runtime@^7.4.0", "@babel/runtime@^7.4.5": 153 | version "7.5.4" 154 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.4.tgz#cb7d1ad7c6d65676e66b47186577930465b5271b" 155 | integrity sha512-Na84uwyImZZc3FKf4aUF1tysApzwf3p2yuFBIyBfbzT5glzKTdvYI4KVW4kcgjrzoGUjC7w3YyCHcJKaRxsr2Q== 156 | dependencies: 157 | regenerator-runtime "^0.13.2" 158 | 159 | "@babel/template@^7.1.0", "@babel/template@^7.4.4": 160 | version "7.4.4" 161 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" 162 | integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== 163 | dependencies: 164 | "@babel/code-frame" "^7.0.0" 165 | "@babel/parser" "^7.4.4" 166 | "@babel/types" "^7.4.4" 167 | 168 | "@babel/traverse@^7.5.0": 169 | version "7.5.0" 170 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.0.tgz#4216d6586854ef5c3c4592dab56ec7eb78485485" 171 | integrity sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg== 172 | dependencies: 173 | "@babel/code-frame" "^7.0.0" 174 | "@babel/generator" "^7.5.0" 175 | "@babel/helper-function-name" "^7.1.0" 176 | "@babel/helper-split-export-declaration" "^7.4.4" 177 | "@babel/parser" "^7.5.0" 178 | "@babel/types" "^7.5.0" 179 | debug "^4.1.0" 180 | globals "^11.1.0" 181 | lodash "^4.17.11" 182 | 183 | "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.5.0": 184 | version "7.5.0" 185 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.0.tgz#e47d43840c2e7f9105bc4d3a2c371b4d0c7832ab" 186 | integrity sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ== 187 | dependencies: 188 | esutils "^2.0.2" 189 | lodash "^4.17.11" 190 | to-fast-properties "^2.0.0" 191 | 192 | "@webassemblyjs/ast@1.8.5": 193 | version "1.8.5" 194 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" 195 | integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== 196 | dependencies: 197 | "@webassemblyjs/helper-module-context" "1.8.5" 198 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 199 | "@webassemblyjs/wast-parser" "1.8.5" 200 | 201 | "@webassemblyjs/floating-point-hex-parser@1.8.5": 202 | version "1.8.5" 203 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" 204 | integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== 205 | 206 | "@webassemblyjs/helper-api-error@1.8.5": 207 | version "1.8.5" 208 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" 209 | integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== 210 | 211 | "@webassemblyjs/helper-buffer@1.8.5": 212 | version "1.8.5" 213 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" 214 | integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== 215 | 216 | "@webassemblyjs/helper-code-frame@1.8.5": 217 | version "1.8.5" 218 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" 219 | integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== 220 | dependencies: 221 | "@webassemblyjs/wast-printer" "1.8.5" 222 | 223 | "@webassemblyjs/helper-fsm@1.8.5": 224 | version "1.8.5" 225 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" 226 | integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== 227 | 228 | "@webassemblyjs/helper-module-context@1.8.5": 229 | version "1.8.5" 230 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" 231 | integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== 232 | dependencies: 233 | "@webassemblyjs/ast" "1.8.5" 234 | mamacro "^0.0.3" 235 | 236 | "@webassemblyjs/helper-wasm-bytecode@1.8.5": 237 | version "1.8.5" 238 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" 239 | integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== 240 | 241 | "@webassemblyjs/helper-wasm-section@1.8.5": 242 | version "1.8.5" 243 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" 244 | integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== 245 | dependencies: 246 | "@webassemblyjs/ast" "1.8.5" 247 | "@webassemblyjs/helper-buffer" "1.8.5" 248 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 249 | "@webassemblyjs/wasm-gen" "1.8.5" 250 | 251 | "@webassemblyjs/ieee754@1.8.5": 252 | version "1.8.5" 253 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" 254 | integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== 255 | dependencies: 256 | "@xtuc/ieee754" "^1.2.0" 257 | 258 | "@webassemblyjs/leb128@1.8.5": 259 | version "1.8.5" 260 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" 261 | integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== 262 | dependencies: 263 | "@xtuc/long" "4.2.2" 264 | 265 | "@webassemblyjs/utf8@1.8.5": 266 | version "1.8.5" 267 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" 268 | integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== 269 | 270 | "@webassemblyjs/wasm-edit@1.8.5": 271 | version "1.8.5" 272 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" 273 | integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== 274 | dependencies: 275 | "@webassemblyjs/ast" "1.8.5" 276 | "@webassemblyjs/helper-buffer" "1.8.5" 277 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 278 | "@webassemblyjs/helper-wasm-section" "1.8.5" 279 | "@webassemblyjs/wasm-gen" "1.8.5" 280 | "@webassemblyjs/wasm-opt" "1.8.5" 281 | "@webassemblyjs/wasm-parser" "1.8.5" 282 | "@webassemblyjs/wast-printer" "1.8.5" 283 | 284 | "@webassemblyjs/wasm-gen@1.8.5": 285 | version "1.8.5" 286 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" 287 | integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== 288 | dependencies: 289 | "@webassemblyjs/ast" "1.8.5" 290 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 291 | "@webassemblyjs/ieee754" "1.8.5" 292 | "@webassemblyjs/leb128" "1.8.5" 293 | "@webassemblyjs/utf8" "1.8.5" 294 | 295 | "@webassemblyjs/wasm-opt@1.8.5": 296 | version "1.8.5" 297 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" 298 | integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== 299 | dependencies: 300 | "@webassemblyjs/ast" "1.8.5" 301 | "@webassemblyjs/helper-buffer" "1.8.5" 302 | "@webassemblyjs/wasm-gen" "1.8.5" 303 | "@webassemblyjs/wasm-parser" "1.8.5" 304 | 305 | "@webassemblyjs/wasm-parser@1.8.5": 306 | version "1.8.5" 307 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" 308 | integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== 309 | dependencies: 310 | "@webassemblyjs/ast" "1.8.5" 311 | "@webassemblyjs/helper-api-error" "1.8.5" 312 | "@webassemblyjs/helper-wasm-bytecode" "1.8.5" 313 | "@webassemblyjs/ieee754" "1.8.5" 314 | "@webassemblyjs/leb128" "1.8.5" 315 | "@webassemblyjs/utf8" "1.8.5" 316 | 317 | "@webassemblyjs/wast-parser@1.8.5": 318 | version "1.8.5" 319 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" 320 | integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== 321 | dependencies: 322 | "@webassemblyjs/ast" "1.8.5" 323 | "@webassemblyjs/floating-point-hex-parser" "1.8.5" 324 | "@webassemblyjs/helper-api-error" "1.8.5" 325 | "@webassemblyjs/helper-code-frame" "1.8.5" 326 | "@webassemblyjs/helper-fsm" "1.8.5" 327 | "@xtuc/long" "4.2.2" 328 | 329 | "@webassemblyjs/wast-printer@1.8.5": 330 | version "1.8.5" 331 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" 332 | integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== 333 | dependencies: 334 | "@webassemblyjs/ast" "1.8.5" 335 | "@webassemblyjs/wast-parser" "1.8.5" 336 | "@xtuc/long" "4.2.2" 337 | 338 | "@xtuc/ieee754@^1.2.0": 339 | version "1.2.0" 340 | resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" 341 | integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== 342 | 343 | "@xtuc/long@4.2.2": 344 | version "4.2.2" 345 | resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" 346 | integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== 347 | 348 | abbrev@1: 349 | version "1.1.1" 350 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 351 | integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== 352 | 353 | acorn@^6.2.0: 354 | version "6.2.0" 355 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.0.tgz#67f0da2fc339d6cfb5d6fb244fd449f33cd8bbe3" 356 | integrity sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw== 357 | 358 | ajv-errors@^1.0.0: 359 | version "1.0.1" 360 | resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" 361 | integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== 362 | 363 | ajv-keywords@^3.1.0: 364 | version "3.4.1" 365 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" 366 | integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== 367 | 368 | ajv@^6.1.0: 369 | version "6.10.1" 370 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.1.tgz#ebf8d3af22552df9dd049bfbe50cc2390e823593" 371 | integrity sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ== 372 | dependencies: 373 | fast-deep-equal "^2.0.1" 374 | fast-json-stable-stringify "^2.0.0" 375 | json-schema-traverse "^0.4.1" 376 | uri-js "^4.2.2" 377 | 378 | ansi-colors@^3.0.0: 379 | version "3.2.4" 380 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" 381 | integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== 382 | 383 | ansi-regex@^2.0.0: 384 | version "2.1.1" 385 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 386 | integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= 387 | 388 | ansi-regex@^3.0.0: 389 | version "3.0.0" 390 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 391 | integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= 392 | 393 | ansi-regex@^4.1.0: 394 | version "4.1.0" 395 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 396 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 397 | 398 | ansi-styles@^3.2.0, ansi-styles@^3.2.1: 399 | version "3.2.1" 400 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 401 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 402 | dependencies: 403 | color-convert "^1.9.0" 404 | 405 | anymatch@^2.0.0: 406 | version "2.0.0" 407 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" 408 | integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== 409 | dependencies: 410 | micromatch "^3.1.4" 411 | normalize-path "^2.1.1" 412 | 413 | aproba@^1.0.3, aproba@^1.1.1: 414 | version "1.2.0" 415 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 416 | integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== 417 | 418 | are-we-there-yet@~1.1.2: 419 | version "1.1.5" 420 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" 421 | integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== 422 | dependencies: 423 | delegates "^1.0.0" 424 | readable-stream "^2.0.6" 425 | 426 | arr-diff@^4.0.0: 427 | version "4.0.0" 428 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" 429 | integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= 430 | 431 | arr-flatten@^1.1.0: 432 | version "1.1.0" 433 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" 434 | integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== 435 | 436 | arr-union@^3.1.0: 437 | version "3.1.0" 438 | resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" 439 | integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= 440 | 441 | array-union@^1.0.1: 442 | version "1.0.2" 443 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" 444 | integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= 445 | dependencies: 446 | array-uniq "^1.0.1" 447 | 448 | array-uniq@^1.0.1: 449 | version "1.0.3" 450 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 451 | integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= 452 | 453 | array-unique@^0.3.2: 454 | version "0.3.2" 455 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" 456 | integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= 457 | 458 | asn1.js@^4.0.0: 459 | version "4.10.1" 460 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" 461 | integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== 462 | dependencies: 463 | bn.js "^4.0.0" 464 | inherits "^2.0.1" 465 | minimalistic-assert "^1.0.0" 466 | 467 | assert@^1.1.1: 468 | version "1.5.0" 469 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" 470 | integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== 471 | dependencies: 472 | object-assign "^4.1.1" 473 | util "0.10.3" 474 | 475 | assign-symbols@^1.0.0: 476 | version "1.0.0" 477 | resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" 478 | integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= 479 | 480 | async-each@^1.0.1: 481 | version "1.0.3" 482 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" 483 | integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== 484 | 485 | atob@^2.1.1: 486 | version "2.1.2" 487 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 488 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 489 | 490 | babel-loader@^8.0.6: 491 | version "8.0.6" 492 | resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" 493 | integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== 494 | dependencies: 495 | find-cache-dir "^2.0.0" 496 | loader-utils "^1.0.2" 497 | mkdirp "^0.5.1" 498 | pify "^4.0.1" 499 | 500 | balanced-match@^1.0.0: 501 | version "1.0.0" 502 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 503 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 504 | 505 | base64-js@^1.0.2: 506 | version "1.3.0" 507 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" 508 | integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw== 509 | 510 | base@^0.11.1: 511 | version "0.11.2" 512 | resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" 513 | integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== 514 | dependencies: 515 | cache-base "^1.0.1" 516 | class-utils "^0.3.5" 517 | component-emitter "^1.2.1" 518 | define-property "^1.0.0" 519 | isobject "^3.0.1" 520 | mixin-deep "^1.2.0" 521 | pascalcase "^0.1.1" 522 | 523 | big.js@^5.2.2: 524 | version "5.2.2" 525 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 526 | integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== 527 | 528 | binary-extensions@^1.0.0: 529 | version "1.13.1" 530 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" 531 | integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== 532 | 533 | bluebird@^3.5.5: 534 | version "3.5.5" 535 | resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" 536 | integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== 537 | 538 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: 539 | version "4.11.8" 540 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" 541 | integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== 542 | 543 | brace-expansion@^1.1.7: 544 | version "1.1.11" 545 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 546 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 547 | dependencies: 548 | balanced-match "^1.0.0" 549 | concat-map "0.0.1" 550 | 551 | braces@^2.3.1, braces@^2.3.2: 552 | version "2.3.2" 553 | resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" 554 | integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== 555 | dependencies: 556 | arr-flatten "^1.1.0" 557 | array-unique "^0.3.2" 558 | extend-shallow "^2.0.1" 559 | fill-range "^4.0.0" 560 | isobject "^3.0.1" 561 | repeat-element "^1.1.2" 562 | snapdragon "^0.8.1" 563 | snapdragon-node "^2.0.1" 564 | split-string "^3.0.2" 565 | to-regex "^3.0.1" 566 | 567 | brorand@^1.0.1: 568 | version "1.1.0" 569 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 570 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= 571 | 572 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 573 | version "1.2.0" 574 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" 575 | integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== 576 | dependencies: 577 | buffer-xor "^1.0.3" 578 | cipher-base "^1.0.0" 579 | create-hash "^1.1.0" 580 | evp_bytestokey "^1.0.3" 581 | inherits "^2.0.1" 582 | safe-buffer "^5.0.1" 583 | 584 | browserify-cipher@^1.0.0: 585 | version "1.0.1" 586 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" 587 | integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== 588 | dependencies: 589 | browserify-aes "^1.0.4" 590 | browserify-des "^1.0.0" 591 | evp_bytestokey "^1.0.0" 592 | 593 | browserify-des@^1.0.0: 594 | version "1.0.2" 595 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" 596 | integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== 597 | dependencies: 598 | cipher-base "^1.0.1" 599 | des.js "^1.0.0" 600 | inherits "^2.0.1" 601 | safe-buffer "^5.1.2" 602 | 603 | browserify-rsa@^4.0.0: 604 | version "4.0.1" 605 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" 606 | integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= 607 | dependencies: 608 | bn.js "^4.1.0" 609 | randombytes "^2.0.1" 610 | 611 | browserify-sign@^4.0.0: 612 | version "4.0.4" 613 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" 614 | integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= 615 | dependencies: 616 | bn.js "^4.1.1" 617 | browserify-rsa "^4.0.0" 618 | create-hash "^1.1.0" 619 | create-hmac "^1.1.2" 620 | elliptic "^6.0.0" 621 | inherits "^2.0.1" 622 | parse-asn1 "^5.0.0" 623 | 624 | browserify-zlib@^0.2.0: 625 | version "0.2.0" 626 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 627 | integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== 628 | dependencies: 629 | pako "~1.0.5" 630 | 631 | buffer-from@^1.0.0: 632 | version "1.1.1" 633 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 634 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 635 | 636 | buffer-xor@^1.0.3: 637 | version "1.0.3" 638 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 639 | integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= 640 | 641 | buffer@^4.3.0: 642 | version "4.9.1" 643 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" 644 | integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= 645 | dependencies: 646 | base64-js "^1.0.2" 647 | ieee754 "^1.1.4" 648 | isarray "^1.0.0" 649 | 650 | builtin-status-codes@^3.0.0: 651 | version "3.0.0" 652 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 653 | integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= 654 | 655 | cacache@^11.3.2: 656 | version "11.3.3" 657 | resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc" 658 | integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA== 659 | dependencies: 660 | bluebird "^3.5.5" 661 | chownr "^1.1.1" 662 | figgy-pudding "^3.5.1" 663 | glob "^7.1.4" 664 | graceful-fs "^4.1.15" 665 | lru-cache "^5.1.1" 666 | mississippi "^3.0.0" 667 | mkdirp "^0.5.1" 668 | move-concurrently "^1.0.1" 669 | promise-inflight "^1.0.1" 670 | rimraf "^2.6.3" 671 | ssri "^6.0.1" 672 | unique-filename "^1.1.1" 673 | y18n "^4.0.0" 674 | 675 | cache-base@^1.0.1: 676 | version "1.0.1" 677 | resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" 678 | integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== 679 | dependencies: 680 | collection-visit "^1.0.0" 681 | component-emitter "^1.2.1" 682 | get-value "^2.0.6" 683 | has-value "^1.0.0" 684 | isobject "^3.0.1" 685 | set-value "^2.0.0" 686 | to-object-path "^0.3.0" 687 | union-value "^1.0.0" 688 | unset-value "^1.0.0" 689 | 690 | camelcase@^5.0.0, camelcase@^5.3.1: 691 | version "5.3.1" 692 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 693 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 694 | 695 | chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.2: 696 | version "2.4.2" 697 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 698 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 699 | dependencies: 700 | ansi-styles "^3.2.1" 701 | escape-string-regexp "^1.0.5" 702 | supports-color "^5.3.0" 703 | 704 | chokidar@^2.0.2: 705 | version "2.1.6" 706 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5" 707 | integrity sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g== 708 | dependencies: 709 | anymatch "^2.0.0" 710 | async-each "^1.0.1" 711 | braces "^2.3.2" 712 | glob-parent "^3.1.0" 713 | inherits "^2.0.3" 714 | is-binary-path "^1.0.0" 715 | is-glob "^4.0.0" 716 | normalize-path "^3.0.0" 717 | path-is-absolute "^1.0.0" 718 | readdirp "^2.2.1" 719 | upath "^1.1.1" 720 | optionalDependencies: 721 | fsevents "^1.2.7" 722 | 723 | chownr@^1.1.1: 724 | version "1.1.2" 725 | resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" 726 | integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== 727 | 728 | chrome-trace-event@^1.0.0: 729 | version "1.0.2" 730 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" 731 | integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== 732 | dependencies: 733 | tslib "^1.9.0" 734 | 735 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 736 | version "1.0.4" 737 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 738 | integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== 739 | dependencies: 740 | inherits "^2.0.1" 741 | safe-buffer "^5.0.1" 742 | 743 | class-utils@^0.3.5: 744 | version "0.3.6" 745 | resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" 746 | integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== 747 | dependencies: 748 | arr-union "^3.1.0" 749 | define-property "^0.2.5" 750 | isobject "^3.0.0" 751 | static-extend "^0.1.1" 752 | 753 | cliui@^5.0.0: 754 | version "5.0.0" 755 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" 756 | integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== 757 | dependencies: 758 | string-width "^3.1.0" 759 | strip-ansi "^5.2.0" 760 | wrap-ansi "^5.1.0" 761 | 762 | code-point-at@^1.0.0: 763 | version "1.1.0" 764 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 765 | integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= 766 | 767 | collection-visit@^1.0.0: 768 | version "1.0.0" 769 | resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" 770 | integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= 771 | dependencies: 772 | map-visit "^1.0.0" 773 | object-visit "^1.0.0" 774 | 775 | color-convert@^1.9.0: 776 | version "1.9.3" 777 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 778 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 779 | dependencies: 780 | color-name "1.1.3" 781 | 782 | color-name@1.1.3: 783 | version "1.1.3" 784 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 785 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 786 | 787 | commander@^2.20.0: 788 | version "2.20.0" 789 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" 790 | integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== 791 | 792 | commondir@^1.0.1: 793 | version "1.0.1" 794 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 795 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 796 | 797 | component-emitter@^1.2.1: 798 | version "1.3.0" 799 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 800 | integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 801 | 802 | concat-map@0.0.1: 803 | version "0.0.1" 804 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 805 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 806 | 807 | concat-stream@^1.5.0: 808 | version "1.6.2" 809 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 810 | integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== 811 | dependencies: 812 | buffer-from "^1.0.0" 813 | inherits "^2.0.3" 814 | readable-stream "^2.2.2" 815 | typedarray "^0.0.6" 816 | 817 | console-browserify@^1.1.0: 818 | version "1.1.0" 819 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" 820 | integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= 821 | dependencies: 822 | date-now "^0.1.4" 823 | 824 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 825 | version "1.1.0" 826 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 827 | integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= 828 | 829 | constants-browserify@^1.0.0: 830 | version "1.0.0" 831 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 832 | integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= 833 | 834 | convert-source-map@^1.1.0: 835 | version "1.6.0" 836 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" 837 | integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== 838 | dependencies: 839 | safe-buffer "~5.1.1" 840 | 841 | copy-concurrently@^1.0.0: 842 | version "1.0.5" 843 | resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" 844 | integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== 845 | dependencies: 846 | aproba "^1.1.1" 847 | fs-write-stream-atomic "^1.0.8" 848 | iferr "^0.1.5" 849 | mkdirp "^0.5.1" 850 | rimraf "^2.5.4" 851 | run-queue "^1.0.0" 852 | 853 | copy-descriptor@^0.1.0: 854 | version "0.1.1" 855 | resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" 856 | integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= 857 | 858 | copy-webpack-plugin@^5.0.3: 859 | version "5.0.3" 860 | resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.3.tgz#2179e3c8fd69f13afe74da338896f1f01a875b5c" 861 | integrity sha512-PlZRs9CUMnAVylZq+vg2Juew662jWtwOXOqH4lbQD9ZFhRG9R7tVStOgHt21CBGVq7k5yIJaz8TXDLSjV+Lj8Q== 862 | dependencies: 863 | cacache "^11.3.2" 864 | find-cache-dir "^2.1.0" 865 | glob-parent "^3.1.0" 866 | globby "^7.1.1" 867 | is-glob "^4.0.1" 868 | loader-utils "^1.2.3" 869 | minimatch "^3.0.4" 870 | normalize-path "^3.0.0" 871 | p-limit "^2.2.0" 872 | schema-utils "^1.0.0" 873 | serialize-javascript "^1.7.0" 874 | webpack-log "^2.0.0" 875 | 876 | core-util-is@~1.0.0: 877 | version "1.0.2" 878 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 879 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 880 | 881 | create-ecdh@^4.0.0: 882 | version "4.0.3" 883 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" 884 | integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== 885 | dependencies: 886 | bn.js "^4.1.0" 887 | elliptic "^6.0.0" 888 | 889 | create-hash@^1.1.0, create-hash@^1.1.2: 890 | version "1.2.0" 891 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" 892 | integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== 893 | dependencies: 894 | cipher-base "^1.0.1" 895 | inherits "^2.0.1" 896 | md5.js "^1.3.4" 897 | ripemd160 "^2.0.1" 898 | sha.js "^2.4.0" 899 | 900 | create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: 901 | version "1.1.7" 902 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" 903 | integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== 904 | dependencies: 905 | cipher-base "^1.0.3" 906 | create-hash "^1.1.0" 907 | inherits "^2.0.1" 908 | ripemd160 "^2.0.0" 909 | safe-buffer "^5.0.1" 910 | sha.js "^2.4.8" 911 | 912 | cross-spawn@6.0.5, cross-spawn@^6.0.0: 913 | version "6.0.5" 914 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 915 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 916 | dependencies: 917 | nice-try "^1.0.4" 918 | path-key "^2.0.1" 919 | semver "^5.5.0" 920 | shebang-command "^1.2.0" 921 | which "^1.2.9" 922 | 923 | crypto-browserify@^3.11.0: 924 | version "3.12.0" 925 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 926 | integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== 927 | dependencies: 928 | browserify-cipher "^1.0.0" 929 | browserify-sign "^4.0.0" 930 | create-ecdh "^4.0.0" 931 | create-hash "^1.1.0" 932 | create-hmac "^1.1.0" 933 | diffie-hellman "^5.0.0" 934 | inherits "^2.0.1" 935 | pbkdf2 "^3.0.3" 936 | public-encrypt "^4.0.0" 937 | randombytes "^2.0.0" 938 | randomfill "^1.0.3" 939 | 940 | css-loader@^3.0.0: 941 | version "3.0.0" 942 | resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.0.0.tgz#bdd48a4921eefedf1f0a55266585944d4e5efc63" 943 | integrity sha512-WR6KZuCkFbnMhRrGPlkwAA7SSCtwqPwpyXJAPhotYkYsc0mKU9n/fu5wufy4jl2WhBw9Ia8gUQMIp/1w98DuPw== 944 | dependencies: 945 | camelcase "^5.3.1" 946 | cssesc "^3.0.0" 947 | icss-utils "^4.1.1" 948 | loader-utils "^1.2.3" 949 | normalize-path "^3.0.0" 950 | postcss "^7.0.17" 951 | postcss-modules-extract-imports "^2.0.0" 952 | postcss-modules-local-by-default "^3.0.2" 953 | postcss-modules-scope "^2.1.0" 954 | postcss-modules-values "^3.0.0" 955 | postcss-value-parser "^4.0.0" 956 | schema-utils "^1.0.0" 957 | 958 | cssesc@^3.0.0: 959 | version "3.0.0" 960 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 961 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 962 | 963 | cyclist@~0.2.2: 964 | version "0.2.2" 965 | resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" 966 | integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= 967 | 968 | date-now@^0.1.4: 969 | version "0.1.4" 970 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" 971 | integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= 972 | 973 | debug@^2.2.0, debug@^2.3.3: 974 | version "2.6.9" 975 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 976 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 977 | dependencies: 978 | ms "2.0.0" 979 | 980 | debug@^3.2.6: 981 | version "3.2.6" 982 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" 983 | integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== 984 | dependencies: 985 | ms "^2.1.1" 986 | 987 | debug@^4.1.0: 988 | version "4.1.1" 989 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" 990 | integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== 991 | dependencies: 992 | ms "^2.1.1" 993 | 994 | decamelize@^1.2.0: 995 | version "1.2.0" 996 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 997 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 998 | 999 | decode-uri-component@^0.2.0: 1000 | version "0.2.0" 1001 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 1002 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 1003 | 1004 | deep-extend@^0.6.0: 1005 | version "0.6.0" 1006 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" 1007 | integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== 1008 | 1009 | define-property@^0.2.5: 1010 | version "0.2.5" 1011 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" 1012 | integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= 1013 | dependencies: 1014 | is-descriptor "^0.1.0" 1015 | 1016 | define-property@^1.0.0: 1017 | version "1.0.0" 1018 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" 1019 | integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= 1020 | dependencies: 1021 | is-descriptor "^1.0.0" 1022 | 1023 | define-property@^2.0.2: 1024 | version "2.0.2" 1025 | resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" 1026 | integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== 1027 | dependencies: 1028 | is-descriptor "^1.0.2" 1029 | isobject "^3.0.1" 1030 | 1031 | delegates@^1.0.0: 1032 | version "1.0.0" 1033 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 1034 | integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= 1035 | 1036 | des.js@^1.0.0: 1037 | version "1.0.0" 1038 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" 1039 | integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= 1040 | dependencies: 1041 | inherits "^2.0.1" 1042 | minimalistic-assert "^1.0.0" 1043 | 1044 | detect-file@^1.0.0: 1045 | version "1.0.0" 1046 | resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" 1047 | integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= 1048 | 1049 | detect-libc@^1.0.2: 1050 | version "1.0.3" 1051 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 1052 | integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= 1053 | 1054 | diffie-hellman@^5.0.0: 1055 | version "5.0.3" 1056 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" 1057 | integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== 1058 | dependencies: 1059 | bn.js "^4.1.0" 1060 | miller-rabin "^4.0.0" 1061 | randombytes "^2.0.0" 1062 | 1063 | dir-glob@^2.0.0: 1064 | version "2.2.2" 1065 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" 1066 | integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== 1067 | dependencies: 1068 | path-type "^3.0.0" 1069 | 1070 | domain-browser@^1.1.1: 1071 | version "1.2.0" 1072 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" 1073 | integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== 1074 | 1075 | duplexify@^3.4.2, duplexify@^3.6.0: 1076 | version "3.7.1" 1077 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" 1078 | integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== 1079 | dependencies: 1080 | end-of-stream "^1.0.0" 1081 | inherits "^2.0.1" 1082 | readable-stream "^2.0.0" 1083 | stream-shift "^1.0.0" 1084 | 1085 | elliptic@^6.0.0: 1086 | version "6.5.0" 1087 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" 1088 | integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== 1089 | dependencies: 1090 | bn.js "^4.4.0" 1091 | brorand "^1.0.1" 1092 | hash.js "^1.0.0" 1093 | hmac-drbg "^1.0.0" 1094 | inherits "^2.0.1" 1095 | minimalistic-assert "^1.0.0" 1096 | minimalistic-crypto-utils "^1.0.0" 1097 | 1098 | emoji-regex@^7.0.1: 1099 | version "7.0.3" 1100 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" 1101 | integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== 1102 | 1103 | emojis-list@^2.0.0: 1104 | version "2.1.0" 1105 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 1106 | integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= 1107 | 1108 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 1109 | version "1.4.1" 1110 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 1111 | integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== 1112 | dependencies: 1113 | once "^1.4.0" 1114 | 1115 | enhanced-resolve@4.1.0, enhanced-resolve@^4.1.0: 1116 | version "4.1.0" 1117 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" 1118 | integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== 1119 | dependencies: 1120 | graceful-fs "^4.1.2" 1121 | memory-fs "^0.4.0" 1122 | tapable "^1.0.0" 1123 | 1124 | errno@^0.1.3, errno@~0.1.7: 1125 | version "0.1.7" 1126 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" 1127 | integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== 1128 | dependencies: 1129 | prr "~1.0.1" 1130 | 1131 | escape-string-regexp@^1.0.5: 1132 | version "1.0.5" 1133 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1134 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1135 | 1136 | eslint-scope@^4.0.0: 1137 | version "4.0.3" 1138 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" 1139 | integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== 1140 | dependencies: 1141 | esrecurse "^4.1.0" 1142 | estraverse "^4.1.1" 1143 | 1144 | esrecurse@^4.1.0: 1145 | version "4.2.1" 1146 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" 1147 | integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== 1148 | dependencies: 1149 | estraverse "^4.1.0" 1150 | 1151 | estraverse@^4.1.0, estraverse@^4.1.1: 1152 | version "4.2.0" 1153 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" 1154 | integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= 1155 | 1156 | esutils@^2.0.0, esutils@^2.0.2: 1157 | version "2.0.2" 1158 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" 1159 | integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= 1160 | 1161 | events@^3.0.0: 1162 | version "3.0.0" 1163 | resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" 1164 | integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== 1165 | 1166 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 1167 | version "1.0.3" 1168 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 1169 | integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== 1170 | dependencies: 1171 | md5.js "^1.3.4" 1172 | safe-buffer "^5.1.1" 1173 | 1174 | execa@^1.0.0: 1175 | version "1.0.0" 1176 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 1177 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 1178 | dependencies: 1179 | cross-spawn "^6.0.0" 1180 | get-stream "^4.0.0" 1181 | is-stream "^1.1.0" 1182 | npm-run-path "^2.0.0" 1183 | p-finally "^1.0.0" 1184 | signal-exit "^3.0.0" 1185 | strip-eof "^1.0.0" 1186 | 1187 | expand-brackets@^2.1.4: 1188 | version "2.1.4" 1189 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" 1190 | integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= 1191 | dependencies: 1192 | debug "^2.3.3" 1193 | define-property "^0.2.5" 1194 | extend-shallow "^2.0.1" 1195 | posix-character-classes "^0.1.0" 1196 | regex-not "^1.0.0" 1197 | snapdragon "^0.8.1" 1198 | to-regex "^3.0.1" 1199 | 1200 | expand-tilde@^2.0.0, expand-tilde@^2.0.2: 1201 | version "2.0.2" 1202 | resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" 1203 | integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= 1204 | dependencies: 1205 | homedir-polyfill "^1.0.1" 1206 | 1207 | extend-shallow@^2.0.1: 1208 | version "2.0.1" 1209 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" 1210 | integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= 1211 | dependencies: 1212 | is-extendable "^0.1.0" 1213 | 1214 | extend-shallow@^3.0.0, extend-shallow@^3.0.2: 1215 | version "3.0.2" 1216 | resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" 1217 | integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= 1218 | dependencies: 1219 | assign-symbols "^1.0.0" 1220 | is-extendable "^1.0.1" 1221 | 1222 | extglob@^2.0.4: 1223 | version "2.0.4" 1224 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" 1225 | integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== 1226 | dependencies: 1227 | array-unique "^0.3.2" 1228 | define-property "^1.0.0" 1229 | expand-brackets "^2.1.4" 1230 | extend-shallow "^2.0.1" 1231 | fragment-cache "^0.2.1" 1232 | regex-not "^1.0.0" 1233 | snapdragon "^0.8.1" 1234 | to-regex "^3.0.1" 1235 | 1236 | fast-deep-equal@^2.0.1: 1237 | version "2.0.1" 1238 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 1239 | integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= 1240 | 1241 | fast-json-stable-stringify@^2.0.0: 1242 | version "2.0.0" 1243 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 1244 | integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= 1245 | 1246 | figgy-pudding@^3.5.1: 1247 | version "3.5.1" 1248 | resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" 1249 | integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== 1250 | 1251 | fill-range@^4.0.0: 1252 | version "4.0.0" 1253 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" 1254 | integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= 1255 | dependencies: 1256 | extend-shallow "^2.0.1" 1257 | is-number "^3.0.0" 1258 | repeat-string "^1.6.1" 1259 | to-regex-range "^2.1.0" 1260 | 1261 | find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: 1262 | version "2.1.0" 1263 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" 1264 | integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== 1265 | dependencies: 1266 | commondir "^1.0.1" 1267 | make-dir "^2.0.0" 1268 | pkg-dir "^3.0.0" 1269 | 1270 | find-up@^3.0.0: 1271 | version "3.0.0" 1272 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" 1273 | integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== 1274 | dependencies: 1275 | locate-path "^3.0.0" 1276 | 1277 | findup-sync@3.0.0: 1278 | version "3.0.0" 1279 | resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" 1280 | integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== 1281 | dependencies: 1282 | detect-file "^1.0.0" 1283 | is-glob "^4.0.0" 1284 | micromatch "^3.0.4" 1285 | resolve-dir "^1.0.1" 1286 | 1287 | flush-write-stream@^1.0.0: 1288 | version "1.1.1" 1289 | resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" 1290 | integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== 1291 | dependencies: 1292 | inherits "^2.0.3" 1293 | readable-stream "^2.3.6" 1294 | 1295 | for-in@^1.0.2: 1296 | version "1.0.2" 1297 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" 1298 | integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= 1299 | 1300 | fragment-cache@^0.2.1: 1301 | version "0.2.1" 1302 | resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" 1303 | integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= 1304 | dependencies: 1305 | map-cache "^0.2.2" 1306 | 1307 | from2@^2.1.0: 1308 | version "2.3.0" 1309 | resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 1310 | integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= 1311 | dependencies: 1312 | inherits "^2.0.1" 1313 | readable-stream "^2.0.0" 1314 | 1315 | fs-minipass@^1.2.5: 1316 | version "1.2.6" 1317 | resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" 1318 | integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== 1319 | dependencies: 1320 | minipass "^2.2.1" 1321 | 1322 | fs-write-stream-atomic@^1.0.8: 1323 | version "1.0.10" 1324 | resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" 1325 | integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= 1326 | dependencies: 1327 | graceful-fs "^4.1.2" 1328 | iferr "^0.1.5" 1329 | imurmurhash "^0.1.4" 1330 | readable-stream "1 || 2" 1331 | 1332 | fs.realpath@^1.0.0: 1333 | version "1.0.0" 1334 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1335 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1336 | 1337 | fsevents@^1.2.7: 1338 | version "1.2.9" 1339 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" 1340 | integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== 1341 | dependencies: 1342 | nan "^2.12.1" 1343 | node-pre-gyp "^0.12.0" 1344 | 1345 | gauge@~2.7.3: 1346 | version "2.7.4" 1347 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 1348 | integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= 1349 | dependencies: 1350 | aproba "^1.0.3" 1351 | console-control-strings "^1.0.0" 1352 | has-unicode "^2.0.0" 1353 | object-assign "^4.1.0" 1354 | signal-exit "^3.0.0" 1355 | string-width "^1.0.1" 1356 | strip-ansi "^3.0.1" 1357 | wide-align "^1.1.0" 1358 | 1359 | get-caller-file@^2.0.1: 1360 | version "2.0.5" 1361 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1362 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1363 | 1364 | get-stream@^4.0.0: 1365 | version "4.1.0" 1366 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1367 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 1368 | dependencies: 1369 | pump "^3.0.0" 1370 | 1371 | get-value@^2.0.3, get-value@^2.0.6: 1372 | version "2.0.6" 1373 | resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" 1374 | integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= 1375 | 1376 | glob-parent@^3.1.0: 1377 | version "3.1.0" 1378 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" 1379 | integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= 1380 | dependencies: 1381 | is-glob "^3.1.0" 1382 | path-dirname "^1.0.0" 1383 | 1384 | glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 1385 | version "7.1.4" 1386 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" 1387 | integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 1388 | dependencies: 1389 | fs.realpath "^1.0.0" 1390 | inflight "^1.0.4" 1391 | inherits "2" 1392 | minimatch "^3.0.4" 1393 | once "^1.3.0" 1394 | path-is-absolute "^1.0.0" 1395 | 1396 | global-modules@2.0.0: 1397 | version "2.0.0" 1398 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" 1399 | integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== 1400 | dependencies: 1401 | global-prefix "^3.0.0" 1402 | 1403 | global-modules@^1.0.0: 1404 | version "1.0.0" 1405 | resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" 1406 | integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== 1407 | dependencies: 1408 | global-prefix "^1.0.1" 1409 | is-windows "^1.0.1" 1410 | resolve-dir "^1.0.0" 1411 | 1412 | global-prefix@^1.0.1: 1413 | version "1.0.2" 1414 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" 1415 | integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= 1416 | dependencies: 1417 | expand-tilde "^2.0.2" 1418 | homedir-polyfill "^1.0.1" 1419 | ini "^1.3.4" 1420 | is-windows "^1.0.1" 1421 | which "^1.2.14" 1422 | 1423 | global-prefix@^3.0.0: 1424 | version "3.0.0" 1425 | resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" 1426 | integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== 1427 | dependencies: 1428 | ini "^1.3.5" 1429 | kind-of "^6.0.2" 1430 | which "^1.3.1" 1431 | 1432 | globals@^11.1.0: 1433 | version "11.12.0" 1434 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1435 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1436 | 1437 | globby@^7.1.1: 1438 | version "7.1.1" 1439 | resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" 1440 | integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= 1441 | dependencies: 1442 | array-union "^1.0.1" 1443 | dir-glob "^2.0.0" 1444 | glob "^7.1.2" 1445 | ignore "^3.3.5" 1446 | pify "^3.0.0" 1447 | slash "^1.0.0" 1448 | 1449 | graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: 1450 | version "4.2.0" 1451 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b" 1452 | integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg== 1453 | 1454 | gud@^1.0.0: 1455 | version "1.0.0" 1456 | resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" 1457 | integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== 1458 | 1459 | has-flag@^3.0.0: 1460 | version "3.0.0" 1461 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1462 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1463 | 1464 | has-unicode@^2.0.0: 1465 | version "2.0.1" 1466 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1467 | integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= 1468 | 1469 | has-value@^0.3.1: 1470 | version "0.3.1" 1471 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" 1472 | integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= 1473 | dependencies: 1474 | get-value "^2.0.3" 1475 | has-values "^0.1.4" 1476 | isobject "^2.0.0" 1477 | 1478 | has-value@^1.0.0: 1479 | version "1.0.0" 1480 | resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" 1481 | integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= 1482 | dependencies: 1483 | get-value "^2.0.6" 1484 | has-values "^1.0.0" 1485 | isobject "^3.0.0" 1486 | 1487 | has-values@^0.1.4: 1488 | version "0.1.4" 1489 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" 1490 | integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= 1491 | 1492 | has-values@^1.0.0: 1493 | version "1.0.0" 1494 | resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" 1495 | integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= 1496 | dependencies: 1497 | is-number "^3.0.0" 1498 | kind-of "^4.0.0" 1499 | 1500 | hash-base@^3.0.0: 1501 | version "3.0.4" 1502 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" 1503 | integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= 1504 | dependencies: 1505 | inherits "^2.0.1" 1506 | safe-buffer "^5.0.1" 1507 | 1508 | hash.js@^1.0.0, hash.js@^1.0.3: 1509 | version "1.1.7" 1510 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 1511 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 1512 | dependencies: 1513 | inherits "^2.0.3" 1514 | minimalistic-assert "^1.0.1" 1515 | 1516 | history@^4.9.0: 1517 | version "4.9.0" 1518 | resolved "https://registry.yarnpkg.com/history/-/history-4.9.0.tgz#84587c2068039ead8af769e9d6a6860a14fa1bca" 1519 | integrity sha512-H2DkjCjXf0Op9OAr6nJ56fcRkTSNrUiv41vNJ6IswJjif6wlpZK0BTfFbi7qK9dXLSYZxkq5lBsj3vUjlYBYZA== 1520 | dependencies: 1521 | "@babel/runtime" "^7.1.2" 1522 | loose-envify "^1.2.0" 1523 | resolve-pathname "^2.2.0" 1524 | tiny-invariant "^1.0.2" 1525 | tiny-warning "^1.0.0" 1526 | value-equal "^0.4.0" 1527 | 1528 | hmac-drbg@^1.0.0: 1529 | version "1.0.1" 1530 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 1531 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= 1532 | dependencies: 1533 | hash.js "^1.0.3" 1534 | minimalistic-assert "^1.0.0" 1535 | minimalistic-crypto-utils "^1.0.1" 1536 | 1537 | hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0: 1538 | version "3.3.0" 1539 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.0.tgz#b09178f0122184fb95acf525daaecb4d8f45958b" 1540 | integrity sha512-0XsbTXxgiaCDYDIWFcwkmerZPSwywfUqYmwT4jzewKTQSWoE6FCMoUVOeBJWK3E/CrWbxRG3m5GzY4lnIwGRBA== 1541 | dependencies: 1542 | react-is "^16.7.0" 1543 | 1544 | homedir-polyfill@^1.0.1: 1545 | version "1.0.3" 1546 | resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" 1547 | integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== 1548 | dependencies: 1549 | parse-passwd "^1.0.0" 1550 | 1551 | https-browserify@^1.0.0: 1552 | version "1.0.0" 1553 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 1554 | integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= 1555 | 1556 | iconv-lite@^0.4.4: 1557 | version "0.4.24" 1558 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1559 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1560 | dependencies: 1561 | safer-buffer ">= 2.1.2 < 3" 1562 | 1563 | icss-utils@^4.0.0, icss-utils@^4.1.1: 1564 | version "4.1.1" 1565 | resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" 1566 | integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== 1567 | dependencies: 1568 | postcss "^7.0.14" 1569 | 1570 | ieee754@^1.1.4: 1571 | version "1.1.13" 1572 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" 1573 | integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== 1574 | 1575 | iferr@^0.1.5: 1576 | version "0.1.5" 1577 | resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" 1578 | integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= 1579 | 1580 | ignore-walk@^3.0.1: 1581 | version "3.0.1" 1582 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" 1583 | integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== 1584 | dependencies: 1585 | minimatch "^3.0.4" 1586 | 1587 | ignore@^3.3.5: 1588 | version "3.3.10" 1589 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" 1590 | integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== 1591 | 1592 | import-local@2.0.0: 1593 | version "2.0.0" 1594 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" 1595 | integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== 1596 | dependencies: 1597 | pkg-dir "^3.0.0" 1598 | resolve-cwd "^2.0.0" 1599 | 1600 | imurmurhash@^0.1.4: 1601 | version "0.1.4" 1602 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1603 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1604 | 1605 | indexes-of@^1.0.1: 1606 | version "1.0.1" 1607 | resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" 1608 | integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= 1609 | 1610 | inflight@^1.0.4: 1611 | version "1.0.6" 1612 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1613 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1614 | dependencies: 1615 | once "^1.3.0" 1616 | wrappy "1" 1617 | 1618 | inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: 1619 | version "2.0.4" 1620 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1621 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1622 | 1623 | inherits@2.0.1: 1624 | version "2.0.1" 1625 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 1626 | integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= 1627 | 1628 | inherits@2.0.3: 1629 | version "2.0.3" 1630 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1631 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 1632 | 1633 | ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: 1634 | version "1.3.5" 1635 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1636 | integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== 1637 | 1638 | interpret@1.2.0: 1639 | version "1.2.0" 1640 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" 1641 | integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== 1642 | 1643 | invariant@^2.2.4: 1644 | version "2.2.4" 1645 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" 1646 | integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== 1647 | dependencies: 1648 | loose-envify "^1.0.0" 1649 | 1650 | invert-kv@^2.0.0: 1651 | version "2.0.0" 1652 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" 1653 | integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== 1654 | 1655 | is-accessor-descriptor@^0.1.6: 1656 | version "0.1.6" 1657 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" 1658 | integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= 1659 | dependencies: 1660 | kind-of "^3.0.2" 1661 | 1662 | is-accessor-descriptor@^1.0.0: 1663 | version "1.0.0" 1664 | resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" 1665 | integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== 1666 | dependencies: 1667 | kind-of "^6.0.0" 1668 | 1669 | is-binary-path@^1.0.0: 1670 | version "1.0.1" 1671 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" 1672 | integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= 1673 | dependencies: 1674 | binary-extensions "^1.0.0" 1675 | 1676 | is-buffer@^1.1.5: 1677 | version "1.1.6" 1678 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1679 | integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== 1680 | 1681 | is-data-descriptor@^0.1.4: 1682 | version "0.1.4" 1683 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" 1684 | integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= 1685 | dependencies: 1686 | kind-of "^3.0.2" 1687 | 1688 | is-data-descriptor@^1.0.0: 1689 | version "1.0.0" 1690 | resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" 1691 | integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== 1692 | dependencies: 1693 | kind-of "^6.0.0" 1694 | 1695 | is-descriptor@^0.1.0: 1696 | version "0.1.6" 1697 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" 1698 | integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== 1699 | dependencies: 1700 | is-accessor-descriptor "^0.1.6" 1701 | is-data-descriptor "^0.1.4" 1702 | kind-of "^5.0.0" 1703 | 1704 | is-descriptor@^1.0.0, is-descriptor@^1.0.2: 1705 | version "1.0.2" 1706 | resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" 1707 | integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== 1708 | dependencies: 1709 | is-accessor-descriptor "^1.0.0" 1710 | is-data-descriptor "^1.0.0" 1711 | kind-of "^6.0.2" 1712 | 1713 | is-extendable@^0.1.0, is-extendable@^0.1.1: 1714 | version "0.1.1" 1715 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" 1716 | integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= 1717 | 1718 | is-extendable@^1.0.1: 1719 | version "1.0.1" 1720 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" 1721 | integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== 1722 | dependencies: 1723 | is-plain-object "^2.0.4" 1724 | 1725 | is-extglob@^2.1.0, is-extglob@^2.1.1: 1726 | version "2.1.1" 1727 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1728 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1729 | 1730 | is-fullwidth-code-point@^1.0.0: 1731 | version "1.0.0" 1732 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1733 | integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= 1734 | dependencies: 1735 | number-is-nan "^1.0.0" 1736 | 1737 | is-fullwidth-code-point@^2.0.0: 1738 | version "2.0.0" 1739 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1740 | integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= 1741 | 1742 | is-glob@^3.1.0: 1743 | version "3.1.0" 1744 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" 1745 | integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= 1746 | dependencies: 1747 | is-extglob "^2.1.0" 1748 | 1749 | is-glob@^4.0.0, is-glob@^4.0.1: 1750 | version "4.0.1" 1751 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1752 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1753 | dependencies: 1754 | is-extglob "^2.1.1" 1755 | 1756 | is-number@^3.0.0: 1757 | version "3.0.0" 1758 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" 1759 | integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= 1760 | dependencies: 1761 | kind-of "^3.0.2" 1762 | 1763 | is-plain-object@^2.0.3, is-plain-object@^2.0.4: 1764 | version "2.0.4" 1765 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 1766 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 1767 | dependencies: 1768 | isobject "^3.0.1" 1769 | 1770 | is-stream@^1.1.0: 1771 | version "1.1.0" 1772 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1773 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 1774 | 1775 | is-windows@^1.0.1, is-windows@^1.0.2: 1776 | version "1.0.2" 1777 | resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" 1778 | integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== 1779 | 1780 | is-wsl@^1.1.0: 1781 | version "1.1.0" 1782 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 1783 | integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= 1784 | 1785 | isarray@0.0.1: 1786 | version "0.0.1" 1787 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" 1788 | integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= 1789 | 1790 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 1791 | version "1.0.0" 1792 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1793 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 1794 | 1795 | isexe@^2.0.0: 1796 | version "2.0.0" 1797 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1798 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1799 | 1800 | isobject@^2.0.0: 1801 | version "2.1.0" 1802 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 1803 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 1804 | dependencies: 1805 | isarray "1.0.0" 1806 | 1807 | isobject@^3.0.0, isobject@^3.0.1: 1808 | version "3.0.1" 1809 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 1810 | integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= 1811 | 1812 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1813 | version "4.0.0" 1814 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1815 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1816 | 1817 | jsesc@^2.5.1: 1818 | version "2.5.2" 1819 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1820 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1821 | 1822 | json-parse-better-errors@^1.0.2: 1823 | version "1.0.2" 1824 | resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" 1825 | integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== 1826 | 1827 | json-schema-traverse@^0.4.1: 1828 | version "0.4.1" 1829 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 1830 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 1831 | 1832 | json5@^1.0.1: 1833 | version "1.0.1" 1834 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 1835 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 1836 | dependencies: 1837 | minimist "^1.2.0" 1838 | 1839 | json5@^2.1.0: 1840 | version "2.1.0" 1841 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" 1842 | integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== 1843 | dependencies: 1844 | minimist "^1.2.0" 1845 | 1846 | kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: 1847 | version "3.2.2" 1848 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" 1849 | integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= 1850 | dependencies: 1851 | is-buffer "^1.1.5" 1852 | 1853 | kind-of@^4.0.0: 1854 | version "4.0.0" 1855 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" 1856 | integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= 1857 | dependencies: 1858 | is-buffer "^1.1.5" 1859 | 1860 | kind-of@^5.0.0: 1861 | version "5.1.0" 1862 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" 1863 | integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== 1864 | 1865 | kind-of@^6.0.0, kind-of@^6.0.2: 1866 | version "6.0.2" 1867 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" 1868 | integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== 1869 | 1870 | lcid@^2.0.0: 1871 | version "2.0.0" 1872 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" 1873 | integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== 1874 | dependencies: 1875 | invert-kv "^2.0.0" 1876 | 1877 | loader-runner@^2.3.0: 1878 | version "2.4.0" 1879 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" 1880 | integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== 1881 | 1882 | loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: 1883 | version "1.2.3" 1884 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" 1885 | integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== 1886 | dependencies: 1887 | big.js "^5.2.2" 1888 | emojis-list "^2.0.0" 1889 | json5 "^1.0.1" 1890 | 1891 | locate-path@^3.0.0: 1892 | version "3.0.0" 1893 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" 1894 | integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== 1895 | dependencies: 1896 | p-locate "^3.0.0" 1897 | path-exists "^3.0.0" 1898 | 1899 | lodash@^4.17.11: 1900 | version "4.17.14" 1901 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.14.tgz#9ce487ae66c96254fe20b599f21b6816028078ba" 1902 | integrity sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw== 1903 | 1904 | loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: 1905 | version "1.4.0" 1906 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1907 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1908 | dependencies: 1909 | js-tokens "^3.0.0 || ^4.0.0" 1910 | 1911 | lru-cache@^5.1.1: 1912 | version "5.1.1" 1913 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 1914 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 1915 | dependencies: 1916 | yallist "^3.0.2" 1917 | 1918 | make-dir@^2.0.0: 1919 | version "2.1.0" 1920 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" 1921 | integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== 1922 | dependencies: 1923 | pify "^4.0.1" 1924 | semver "^5.6.0" 1925 | 1926 | mamacro@^0.0.3: 1927 | version "0.0.3" 1928 | resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" 1929 | integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== 1930 | 1931 | map-age-cleaner@^0.1.1: 1932 | version "0.1.3" 1933 | resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" 1934 | integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== 1935 | dependencies: 1936 | p-defer "^1.0.0" 1937 | 1938 | map-cache@^0.2.2: 1939 | version "0.2.2" 1940 | resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" 1941 | integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= 1942 | 1943 | map-visit@^1.0.0: 1944 | version "1.0.0" 1945 | resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" 1946 | integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= 1947 | dependencies: 1948 | object-visit "^1.0.0" 1949 | 1950 | md5.js@^1.3.4: 1951 | version "1.3.5" 1952 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" 1953 | integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== 1954 | dependencies: 1955 | hash-base "^3.0.0" 1956 | inherits "^2.0.1" 1957 | safe-buffer "^5.1.2" 1958 | 1959 | mem@^4.0.0: 1960 | version "4.3.0" 1961 | resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" 1962 | integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== 1963 | dependencies: 1964 | map-age-cleaner "^0.1.1" 1965 | mimic-fn "^2.0.0" 1966 | p-is-promise "^2.0.0" 1967 | 1968 | memory-fs@^0.4.0, memory-fs@~0.4.1: 1969 | version "0.4.1" 1970 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" 1971 | integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= 1972 | dependencies: 1973 | errno "^0.1.3" 1974 | readable-stream "^2.0.1" 1975 | 1976 | micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8: 1977 | version "3.1.10" 1978 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" 1979 | integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== 1980 | dependencies: 1981 | arr-diff "^4.0.0" 1982 | array-unique "^0.3.2" 1983 | braces "^2.3.1" 1984 | define-property "^2.0.2" 1985 | extend-shallow "^3.0.2" 1986 | extglob "^2.0.4" 1987 | fragment-cache "^0.2.1" 1988 | kind-of "^6.0.2" 1989 | nanomatch "^1.2.9" 1990 | object.pick "^1.3.0" 1991 | regex-not "^1.0.0" 1992 | snapdragon "^0.8.1" 1993 | to-regex "^3.0.2" 1994 | 1995 | miller-rabin@^4.0.0: 1996 | version "4.0.1" 1997 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 1998 | integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== 1999 | dependencies: 2000 | bn.js "^4.0.0" 2001 | brorand "^1.0.1" 2002 | 2003 | mimic-fn@^2.0.0: 2004 | version "2.1.0" 2005 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2006 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2007 | 2008 | mini-create-react-context@^0.3.0: 2009 | version "0.3.2" 2010 | resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.3.2.tgz#79fc598f283dd623da8e088b05db8cddab250189" 2011 | integrity sha512-2v+OeetEyliMt5VHMXsBhABoJ0/M4RCe7fatd/fBy6SMiKazUSEt3gxxypfnk2SHMkdBYvorHRoQxuGoiwbzAw== 2012 | dependencies: 2013 | "@babel/runtime" "^7.4.0" 2014 | gud "^1.0.0" 2015 | tiny-warning "^1.0.2" 2016 | 2017 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 2018 | version "1.0.1" 2019 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 2020 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 2021 | 2022 | minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: 2023 | version "1.0.1" 2024 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 2025 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= 2026 | 2027 | minimatch@^3.0.4: 2028 | version "3.0.4" 2029 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2030 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 2031 | dependencies: 2032 | brace-expansion "^1.1.7" 2033 | 2034 | minimist@0.0.8: 2035 | version "0.0.8" 2036 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 2037 | integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= 2038 | 2039 | minimist@^1.2.0: 2040 | version "1.2.0" 2041 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 2042 | integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= 2043 | 2044 | minipass@^2.2.1, minipass@^2.3.5: 2045 | version "2.3.5" 2046 | resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" 2047 | integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== 2048 | dependencies: 2049 | safe-buffer "^5.1.2" 2050 | yallist "^3.0.0" 2051 | 2052 | minizlib@^1.2.1: 2053 | version "1.2.1" 2054 | resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" 2055 | integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== 2056 | dependencies: 2057 | minipass "^2.2.1" 2058 | 2059 | mississippi@^3.0.0: 2060 | version "3.0.0" 2061 | resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" 2062 | integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== 2063 | dependencies: 2064 | concat-stream "^1.5.0" 2065 | duplexify "^3.4.2" 2066 | end-of-stream "^1.1.0" 2067 | flush-write-stream "^1.0.0" 2068 | from2 "^2.1.0" 2069 | parallel-transform "^1.1.0" 2070 | pump "^3.0.0" 2071 | pumpify "^1.3.3" 2072 | stream-each "^1.1.0" 2073 | through2 "^2.0.0" 2074 | 2075 | mixin-deep@^1.2.0: 2076 | version "1.3.2" 2077 | resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" 2078 | integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== 2079 | dependencies: 2080 | for-in "^1.0.2" 2081 | is-extendable "^1.0.1" 2082 | 2083 | mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: 2084 | version "0.5.1" 2085 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 2086 | integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= 2087 | dependencies: 2088 | minimist "0.0.8" 2089 | 2090 | move-concurrently@^1.0.1: 2091 | version "1.0.1" 2092 | resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" 2093 | integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= 2094 | dependencies: 2095 | aproba "^1.1.1" 2096 | copy-concurrently "^1.0.0" 2097 | fs-write-stream-atomic "^1.0.8" 2098 | mkdirp "^0.5.1" 2099 | rimraf "^2.5.4" 2100 | run-queue "^1.0.3" 2101 | 2102 | ms@2.0.0: 2103 | version "2.0.0" 2104 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2105 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 2106 | 2107 | ms@^2.1.1: 2108 | version "2.1.2" 2109 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2110 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2111 | 2112 | nan@^2.12.1: 2113 | version "2.14.0" 2114 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" 2115 | integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== 2116 | 2117 | nanomatch@^1.2.9: 2118 | version "1.2.13" 2119 | resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" 2120 | integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== 2121 | dependencies: 2122 | arr-diff "^4.0.0" 2123 | array-unique "^0.3.2" 2124 | define-property "^2.0.2" 2125 | extend-shallow "^3.0.2" 2126 | fragment-cache "^0.2.1" 2127 | is-windows "^1.0.2" 2128 | kind-of "^6.0.2" 2129 | object.pick "^1.3.0" 2130 | regex-not "^1.0.0" 2131 | snapdragon "^0.8.1" 2132 | to-regex "^3.0.1" 2133 | 2134 | needle@^2.2.1: 2135 | version "2.4.0" 2136 | resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" 2137 | integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== 2138 | dependencies: 2139 | debug "^3.2.6" 2140 | iconv-lite "^0.4.4" 2141 | sax "^1.2.4" 2142 | 2143 | neo-async@^2.5.0: 2144 | version "2.6.1" 2145 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" 2146 | integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== 2147 | 2148 | nice-try@^1.0.4: 2149 | version "1.0.5" 2150 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 2151 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 2152 | 2153 | node-libs-browser@^2.0.0: 2154 | version "2.2.1" 2155 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" 2156 | integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== 2157 | dependencies: 2158 | assert "^1.1.1" 2159 | browserify-zlib "^0.2.0" 2160 | buffer "^4.3.0" 2161 | console-browserify "^1.1.0" 2162 | constants-browserify "^1.0.0" 2163 | crypto-browserify "^3.11.0" 2164 | domain-browser "^1.1.1" 2165 | events "^3.0.0" 2166 | https-browserify "^1.0.0" 2167 | os-browserify "^0.3.0" 2168 | path-browserify "0.0.1" 2169 | process "^0.11.10" 2170 | punycode "^1.2.4" 2171 | querystring-es3 "^0.2.0" 2172 | readable-stream "^2.3.3" 2173 | stream-browserify "^2.0.1" 2174 | stream-http "^2.7.2" 2175 | string_decoder "^1.0.0" 2176 | timers-browserify "^2.0.4" 2177 | tty-browserify "0.0.0" 2178 | url "^0.11.0" 2179 | util "^0.11.0" 2180 | vm-browserify "^1.0.1" 2181 | 2182 | node-pre-gyp@^0.12.0: 2183 | version "0.12.0" 2184 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" 2185 | integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== 2186 | dependencies: 2187 | detect-libc "^1.0.2" 2188 | mkdirp "^0.5.1" 2189 | needle "^2.2.1" 2190 | nopt "^4.0.1" 2191 | npm-packlist "^1.1.6" 2192 | npmlog "^4.0.2" 2193 | rc "^1.2.7" 2194 | rimraf "^2.6.1" 2195 | semver "^5.3.0" 2196 | tar "^4" 2197 | 2198 | nopt@^4.0.1: 2199 | version "4.0.1" 2200 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 2201 | integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= 2202 | dependencies: 2203 | abbrev "1" 2204 | osenv "^0.1.4" 2205 | 2206 | normalize-path@^2.1.1: 2207 | version "2.1.1" 2208 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" 2209 | integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= 2210 | dependencies: 2211 | remove-trailing-separator "^1.0.1" 2212 | 2213 | normalize-path@^3.0.0: 2214 | version "3.0.0" 2215 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2216 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2217 | 2218 | npm-bundled@^1.0.1: 2219 | version "1.0.6" 2220 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" 2221 | integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== 2222 | 2223 | npm-packlist@^1.1.6: 2224 | version "1.4.4" 2225 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" 2226 | integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== 2227 | dependencies: 2228 | ignore-walk "^3.0.1" 2229 | npm-bundled "^1.0.1" 2230 | 2231 | npm-run-path@^2.0.0: 2232 | version "2.0.2" 2233 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2234 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 2235 | dependencies: 2236 | path-key "^2.0.0" 2237 | 2238 | npmlog@^4.0.2: 2239 | version "4.1.2" 2240 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 2241 | integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== 2242 | dependencies: 2243 | are-we-there-yet "~1.1.2" 2244 | console-control-strings "~1.1.0" 2245 | gauge "~2.7.3" 2246 | set-blocking "~2.0.0" 2247 | 2248 | number-is-nan@^1.0.0: 2249 | version "1.0.1" 2250 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 2251 | integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= 2252 | 2253 | object-assign@^4.1.0, object-assign@^4.1.1: 2254 | version "4.1.1" 2255 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2256 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 2257 | 2258 | object-copy@^0.1.0: 2259 | version "0.1.0" 2260 | resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" 2261 | integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= 2262 | dependencies: 2263 | copy-descriptor "^0.1.0" 2264 | define-property "^0.2.5" 2265 | kind-of "^3.0.3" 2266 | 2267 | object-visit@^1.0.0: 2268 | version "1.0.1" 2269 | resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" 2270 | integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= 2271 | dependencies: 2272 | isobject "^3.0.0" 2273 | 2274 | object.pick@^1.3.0: 2275 | version "1.3.0" 2276 | resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" 2277 | integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= 2278 | dependencies: 2279 | isobject "^3.0.1" 2280 | 2281 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2282 | version "1.4.0" 2283 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2284 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2285 | dependencies: 2286 | wrappy "1" 2287 | 2288 | os-browserify@^0.3.0: 2289 | version "0.3.0" 2290 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 2291 | integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= 2292 | 2293 | os-homedir@^1.0.0: 2294 | version "1.0.2" 2295 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 2296 | integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= 2297 | 2298 | os-locale@^3.1.0: 2299 | version "3.1.0" 2300 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" 2301 | integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== 2302 | dependencies: 2303 | execa "^1.0.0" 2304 | lcid "^2.0.0" 2305 | mem "^4.0.0" 2306 | 2307 | os-tmpdir@^1.0.0: 2308 | version "1.0.2" 2309 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 2310 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 2311 | 2312 | osenv@^0.1.4: 2313 | version "0.1.5" 2314 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 2315 | integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== 2316 | dependencies: 2317 | os-homedir "^1.0.0" 2318 | os-tmpdir "^1.0.0" 2319 | 2320 | p-defer@^1.0.0: 2321 | version "1.0.0" 2322 | resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" 2323 | integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= 2324 | 2325 | p-finally@^1.0.0: 2326 | version "1.0.0" 2327 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2328 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 2329 | 2330 | p-is-promise@^2.0.0: 2331 | version "2.1.0" 2332 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" 2333 | integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== 2334 | 2335 | p-limit@^2.0.0, p-limit@^2.2.0: 2336 | version "2.2.0" 2337 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" 2338 | integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== 2339 | dependencies: 2340 | p-try "^2.0.0" 2341 | 2342 | p-locate@^3.0.0: 2343 | version "3.0.0" 2344 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" 2345 | integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== 2346 | dependencies: 2347 | p-limit "^2.0.0" 2348 | 2349 | p-try@^2.0.0: 2350 | version "2.2.0" 2351 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2352 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2353 | 2354 | pako@~1.0.5: 2355 | version "1.0.10" 2356 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" 2357 | integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== 2358 | 2359 | parallel-transform@^1.1.0: 2360 | version "1.1.0" 2361 | resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" 2362 | integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= 2363 | dependencies: 2364 | cyclist "~0.2.2" 2365 | inherits "^2.0.3" 2366 | readable-stream "^2.1.5" 2367 | 2368 | parse-asn1@^5.0.0: 2369 | version "5.1.4" 2370 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" 2371 | integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== 2372 | dependencies: 2373 | asn1.js "^4.0.0" 2374 | browserify-aes "^1.0.0" 2375 | create-hash "^1.1.0" 2376 | evp_bytestokey "^1.0.0" 2377 | pbkdf2 "^3.0.3" 2378 | safe-buffer "^5.1.1" 2379 | 2380 | parse-passwd@^1.0.0: 2381 | version "1.0.0" 2382 | resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" 2383 | integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= 2384 | 2385 | pascalcase@^0.1.1: 2386 | version "0.1.1" 2387 | resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" 2388 | integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= 2389 | 2390 | path-browserify@0.0.1: 2391 | version "0.0.1" 2392 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" 2393 | integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== 2394 | 2395 | path-dirname@^1.0.0: 2396 | version "1.0.2" 2397 | resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" 2398 | integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= 2399 | 2400 | path-exists@^3.0.0: 2401 | version "3.0.0" 2402 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 2403 | integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= 2404 | 2405 | path-is-absolute@^1.0.0: 2406 | version "1.0.1" 2407 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2408 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2409 | 2410 | path-key@^2.0.0, path-key@^2.0.1: 2411 | version "2.0.1" 2412 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2413 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 2414 | 2415 | path-parse@^1.0.6: 2416 | version "1.0.6" 2417 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" 2418 | integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== 2419 | 2420 | path-to-regexp@^1.7.0: 2421 | version "1.7.0" 2422 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" 2423 | integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= 2424 | dependencies: 2425 | isarray "0.0.1" 2426 | 2427 | path-type@^3.0.0: 2428 | version "3.0.0" 2429 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" 2430 | integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== 2431 | dependencies: 2432 | pify "^3.0.0" 2433 | 2434 | pbkdf2@^3.0.3: 2435 | version "3.0.17" 2436 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" 2437 | integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== 2438 | dependencies: 2439 | create-hash "^1.1.2" 2440 | create-hmac "^1.1.4" 2441 | ripemd160 "^2.0.1" 2442 | safe-buffer "^5.0.1" 2443 | sha.js "^2.4.8" 2444 | 2445 | pify@^3.0.0: 2446 | version "3.0.0" 2447 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 2448 | integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= 2449 | 2450 | pify@^4.0.1: 2451 | version "4.0.1" 2452 | resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" 2453 | integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== 2454 | 2455 | pkg-dir@^3.0.0: 2456 | version "3.0.0" 2457 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" 2458 | integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== 2459 | dependencies: 2460 | find-up "^3.0.0" 2461 | 2462 | posix-character-classes@^0.1.0: 2463 | version "0.1.1" 2464 | resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" 2465 | integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= 2466 | 2467 | postcss-modules-extract-imports@^2.0.0: 2468 | version "2.0.0" 2469 | resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" 2470 | integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== 2471 | dependencies: 2472 | postcss "^7.0.5" 2473 | 2474 | postcss-modules-local-by-default@^3.0.2: 2475 | version "3.0.2" 2476 | resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" 2477 | integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== 2478 | dependencies: 2479 | icss-utils "^4.1.1" 2480 | postcss "^7.0.16" 2481 | postcss-selector-parser "^6.0.2" 2482 | postcss-value-parser "^4.0.0" 2483 | 2484 | postcss-modules-scope@^2.1.0: 2485 | version "2.1.0" 2486 | resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb" 2487 | integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A== 2488 | dependencies: 2489 | postcss "^7.0.6" 2490 | postcss-selector-parser "^6.0.0" 2491 | 2492 | postcss-modules-values@^3.0.0: 2493 | version "3.0.0" 2494 | resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" 2495 | integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== 2496 | dependencies: 2497 | icss-utils "^4.0.0" 2498 | postcss "^7.0.6" 2499 | 2500 | postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: 2501 | version "6.0.2" 2502 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" 2503 | integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== 2504 | dependencies: 2505 | cssesc "^3.0.0" 2506 | indexes-of "^1.0.1" 2507 | uniq "^1.0.1" 2508 | 2509 | postcss-value-parser@^4.0.0: 2510 | version "4.0.0" 2511 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz#99a983d365f7b2ad8d0f9b8c3094926eab4b936d" 2512 | integrity sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ== 2513 | 2514 | postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.5, postcss@^7.0.6: 2515 | version "7.0.17" 2516 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" 2517 | integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== 2518 | dependencies: 2519 | chalk "^2.4.2" 2520 | source-map "^0.6.1" 2521 | supports-color "^6.1.0" 2522 | 2523 | process-nextick-args@~2.0.0: 2524 | version "2.0.1" 2525 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 2526 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 2527 | 2528 | process@^0.11.10: 2529 | version "0.11.10" 2530 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 2531 | integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= 2532 | 2533 | promise-inflight@^1.0.1: 2534 | version "1.0.1" 2535 | resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" 2536 | integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= 2537 | 2538 | prop-types@^15.6.2, prop-types@^15.7.2: 2539 | version "15.7.2" 2540 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" 2541 | integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== 2542 | dependencies: 2543 | loose-envify "^1.4.0" 2544 | object-assign "^4.1.1" 2545 | react-is "^16.8.1" 2546 | 2547 | prr@~1.0.1: 2548 | version "1.0.1" 2549 | resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" 2550 | integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= 2551 | 2552 | public-encrypt@^4.0.0: 2553 | version "4.0.3" 2554 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" 2555 | integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== 2556 | dependencies: 2557 | bn.js "^4.1.0" 2558 | browserify-rsa "^4.0.0" 2559 | create-hash "^1.1.0" 2560 | parse-asn1 "^5.0.0" 2561 | randombytes "^2.0.1" 2562 | safe-buffer "^5.1.2" 2563 | 2564 | pump@^2.0.0: 2565 | version "2.0.1" 2566 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 2567 | integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== 2568 | dependencies: 2569 | end-of-stream "^1.1.0" 2570 | once "^1.3.1" 2571 | 2572 | pump@^3.0.0: 2573 | version "3.0.0" 2574 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2575 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2576 | dependencies: 2577 | end-of-stream "^1.1.0" 2578 | once "^1.3.1" 2579 | 2580 | pumpify@^1.3.3: 2581 | version "1.5.1" 2582 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" 2583 | integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== 2584 | dependencies: 2585 | duplexify "^3.6.0" 2586 | inherits "^2.0.3" 2587 | pump "^2.0.0" 2588 | 2589 | punycode@1.3.2: 2590 | version "1.3.2" 2591 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 2592 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= 2593 | 2594 | punycode@^1.2.4: 2595 | version "1.4.1" 2596 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 2597 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 2598 | 2599 | punycode@^2.1.0: 2600 | version "2.1.1" 2601 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2602 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2603 | 2604 | querystring-es3@^0.2.0: 2605 | version "0.2.1" 2606 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 2607 | integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= 2608 | 2609 | querystring@0.2.0: 2610 | version "0.2.0" 2611 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 2612 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= 2613 | 2614 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 2615 | version "2.1.0" 2616 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 2617 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 2618 | dependencies: 2619 | safe-buffer "^5.1.0" 2620 | 2621 | randomfill@^1.0.3: 2622 | version "1.0.4" 2623 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" 2624 | integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== 2625 | dependencies: 2626 | randombytes "^2.0.5" 2627 | safe-buffer "^5.1.0" 2628 | 2629 | rc@^1.2.7: 2630 | version "1.2.8" 2631 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" 2632 | integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== 2633 | dependencies: 2634 | deep-extend "^0.6.0" 2635 | ini "~1.3.0" 2636 | minimist "^1.2.0" 2637 | strip-json-comments "~2.0.1" 2638 | 2639 | react-dom@^16.8.6: 2640 | version "16.8.6" 2641 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f" 2642 | integrity sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA== 2643 | dependencies: 2644 | loose-envify "^1.1.0" 2645 | object-assign "^4.1.1" 2646 | prop-types "^15.6.2" 2647 | scheduler "^0.13.6" 2648 | 2649 | react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.6: 2650 | version "16.8.6" 2651 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" 2652 | integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== 2653 | 2654 | react-redux@^7.1.0: 2655 | version "7.1.0" 2656 | resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.1.0.tgz#72af7cf490a74acdc516ea9c1dd80e25af9ea0b2" 2657 | integrity sha512-hyu/PoFK3vZgdLTg9ozbt7WF3GgX5+Yn3pZm5/96/o4UueXA+zj08aiSC9Mfj2WtD1bvpIb3C5yvskzZySzzaw== 2658 | dependencies: 2659 | "@babel/runtime" "^7.4.5" 2660 | hoist-non-react-statics "^3.3.0" 2661 | invariant "^2.2.4" 2662 | loose-envify "^1.4.0" 2663 | prop-types "^15.7.2" 2664 | react-is "^16.8.6" 2665 | 2666 | react-router-dom@^5.0.1: 2667 | version "5.0.1" 2668 | resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.0.1.tgz#ee66f4a5d18b6089c361958e443489d6bab714be" 2669 | integrity sha512-zaVHSy7NN0G91/Bz9GD4owex5+eop+KvgbxXsP/O+iW1/Ln+BrJ8QiIR5a6xNPtrdTvLkxqlDClx13QO1uB8CA== 2670 | dependencies: 2671 | "@babel/runtime" "^7.1.2" 2672 | history "^4.9.0" 2673 | loose-envify "^1.3.1" 2674 | prop-types "^15.6.2" 2675 | react-router "5.0.1" 2676 | tiny-invariant "^1.0.2" 2677 | tiny-warning "^1.0.0" 2678 | 2679 | react-router@5.0.1, react-router@^5.0.1: 2680 | version "5.0.1" 2681 | resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.0.1.tgz#04ee77df1d1ab6cb8939f9f01ad5702dbadb8b0f" 2682 | integrity sha512-EM7suCPNKb1NxcTZ2LEOWFtQBQRQXecLxVpdsP4DW4PbbqYWeRiLyV/Tt1SdCrvT2jcyXAXmVTmzvSzrPR63Bg== 2683 | dependencies: 2684 | "@babel/runtime" "^7.1.2" 2685 | history "^4.9.0" 2686 | hoist-non-react-statics "^3.1.0" 2687 | loose-envify "^1.3.1" 2688 | mini-create-react-context "^0.3.0" 2689 | path-to-regexp "^1.7.0" 2690 | prop-types "^15.6.2" 2691 | react-is "^16.6.0" 2692 | tiny-invariant "^1.0.2" 2693 | tiny-warning "^1.0.0" 2694 | 2695 | react@^16.8.6: 2696 | version "16.8.6" 2697 | resolved "https://registry.yarnpkg.com/react/-/react-16.8.6.tgz#ad6c3a9614fd3a4e9ef51117f54d888da01f2bbe" 2698 | integrity sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw== 2699 | dependencies: 2700 | loose-envify "^1.1.0" 2701 | object-assign "^4.1.1" 2702 | prop-types "^15.6.2" 2703 | scheduler "^0.13.6" 2704 | 2705 | "readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: 2706 | version "2.3.6" 2707 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 2708 | integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== 2709 | dependencies: 2710 | core-util-is "~1.0.0" 2711 | inherits "~2.0.3" 2712 | isarray "~1.0.0" 2713 | process-nextick-args "~2.0.0" 2714 | safe-buffer "~5.1.1" 2715 | string_decoder "~1.1.1" 2716 | util-deprecate "~1.0.1" 2717 | 2718 | readdirp@^2.2.1: 2719 | version "2.2.1" 2720 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" 2721 | integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== 2722 | dependencies: 2723 | graceful-fs "^4.1.11" 2724 | micromatch "^3.1.10" 2725 | readable-stream "^2.0.2" 2726 | 2727 | redux@^4.0.4: 2728 | version "4.0.4" 2729 | resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.4.tgz#4ee1aeb164b63d6a1bcc57ae4aa0b6e6fa7a3796" 2730 | integrity sha512-vKv4WdiJxOWKxK0yRoaK3Y4pxxB0ilzVx6dszU2W8wLxlb2yikRph4iV/ymtdJ6ZxpBLFbyrxklnT5yBbQSl3Q== 2731 | dependencies: 2732 | loose-envify "^1.4.0" 2733 | symbol-observable "^1.2.0" 2734 | 2735 | regenerator-runtime@^0.13.2: 2736 | version "0.13.2" 2737 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz#32e59c9a6fb9b1a4aff09b4930ca2d4477343447" 2738 | integrity sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA== 2739 | 2740 | regex-not@^1.0.0, regex-not@^1.0.2: 2741 | version "1.0.2" 2742 | resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" 2743 | integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== 2744 | dependencies: 2745 | extend-shallow "^3.0.2" 2746 | safe-regex "^1.1.0" 2747 | 2748 | remove-trailing-separator@^1.0.1: 2749 | version "1.1.0" 2750 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" 2751 | integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= 2752 | 2753 | repeat-element@^1.1.2: 2754 | version "1.1.3" 2755 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" 2756 | integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== 2757 | 2758 | repeat-string@^1.6.1: 2759 | version "1.6.1" 2760 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" 2761 | integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= 2762 | 2763 | require-directory@^2.1.1: 2764 | version "2.1.1" 2765 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2766 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 2767 | 2768 | require-main-filename@^2.0.0: 2769 | version "2.0.0" 2770 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" 2771 | integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== 2772 | 2773 | resolve-cwd@^2.0.0: 2774 | version "2.0.0" 2775 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" 2776 | integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= 2777 | dependencies: 2778 | resolve-from "^3.0.0" 2779 | 2780 | resolve-dir@^1.0.0, resolve-dir@^1.0.1: 2781 | version "1.0.1" 2782 | resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" 2783 | integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= 2784 | dependencies: 2785 | expand-tilde "^2.0.0" 2786 | global-modules "^1.0.0" 2787 | 2788 | resolve-from@^3.0.0: 2789 | version "3.0.0" 2790 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" 2791 | integrity sha1-six699nWiBvItuZTM17rywoYh0g= 2792 | 2793 | resolve-pathname@^2.2.0: 2794 | version "2.2.0" 2795 | resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879" 2796 | integrity sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg== 2797 | 2798 | resolve-url@^0.2.1: 2799 | version "0.2.1" 2800 | resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" 2801 | integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= 2802 | 2803 | resolve@^1.3.2: 2804 | version "1.11.1" 2805 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.11.1.tgz#ea10d8110376982fef578df8fc30b9ac30a07a3e" 2806 | integrity sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw== 2807 | dependencies: 2808 | path-parse "^1.0.6" 2809 | 2810 | ret@~0.1.10: 2811 | version "0.1.15" 2812 | resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" 2813 | integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== 2814 | 2815 | rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: 2816 | version "2.6.3" 2817 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 2818 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 2819 | dependencies: 2820 | glob "^7.1.3" 2821 | 2822 | ripemd160@^2.0.0, ripemd160@^2.0.1: 2823 | version "2.0.2" 2824 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" 2825 | integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== 2826 | dependencies: 2827 | hash-base "^3.0.0" 2828 | inherits "^2.0.1" 2829 | 2830 | run-queue@^1.0.0, run-queue@^1.0.3: 2831 | version "1.0.3" 2832 | resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" 2833 | integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= 2834 | dependencies: 2835 | aproba "^1.1.1" 2836 | 2837 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2: 2838 | version "5.2.0" 2839 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" 2840 | integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== 2841 | 2842 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 2843 | version "5.1.2" 2844 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2845 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2846 | 2847 | safe-regex@^1.1.0: 2848 | version "1.1.0" 2849 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" 2850 | integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= 2851 | dependencies: 2852 | ret "~0.1.10" 2853 | 2854 | "safer-buffer@>= 2.1.2 < 3": 2855 | version "2.1.2" 2856 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2857 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2858 | 2859 | sax@^1.2.4: 2860 | version "1.2.4" 2861 | resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" 2862 | integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== 2863 | 2864 | scheduler@^0.13.6: 2865 | version "0.13.6" 2866 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.6.tgz#466a4ec332467b31a91b9bf74e5347072e4cd889" 2867 | integrity sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ== 2868 | dependencies: 2869 | loose-envify "^1.1.0" 2870 | object-assign "^4.1.1" 2871 | 2872 | schema-utils@^1.0.0: 2873 | version "1.0.0" 2874 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" 2875 | integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== 2876 | dependencies: 2877 | ajv "^6.1.0" 2878 | ajv-errors "^1.0.0" 2879 | ajv-keywords "^3.1.0" 2880 | 2881 | semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0: 2882 | version "5.7.0" 2883 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" 2884 | integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== 2885 | 2886 | serialize-javascript@^1.7.0: 2887 | version "1.7.0" 2888 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65" 2889 | integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA== 2890 | 2891 | set-blocking@^2.0.0, set-blocking@~2.0.0: 2892 | version "2.0.0" 2893 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 2894 | integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= 2895 | 2896 | set-value@^2.0.0, set-value@^2.0.1: 2897 | version "2.0.1" 2898 | resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" 2899 | integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== 2900 | dependencies: 2901 | extend-shallow "^2.0.1" 2902 | is-extendable "^0.1.1" 2903 | is-plain-object "^2.0.3" 2904 | split-string "^3.0.1" 2905 | 2906 | setimmediate@^1.0.4: 2907 | version "1.0.5" 2908 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 2909 | integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= 2910 | 2911 | sha.js@^2.4.0, sha.js@^2.4.8: 2912 | version "2.4.11" 2913 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 2914 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== 2915 | dependencies: 2916 | inherits "^2.0.1" 2917 | safe-buffer "^5.0.1" 2918 | 2919 | shebang-command@^1.2.0: 2920 | version "1.2.0" 2921 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2922 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 2923 | dependencies: 2924 | shebang-regex "^1.0.0" 2925 | 2926 | shebang-regex@^1.0.0: 2927 | version "1.0.0" 2928 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2929 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 2930 | 2931 | signal-exit@^3.0.0: 2932 | version "3.0.2" 2933 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 2934 | integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= 2935 | 2936 | slash@^1.0.0: 2937 | version "1.0.0" 2938 | resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" 2939 | integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= 2940 | 2941 | snapdragon-node@^2.0.1: 2942 | version "2.1.1" 2943 | resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" 2944 | integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== 2945 | dependencies: 2946 | define-property "^1.0.0" 2947 | isobject "^3.0.0" 2948 | snapdragon-util "^3.0.1" 2949 | 2950 | snapdragon-util@^3.0.1: 2951 | version "3.0.1" 2952 | resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" 2953 | integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== 2954 | dependencies: 2955 | kind-of "^3.2.0" 2956 | 2957 | snapdragon@^0.8.1: 2958 | version "0.8.2" 2959 | resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" 2960 | integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== 2961 | dependencies: 2962 | base "^0.11.1" 2963 | debug "^2.2.0" 2964 | define-property "^0.2.5" 2965 | extend-shallow "^2.0.1" 2966 | map-cache "^0.2.2" 2967 | source-map "^0.5.6" 2968 | source-map-resolve "^0.5.0" 2969 | use "^3.1.0" 2970 | 2971 | source-list-map@^2.0.0: 2972 | version "2.0.1" 2973 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" 2974 | integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== 2975 | 2976 | source-map-resolve@^0.5.0: 2977 | version "0.5.2" 2978 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" 2979 | integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== 2980 | dependencies: 2981 | atob "^2.1.1" 2982 | decode-uri-component "^0.2.0" 2983 | resolve-url "^0.2.1" 2984 | source-map-url "^0.4.0" 2985 | urix "^0.1.0" 2986 | 2987 | source-map-support@~0.5.12: 2988 | version "0.5.12" 2989 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" 2990 | integrity sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ== 2991 | dependencies: 2992 | buffer-from "^1.0.0" 2993 | source-map "^0.6.0" 2994 | 2995 | source-map-url@^0.4.0: 2996 | version "0.4.0" 2997 | resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" 2998 | integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= 2999 | 3000 | source-map@^0.5.0, source-map@^0.5.6: 3001 | version "0.5.7" 3002 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 3003 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 3004 | 3005 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: 3006 | version "0.6.1" 3007 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3008 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 3009 | 3010 | split-string@^3.0.1, split-string@^3.0.2: 3011 | version "3.1.0" 3012 | resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" 3013 | integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== 3014 | dependencies: 3015 | extend-shallow "^3.0.0" 3016 | 3017 | ssri@^6.0.1: 3018 | version "6.0.1" 3019 | resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" 3020 | integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== 3021 | dependencies: 3022 | figgy-pudding "^3.5.1" 3023 | 3024 | static-extend@^0.1.1: 3025 | version "0.1.2" 3026 | resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" 3027 | integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= 3028 | dependencies: 3029 | define-property "^0.2.5" 3030 | object-copy "^0.1.0" 3031 | 3032 | stream-browserify@^2.0.1: 3033 | version "2.0.2" 3034 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" 3035 | integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== 3036 | dependencies: 3037 | inherits "~2.0.1" 3038 | readable-stream "^2.0.2" 3039 | 3040 | stream-each@^1.1.0: 3041 | version "1.2.3" 3042 | resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" 3043 | integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== 3044 | dependencies: 3045 | end-of-stream "^1.1.0" 3046 | stream-shift "^1.0.0" 3047 | 3048 | stream-http@^2.7.2: 3049 | version "2.8.3" 3050 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" 3051 | integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== 3052 | dependencies: 3053 | builtin-status-codes "^3.0.0" 3054 | inherits "^2.0.1" 3055 | readable-stream "^2.3.6" 3056 | to-arraybuffer "^1.0.0" 3057 | xtend "^4.0.0" 3058 | 3059 | stream-shift@^1.0.0: 3060 | version "1.0.0" 3061 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 3062 | integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= 3063 | 3064 | string-width@^1.0.1: 3065 | version "1.0.2" 3066 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 3067 | integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= 3068 | dependencies: 3069 | code-point-at "^1.0.0" 3070 | is-fullwidth-code-point "^1.0.0" 3071 | strip-ansi "^3.0.0" 3072 | 3073 | "string-width@^1.0.2 || 2": 3074 | version "2.1.1" 3075 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 3076 | integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== 3077 | dependencies: 3078 | is-fullwidth-code-point "^2.0.0" 3079 | strip-ansi "^4.0.0" 3080 | 3081 | string-width@^3.0.0, string-width@^3.1.0: 3082 | version "3.1.0" 3083 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" 3084 | integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== 3085 | dependencies: 3086 | emoji-regex "^7.0.1" 3087 | is-fullwidth-code-point "^2.0.0" 3088 | strip-ansi "^5.1.0" 3089 | 3090 | string_decoder@^1.0.0: 3091 | version "1.2.0" 3092 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" 3093 | integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== 3094 | dependencies: 3095 | safe-buffer "~5.1.0" 3096 | 3097 | string_decoder@~1.1.1: 3098 | version "1.1.1" 3099 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 3100 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 3101 | dependencies: 3102 | safe-buffer "~5.1.0" 3103 | 3104 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 3105 | version "3.0.1" 3106 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 3107 | integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= 3108 | dependencies: 3109 | ansi-regex "^2.0.0" 3110 | 3111 | strip-ansi@^4.0.0: 3112 | version "4.0.0" 3113 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 3114 | integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= 3115 | dependencies: 3116 | ansi-regex "^3.0.0" 3117 | 3118 | strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: 3119 | version "5.2.0" 3120 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 3121 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 3122 | dependencies: 3123 | ansi-regex "^4.1.0" 3124 | 3125 | strip-eof@^1.0.0: 3126 | version "1.0.0" 3127 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 3128 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 3129 | 3130 | strip-json-comments@~2.0.1: 3131 | version "2.0.1" 3132 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 3133 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 3134 | 3135 | style-loader@^0.23.1: 3136 | version "0.23.1" 3137 | resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" 3138 | integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== 3139 | dependencies: 3140 | loader-utils "^1.1.0" 3141 | schema-utils "^1.0.0" 3142 | 3143 | supports-color@6.1.0, supports-color@^6.1.0: 3144 | version "6.1.0" 3145 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 3146 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 3147 | dependencies: 3148 | has-flag "^3.0.0" 3149 | 3150 | supports-color@^5.3.0: 3151 | version "5.5.0" 3152 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3153 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3154 | dependencies: 3155 | has-flag "^3.0.0" 3156 | 3157 | symbol-observable@^1.2.0: 3158 | version "1.2.0" 3159 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 3160 | integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== 3161 | 3162 | tapable@^1.0.0, tapable@^1.1.0: 3163 | version "1.1.3" 3164 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" 3165 | integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== 3166 | 3167 | tar@^4: 3168 | version "4.4.10" 3169 | resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" 3170 | integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== 3171 | dependencies: 3172 | chownr "^1.1.1" 3173 | fs-minipass "^1.2.5" 3174 | minipass "^2.3.5" 3175 | minizlib "^1.2.1" 3176 | mkdirp "^0.5.0" 3177 | safe-buffer "^5.1.2" 3178 | yallist "^3.0.3" 3179 | 3180 | terser-webpack-plugin@^1.1.0: 3181 | version "1.3.0" 3182 | resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz#69aa22426299f4b5b3775cbed8cb2c5d419aa1d4" 3183 | integrity sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg== 3184 | dependencies: 3185 | cacache "^11.3.2" 3186 | find-cache-dir "^2.0.0" 3187 | is-wsl "^1.1.0" 3188 | loader-utils "^1.2.3" 3189 | schema-utils "^1.0.0" 3190 | serialize-javascript "^1.7.0" 3191 | source-map "^0.6.1" 3192 | terser "^4.0.0" 3193 | webpack-sources "^1.3.0" 3194 | worker-farm "^1.7.0" 3195 | 3196 | terser@^4.0.0: 3197 | version "4.1.2" 3198 | resolved "https://registry.yarnpkg.com/terser/-/terser-4.1.2.tgz#b2656c8a506f7ce805a3f300a2ff48db022fa391" 3199 | integrity sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw== 3200 | dependencies: 3201 | commander "^2.20.0" 3202 | source-map "~0.6.1" 3203 | source-map-support "~0.5.12" 3204 | 3205 | through2@^2.0.0: 3206 | version "2.0.5" 3207 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" 3208 | integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== 3209 | dependencies: 3210 | readable-stream "~2.3.6" 3211 | xtend "~4.0.1" 3212 | 3213 | timers-browserify@^2.0.4: 3214 | version "2.0.10" 3215 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" 3216 | integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg== 3217 | dependencies: 3218 | setimmediate "^1.0.4" 3219 | 3220 | tiny-invariant@^1.0.2: 3221 | version "1.0.5" 3222 | resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.0.5.tgz#0d198cf4f50ba34b28a16d8b28dcc4b02b813c44" 3223 | integrity sha512-BziszNEQNwtyMS9OVJia2LK9N9b6VJ35kBrvhDDDpr4hreLYqhCie15dB35uZMdqv9ZTQ55GHQtkz2FnleTHIA== 3224 | 3225 | tiny-warning@^1.0.0, tiny-warning@^1.0.2: 3226 | version "1.0.3" 3227 | resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" 3228 | integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== 3229 | 3230 | to-arraybuffer@^1.0.0: 3231 | version "1.0.1" 3232 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 3233 | integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= 3234 | 3235 | to-fast-properties@^2.0.0: 3236 | version "2.0.0" 3237 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 3238 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 3239 | 3240 | to-object-path@^0.3.0: 3241 | version "0.3.0" 3242 | resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" 3243 | integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= 3244 | dependencies: 3245 | kind-of "^3.0.2" 3246 | 3247 | to-regex-range@^2.1.0: 3248 | version "2.1.1" 3249 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" 3250 | integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= 3251 | dependencies: 3252 | is-number "^3.0.0" 3253 | repeat-string "^1.6.1" 3254 | 3255 | to-regex@^3.0.1, to-regex@^3.0.2: 3256 | version "3.0.2" 3257 | resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" 3258 | integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== 3259 | dependencies: 3260 | define-property "^2.0.2" 3261 | extend-shallow "^3.0.2" 3262 | regex-not "^1.0.2" 3263 | safe-regex "^1.1.0" 3264 | 3265 | trim-right@^1.0.1: 3266 | version "1.0.1" 3267 | resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" 3268 | integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= 3269 | 3270 | tslib@^1.9.0: 3271 | version "1.10.0" 3272 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" 3273 | integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== 3274 | 3275 | tty-browserify@0.0.0: 3276 | version "0.0.0" 3277 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 3278 | integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= 3279 | 3280 | typedarray@^0.0.6: 3281 | version "0.0.6" 3282 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 3283 | integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= 3284 | 3285 | union-value@^1.0.0: 3286 | version "1.0.1" 3287 | resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" 3288 | integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== 3289 | dependencies: 3290 | arr-union "^3.1.0" 3291 | get-value "^2.0.6" 3292 | is-extendable "^0.1.1" 3293 | set-value "^2.0.1" 3294 | 3295 | uniq@^1.0.1: 3296 | version "1.0.1" 3297 | resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" 3298 | integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= 3299 | 3300 | unique-filename@^1.1.1: 3301 | version "1.1.1" 3302 | resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" 3303 | integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== 3304 | dependencies: 3305 | unique-slug "^2.0.0" 3306 | 3307 | unique-slug@^2.0.0: 3308 | version "2.0.2" 3309 | resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" 3310 | integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== 3311 | dependencies: 3312 | imurmurhash "^0.1.4" 3313 | 3314 | unset-value@^1.0.0: 3315 | version "1.0.0" 3316 | resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" 3317 | integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= 3318 | dependencies: 3319 | has-value "^0.3.1" 3320 | isobject "^3.0.0" 3321 | 3322 | upath@^1.1.1: 3323 | version "1.1.2" 3324 | resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" 3325 | integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== 3326 | 3327 | uri-js@^4.2.2: 3328 | version "4.2.2" 3329 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" 3330 | integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== 3331 | dependencies: 3332 | punycode "^2.1.0" 3333 | 3334 | urix@^0.1.0: 3335 | version "0.1.0" 3336 | resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" 3337 | integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= 3338 | 3339 | url@^0.11.0: 3340 | version "0.11.0" 3341 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 3342 | integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= 3343 | dependencies: 3344 | punycode "1.3.2" 3345 | querystring "0.2.0" 3346 | 3347 | use@^3.1.0: 3348 | version "3.1.1" 3349 | resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" 3350 | integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== 3351 | 3352 | util-deprecate@~1.0.1: 3353 | version "1.0.2" 3354 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 3355 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 3356 | 3357 | util@0.10.3: 3358 | version "0.10.3" 3359 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 3360 | integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= 3361 | dependencies: 3362 | inherits "2.0.1" 3363 | 3364 | util@^0.11.0: 3365 | version "0.11.1" 3366 | resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" 3367 | integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== 3368 | dependencies: 3369 | inherits "2.0.3" 3370 | 3371 | uuid@^3.3.2: 3372 | version "3.3.2" 3373 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" 3374 | integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== 3375 | 3376 | v8-compile-cache@2.0.3: 3377 | version "2.0.3" 3378 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" 3379 | integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== 3380 | 3381 | value-equal@^0.4.0: 3382 | version "0.4.0" 3383 | resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7" 3384 | integrity sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw== 3385 | 3386 | vm-browserify@^1.0.1: 3387 | version "1.1.0" 3388 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" 3389 | integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== 3390 | 3391 | watchpack@^1.5.0: 3392 | version "1.6.0" 3393 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" 3394 | integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== 3395 | dependencies: 3396 | chokidar "^2.0.2" 3397 | graceful-fs "^4.1.2" 3398 | neo-async "^2.5.0" 3399 | 3400 | webpack-cli@^3.3.5: 3401 | version "3.3.5" 3402 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.5.tgz#f4d1238a66a2843d9cebf189835ea22142e72767" 3403 | integrity sha512-w0j/s42c5UhchwTmV/45MLQnTVwRoaUTu9fM5LuyOd/8lFoCNCELDogFoecx5NzRUndO0yD/gF2b02XKMnmAWQ== 3404 | dependencies: 3405 | chalk "2.4.2" 3406 | cross-spawn "6.0.5" 3407 | enhanced-resolve "4.1.0" 3408 | findup-sync "3.0.0" 3409 | global-modules "2.0.0" 3410 | import-local "2.0.0" 3411 | interpret "1.2.0" 3412 | loader-utils "1.2.3" 3413 | supports-color "6.1.0" 3414 | v8-compile-cache "2.0.3" 3415 | yargs "13.2.4" 3416 | 3417 | webpack-log@^2.0.0: 3418 | version "2.0.0" 3419 | resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" 3420 | integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== 3421 | dependencies: 3422 | ansi-colors "^3.0.0" 3423 | uuid "^3.3.2" 3424 | 3425 | webpack-sources@^1.3.0: 3426 | version "1.3.0" 3427 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" 3428 | integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== 3429 | dependencies: 3430 | source-list-map "^2.0.0" 3431 | source-map "~0.6.1" 3432 | 3433 | webpack@^4.35.3: 3434 | version "4.35.3" 3435 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.35.3.tgz#66bc35ef215a7b75e8790f84d560013ffecf0ca3" 3436 | integrity sha512-xggQPwr9ILlXzz61lHzjvgoqGU08v5+Wnut19Uv3GaTtzN4xBTcwnobodrXE142EL1tOiS5WVEButooGzcQzTA== 3437 | dependencies: 3438 | "@webassemblyjs/ast" "1.8.5" 3439 | "@webassemblyjs/helper-module-context" "1.8.5" 3440 | "@webassemblyjs/wasm-edit" "1.8.5" 3441 | "@webassemblyjs/wasm-parser" "1.8.5" 3442 | acorn "^6.2.0" 3443 | ajv "^6.1.0" 3444 | ajv-keywords "^3.1.0" 3445 | chrome-trace-event "^1.0.0" 3446 | enhanced-resolve "^4.1.0" 3447 | eslint-scope "^4.0.0" 3448 | json-parse-better-errors "^1.0.2" 3449 | loader-runner "^2.3.0" 3450 | loader-utils "^1.1.0" 3451 | memory-fs "~0.4.1" 3452 | micromatch "^3.1.8" 3453 | mkdirp "~0.5.0" 3454 | neo-async "^2.5.0" 3455 | node-libs-browser "^2.0.0" 3456 | schema-utils "^1.0.0" 3457 | tapable "^1.1.0" 3458 | terser-webpack-plugin "^1.1.0" 3459 | watchpack "^1.5.0" 3460 | webpack-sources "^1.3.0" 3461 | 3462 | which-module@^2.0.0: 3463 | version "2.0.0" 3464 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 3465 | integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= 3466 | 3467 | which@^1.2.14, which@^1.2.9, which@^1.3.1: 3468 | version "1.3.1" 3469 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 3470 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 3471 | dependencies: 3472 | isexe "^2.0.0" 3473 | 3474 | wide-align@^1.1.0: 3475 | version "1.1.3" 3476 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" 3477 | integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== 3478 | dependencies: 3479 | string-width "^1.0.2 || 2" 3480 | 3481 | worker-farm@^1.7.0: 3482 | version "1.7.0" 3483 | resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" 3484 | integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== 3485 | dependencies: 3486 | errno "~0.1.7" 3487 | 3488 | wrap-ansi@^5.1.0: 3489 | version "5.1.0" 3490 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" 3491 | integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== 3492 | dependencies: 3493 | ansi-styles "^3.2.0" 3494 | string-width "^3.0.0" 3495 | strip-ansi "^5.0.0" 3496 | 3497 | wrappy@1: 3498 | version "1.0.2" 3499 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3500 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 3501 | 3502 | xtend@^4.0.0, xtend@~4.0.1: 3503 | version "4.0.2" 3504 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 3505 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 3506 | 3507 | y18n@^4.0.0: 3508 | version "4.0.0" 3509 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" 3510 | integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== 3511 | 3512 | yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: 3513 | version "3.0.3" 3514 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" 3515 | integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== 3516 | 3517 | yargs-parser@^13.1.0: 3518 | version "13.1.1" 3519 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" 3520 | integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== 3521 | dependencies: 3522 | camelcase "^5.0.0" 3523 | decamelize "^1.2.0" 3524 | 3525 | yargs@13.2.4: 3526 | version "13.2.4" 3527 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" 3528 | integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== 3529 | dependencies: 3530 | cliui "^5.0.0" 3531 | find-up "^3.0.0" 3532 | get-caller-file "^2.0.1" 3533 | os-locale "^3.1.0" 3534 | require-directory "^2.1.1" 3535 | require-main-filename "^2.0.0" 3536 | set-blocking "^2.0.0" 3537 | string-width "^3.0.0" 3538 | which-module "^2.0.0" 3539 | y18n "^4.0.0" 3540 | yargs-parser "^13.1.0" 3541 | -------------------------------------------------------------------------------- /packages/foods/data/foods.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "id": 1, 4 | "name": "Bak Kut Teh", 5 | "description": "Bak Kut Teh has been around in Singapore since we were still a developing country and deserves its recognition as a simple, humble dish. Most of the Bak Kut Teh here are of the pepper variety with mild use of herbs like star anise.\nChoose pork rib meat in your soup for a more tender bite. The other variant would be the Klang Bak Kut Teh, a dark and highly flavoured herbal soup originating from Malaysia." 6 | }, 7 | { 8 | "id": 2, 9 | "name": "Wanton Mee", 10 | "description": "This Singapore wanton noodle dish was probably influenced by Hong Kong cuisine, but has become entrenched in our culture over the years. The Singapore version is typically eaten ‘dry’, drenched with some light sweet sauce, slices of pork char siew and wanton dumplings filled with pork, with a small bowl of soup on the side." 11 | }, 12 | { 13 | "id": 3, 14 | "name": "Fried Carrot Cake", 15 | "description": "This is a Teochew dish popular in both Singapore and Malaysia. Variants include the ‘black’ version, which has sweet sauce (molasses) added, or a crispy version with the cake fried on top of a beaten egg to create a crust and chunks of cake. Most commonly seen in Singapore though is the chopped up version with individual radish cake cubes." 16 | }, 17 | { 18 | "id": 4, 19 | "name": "Kaya Toast & Soft-Boiled Eggs", 20 | "description": "The one and only traditional Singaporean breakfast – Kaya Toast with Soft-Boiled Eggs. The traditional bread is an old school rectangular white loaf, toasted on a bread grill, lathered with coconut or egg kaya, then slapped with a thick slice of SCS butter that slowly melts within two slices of warm bread.\nFor the eggs, they’re usually placed in a large hot water metal pot and covered with a plate. Then you time it and take out the eggs when they’re ready (about 7 – 10 minutes depending on how well you like your eggs)." 21 | }, 22 | { 23 | "id": 5, 24 | "name": "Crabs (Chilli Or Pepper)", 25 | "description": "The two most famous styles of cooking crabs in Singapore are with a sweet, spicy tomato-ish chilli sauce, or with black pepper sauce. Chilli crabs are usually eaten along with fried mantous (buns), which are dipped in the luscious chilli sauce." 26 | }, 27 | { 28 | "id": 6, 29 | "name": "Laksa", 30 | "description": "Laksa is a dish created from the merging of Chinese and Malay cuisine, otherwise known as Peranakan culture. There are two main types of Laksa – Curry Laksa and Asam Laksa.\nCurry Laksa is more predominant in Singapore, while Asam Laksa is more commonly found in Malaysian regions like Penang. In fact there are loads of variants of Laksa, differing in the type of fish used, broth and even noodles." 31 | }, 32 | { 33 | "id": 7, 34 | "name": "Curry Fish Head", 35 | "description": "Either half a head or the whole head of a red snapper is stewed in curry with assorted vegetables like lady’s finger (okra) and brinjal (aubergine). The Indian-style of curry has heavier spices and flavours, while the Chinese-style is lighter and sweeter. Variants include the Assam-style fish head curry, which has an added tinge of sourness from tamarind fruit (assam)." 36 | } 37 | ] 38 | -------------------------------------------------------------------------------- /packages/foods/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "foods", 3 | "version": "1.0.0", 4 | "author": "Tan Li Hau ", 5 | "license": "MIT", 6 | "scripts": { 7 | "dev": "NODE_ENV=development webpack --watch", 8 | "build": "NODE_ENV=production webpack" 9 | }, 10 | "devDependencies": { 11 | "@babel/core": "^7.5.4", 12 | "@babel/plugin-syntax-dynamic-import": "^7.2.0", 13 | "@babel/preset-react": "^7.0.0", 14 | "@micro-fe/build": "1.0.0", 15 | "babel-loader": "^8.0.6", 16 | "copy-webpack-plugin": "^5.0.3", 17 | "css-loader": "^3.0.0", 18 | "react": "^16.8.6", 19 | "react-dom": "^16.8.6", 20 | "react-redux": "^7.1.0", 21 | "react-router": "^5.0.1", 22 | "react-router-dom": "^5.0.1", 23 | "redux": "^4.0.4", 24 | "style-loader": "^0.23.1", 25 | "webpack": "^4.35.3", 26 | "webpack-cli": "^3.3.5" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /packages/foods/src/FoodList.js: -------------------------------------------------------------------------------- 1 | import React, { useEffect } from 'react'; 2 | import { connect } from 'react-redux'; 3 | import { Link } from 'react-router-dom'; 4 | import foodListReducer from './reducer'; 5 | import Bridge from '@micro-fe/Bridge'; 6 | 7 | const reducerMap = { 8 | foods: foodListReducer, 9 | }; 10 | 11 | // inject async reducer 12 | Bridge.Channel.publish('registerReducer', reducerMap); 13 | 14 | function FoodList({ loading, foods, fetchFoodList }) { 15 | useEffect(() => { 16 | fetchFoodList(); 17 | }, []); 18 | 19 | return ( 20 | <> 21 |

Foods

22 | {foods.map(food => ( 23 | 24 | {food.name} 25 |

{food.description}

26 |
27 | ))} 28 | 29 | ); 30 | } 31 | 32 | export default connect( 33 | state => ({ 34 | loading: state.foods.loading, 35 | foods: state.foods.foods, 36 | }), 37 | { 38 | fetchFoodList() { 39 | return async dispatch => { 40 | const foods = await (await window.fetch( 41 | __BASE_URL__ + '/foods.json' 42 | )).json(); 43 | 44 | dispatch({ type: 'FETCH_FOODS_SUCCESS', data: { foods } }); 45 | }; 46 | }, 47 | } 48 | )(FoodList); 49 | -------------------------------------------------------------------------------- /packages/foods/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Route } from 'react-router-dom'; 3 | import FoodList from './FoodList'; 4 | 5 | window.__BRIDGE__.Channel.publish( 6 | 'registerRoute', 7 | 8 | ); 9 | -------------------------------------------------------------------------------- /packages/foods/src/reducer.js: -------------------------------------------------------------------------------- 1 | const INITIAL_STATE = { 2 | foods: [], 3 | foodMap: {}, 4 | }; 5 | 6 | export default function(state = INITIAL_STATE, action) { 7 | switch (action.type) { 8 | case 'FETCH_FOODS_SUCCESS': 9 | const foodMap = { ...state.foodMap }; 10 | action.data.foods.forEach(food => { 11 | foodMap[food.id] = food; 12 | }); 13 | return { ...state, foods: action.data.foods, foodMap }; 14 | default: 15 | return state; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /packages/foods/webpack.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | const CopyPlugin = require('copy-webpack-plugin'); 3 | const AssetManifestPlugin = require('@micro-fe/build/AssetManifestPlugin'); 4 | 5 | const isProduction = process.env.NODE_ENV === 'production'; 6 | 7 | module.exports = { 8 | mode: process.env.NODE_ENV, 9 | output: { 10 | filename: 'bundle.js', 11 | publicPath: isProduction ? '/foods/' : '/cdn/foods/', 12 | }, 13 | module: { 14 | rules: [ 15 | { 16 | test: /\.js$/, 17 | exclude: /node_modules/, 18 | use: [ 19 | { 20 | loader: 'babel-loader', 21 | options: { 22 | presets: ['@babel/preset-react'], 23 | plugins: [ 24 | '@babel/plugin-syntax-dynamic-import', 25 | require.resolve('@micro-fe/build/BridgeAliasPlugin'), 26 | ], 27 | }, 28 | }, 29 | ], 30 | }, 31 | { 32 | test: /\.css$/, 33 | use: [ 34 | 'style-loader', 35 | { 36 | loader: 'css-loader', 37 | options: { 38 | modules: true, 39 | }, 40 | }, 41 | ], 42 | }, 43 | ], 44 | }, 45 | plugins: [ 46 | new CopyPlugin([ 47 | { 48 | from: 'data/foods.json', 49 | to: 'foods.json', 50 | }, 51 | ]), 52 | new webpack.DefinePlugin({ 53 | __BASE_URL__: isProduction ? '"/foods/"' : '"/cdn/foods/"', 54 | }), 55 | new AssetManifestPlugin(), 56 | ], 57 | optimization: { 58 | minimize: false, 59 | }, 60 | }; 61 | -------------------------------------------------------------------------------- /scripts/post-build.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs-extra'); 2 | const path = require('path'); 3 | const packages = ['base', 'food', 'foods']; 4 | 5 | const distFolder = path.resolve(__dirname, '../dist'); 6 | fs.ensureDirSync(distFolder); 7 | 8 | for (const pkg of packages) { 9 | const pkgDistFolder = path.join(__dirname, '../packages/', pkg, './dist'); 10 | const targetFolder = path.join(distFolder, pkg); 11 | fs.copySync(pkgDistFolder, targetFolder); 12 | } 13 | -------------------------------------------------------------------------------- /scripts/start-dev-server.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const path = require('path'); 3 | const chalk = require('chalk'); 4 | const fs = require('fs').promises; 5 | 6 | const app = express(); 7 | 8 | const baseFolder = path.join(process.cwd(), './packages/base/dist'); 9 | const packageFolder = path.join(process.cwd(), './packages'); 10 | const indexHtml = path.join(process.cwd(), './packages/base/dist/index.html'); 11 | 12 | app.use(async (req, res) => { 13 | console.log(chalk.yellow('Received request:', req.url)); 14 | 15 | const url = req.url === '/' ? 'index.html' : req.url; 16 | 17 | if (url.startsWith('/cdn/')) { 18 | return serveFile(res, path.join(packageFolder, url.replace(/^\/cdn\/([^\/]+)/, '$1/dist'))); 19 | } 20 | 21 | serveFile(res, path.join(baseFolder, url), indexHtml); 22 | }); 23 | 24 | app.listen(4000, () => 25 | console.log('Server started listening at http://localhost:4000') 26 | ); 27 | 28 | async function serveFile(res, file, fallback) { 29 | try { 30 | console.log(chalk.blue('Trying '), file); 31 | const stat = await fs.stat(file); 32 | if (stat.isFile()) { 33 | console.log(chalk.green('Serving '), file); 34 | return res.sendFile(file); 35 | } 36 | } catch (error) { 37 | if (fallback) { 38 | console.log(chalk.red('404 Fallback'), 'Serving `index.html`'); 39 | return res.sendFile(fallback); 40 | } else { 41 | console.log(chalk.red.bold('404 Not Found')); 42 | res.sendStatus(404); 43 | } 44 | } 45 | } 46 | --------------------------------------------------------------------------------