├── src ├── .gitignore ├── config.ts ├── assistant.ts ├── index.ts └── auth.ts ├── .vscode └── settings.json ├── .gitignore ├── tsconfig.json ├── .gcloudignore ├── package.json ├── smartthings_device_type.groovy ├── test.http ├── README.md └── yarn.lock /src/.gitignore: -------------------------------------------------------------------------------- 1 | env.json 2 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "eslint.enable": false 3 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | src/*.js 3 | *.map 4 | credentials.json 5 | internal_test.http 6 | -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- 1 | export interface AuthConfig { 2 | keyFilePath: string, 3 | savedTokensBucket: string, 4 | } 5 | 6 | export interface Config { 7 | auth: AuthConfig 8 | } 9 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["es6"], 4 | "module": "commonjs", 5 | "noImplicitAny": false, 6 | "sourceMap": true, 7 | "target": "es6", 8 | "typeRoots": [ 9 | "node_modules/@types" 10 | ] 11 | }, 12 | "include": [ 13 | "src/**/*.ts", 14 | "spec/**/*.ts" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /.gcloudignore: -------------------------------------------------------------------------------- 1 | # This file specifies files that are *not* uploaded to Google Cloud Platform 2 | # using gcloud. It follows the same syntax as .gitignore, with the addition of 3 | # "#!include" directives (which insert the entries of the given .gitignore-style 4 | # file at that point). 5 | # 6 | # For more information, run: 7 | # $ gcloud topic gcloudignore 8 | # 9 | .gcloudignore 10 | # If you would like to upload your .git directory, .gitignore file or files 11 | # from your .gitignore file, remove the corresponding line 12 | # below: 13 | .git 14 | .gitignore 15 | 16 | node_modules 17 | *.ts 18 | 19 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "broadcast-assistant-function", 3 | "version": "1.0.0", 4 | "main": "src/index.js", 5 | "author": "Nelson Chen ", 6 | "license": "MIT", 7 | "dependencies": { 8 | "@google-cloud/functions-emulator": "^1.0.0-beta.4", 9 | "@google-cloud/storage": "^1.6.0", 10 | "@types/events": "^1.2.0", 11 | "@types/express": "^4.11.1", 12 | "@types/google-cloud__storage": "^1.1.7", 13 | "@types/node": "^9.6.2", 14 | "express": "^4.16.3", 15 | "google-assistant": "^0.2.2", 16 | "google-auth-library": "^1.4.0", 17 | "typescript": "^2.8.1" 18 | }, 19 | "scripts": { 20 | "build": "./node_modules/.bin/tsc" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /smartthings_device_type.groovy: -------------------------------------------------------------------------------- 1 | /** 2 | * Broadcast Assistant Function 3 | * 4 | * Copyright 2018 Nelson Chen 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except 7 | * in compliance with the License. You may obtain a copy of the License at: 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed 12 | * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License 13 | * for the specific language governing permissions and limitations under the License. 14 | * 15 | */ 16 | metadata { 17 | definition (name: "Assistant Relay", namespace: "nelsonjchen", author: "Nelson Chen") { 18 | capability "Actuator" 19 | command "broadcast", [ "string" ] 20 | } 21 | } 22 | 23 | 24 | def broadcast(text) { 25 | def params = [ 26 | uri: "https://xxx.cloudfunctions.net/broadcastMessage", 27 | body: [ 28 | message: text, 29 | secret: "xxx", 30 | ] 31 | ] 32 | 33 | httpPostJson(params) 34 | } 35 | -------------------------------------------------------------------------------- /test.http: -------------------------------------------------------------------------------- 1 | # Use with VSCode REST Client extension 2 | 3 | ### 4 | 5 | POST http://localhost:8010/broadcast-assistant-37619/us-central1/broadcastMessage HTTP/1.1 6 | content-type: application/json 7 | 8 | { 9 | "message": "The laundry machine is done.", 10 | "secret": "xxx" 11 | } 12 | 13 | ### 14 | 15 | POST http://localhost:8010/broadcast-assistant-37619/us-central1/broadcastMessage HTTP/1.1 16 | content-type: application/json 17 | 18 | { 19 | "message": "The dryer machine is done.", 20 | "secret": "xxx" 21 | } 22 | 23 | ### 24 | 25 | POST http://localhost:8010/broadcast-assistant-37619/us-central1/broadcastMessage HTTP/1.1 26 | content-type: application/json 27 | 28 | { 29 | "message": "I have come here to chew bubblegum and kick ass ... and I'm all out of bubblegum.", 30 | "secret": "xxx" 31 | } 32 | 33 | 34 | ### 35 | 36 | POST http://localhost:8010/broadcast-assistant-37619/us-central1/broadcastMessage HTTP/1.1 37 | content-type: application/json 38 | 39 | { 40 | "message": "Oh, egads! My roast is ruined. But what if I were to purchase fast food and disguise it as my own cooking? Delightfully devilish, Seymour.", 41 | "secret": "xxx" 42 | } 43 | 44 | 45 | -------------------------------------------------------------------------------- /src/assistant.ts: -------------------------------------------------------------------------------- 1 | import * as EventEmitter from 'events'; 2 | import * as util from 'util'; 3 | 4 | import * as Assistant from 'google-assistant/components/assistant'; 5 | // Use internal Auth 6 | import Auth from './auth'; 7 | import * as Conversation from 'google-assistant/components/conversation'; 8 | 9 | export default class GoogleAssistant extends EventEmitter { 10 | assistant: any; 11 | 12 | constructor(authConfig, callback?) { 13 | super() 14 | if (authConfig === undefined) { 15 | const error = new Error('Missing auth config object!'); 16 | this.emit('error', error); 17 | if (callback) callback(error); 18 | return; 19 | } 20 | // we need to auth with Google right out of the gate 21 | const auth = new Auth(authConfig); 22 | 23 | auth.on('ready', (client) => { 24 | this.assistant = new Assistant(client); 25 | this.emit('ready', this.assistant); 26 | if (callback) callback(this.assistant); 27 | }); 28 | } 29 | 30 | start(conversationConfig, callback) { 31 | if (this.assistant === undefined) { 32 | const error = new Error('Tried calling start() before the ready event!'); 33 | this.emit('error', error); 34 | if (callback) callback(error); 35 | return; 36 | } 37 | 38 | const conversation = new Conversation(this.assistant, conversationConfig); 39 | this.emit('started', conversation); 40 | if (callback) callback(conversation); 41 | } 42 | }; 43 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { Request, Response } from "express"; 2 | import GoogleAssistant from './assistant'; 3 | import * as path from 'path'; 4 | 5 | const startConversation = (conversation) => { 6 | // setup the conversation 7 | conversation 8 | .on('response', text => console.log('Assistant Response:', text)) 9 | // if we've requested a volume level change, get the percentage of the new level 10 | .on('volume-percent', percent => console.log('New Volume Percent:', percent)) 11 | // the device needs to complete an action 12 | .on('device-action', action => console.log('Device Action:', action)) 13 | // once the conversation is ended, see if we need to follow up 14 | .on('ended', (error, continueConversation) => { 15 | if (error) { 16 | console.log('Conversation Ended Error:', error); 17 | } else if (continueConversation) { 18 | console.log('Conversation Continued? Bye anyway.', error); 19 | conversation.end(); 20 | } else { 21 | console.log('Conversation Complete'); 22 | conversation.end(); 23 | } 24 | }) 25 | // catch any errors 26 | .on('error', (error) => { 27 | console.log('Conversation Error:', error); 28 | }); 29 | }; 30 | 31 | function broadcastMessageGoogleAssistant(message: string) { 32 | const savedTokensBucket = require(path.resolve(__dirname, 'env.json')).savedTokensBucket; 33 | 34 | const config = { 35 | auth: { 36 | keyFilePath: path.resolve(__dirname, 'credentials.json'), 37 | savedTokensBucket, 38 | } 39 | }; 40 | 41 | 42 | const assistant = new GoogleAssistant(config.auth); 43 | assistant 44 | .on('ready', () => { 45 | assistant.start( 46 | { 47 | lang: 'en-US', // defaults to en-US, but try other ones, it's fun! 48 | textQuery: 'broadcast ' + message 49 | }, 50 | startConversation 51 | ) 52 | }) 53 | } 54 | 55 | export function broadcastMessage(req: Request, res: Response) { 56 | const secret = require(path.resolve(__dirname, 'env.json')).secret; 57 | if (req.body.message === undefined) { 58 | // This is an error case, as "message" is required 59 | res.status(400).send('No message defined!'); 60 | } else { 61 | // Everything is ok 62 | if (req.body.secret !== secret) { 63 | res.status(400).send('Invalid Shared Secret.'); 64 | return; 65 | } 66 | console.log(req.body.message); 67 | broadcastMessageGoogleAssistant(req.body.message) 68 | res.status(200).end(); 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /src/auth.ts: -------------------------------------------------------------------------------- 1 | import * as EventEmitter from 'events'; 2 | import * as util from 'util'; 3 | import * as grpc from 'grpc'; 4 | import * as readline from 'readline'; 5 | import * as fs from 'fs'; 6 | import * as path from 'path'; 7 | import * as mkdirp from 'mkdirp'; 8 | import * as Storage from '@google-cloud/storage'; 9 | import { OAuth2Client } from 'google-auth-library'; 10 | import { Credentials } from 'google-auth-library/build/src/auth/credentials'; 11 | import { AuthConfig } from './config'; 12 | 13 | function Auth(config: AuthConfig) { 14 | const key = require(config.keyFilePath).installed; 15 | const oauthClient = new OAuth2Client(key.client_id, key.client_secret, key.redirect_uris[0]); 16 | const storage = Storage(); 17 | let tokens: Credentials; 18 | 19 | const saveTokens = () => { 20 | oauthClient.setCredentials(tokens); 21 | this.emit('ready', oauthClient); 22 | 23 | storage.bucket(config.savedTokensBucket).file('tokens.json').createWriteStream().write(JSON.stringify(tokens)) 24 | }; 25 | 26 | const getTokens = () => { 27 | const url = oauthClient.generateAuthUrl({ 28 | access_type: 'offline', 29 | scope: ['https://www.googleapis.com/auth/assistant-sdk-prototype'], 30 | }); 31 | 32 | // open the URL 33 | console.log('Attempted to automatically open the URL, but if it failed, copy/paste this in your browser:\n', url); 34 | 35 | // create the interface to accept the code 36 | const reader = readline.createInterface({ 37 | input: process.stdin, 38 | output: process.stdout, 39 | terminal: false, 40 | }); 41 | 42 | reader.question('Paste your code: ', processTokens); 43 | }; 44 | 45 | const processTokens = (oauthCode) => { 46 | if (!oauthCode) process.exit(-1); 47 | 48 | // get our tokens to save 49 | oauthClient.getToken(oauthCode, (error, tkns) => { 50 | // if we didn't have an error, save the tokens 51 | if (error) throw new Error('Error getting tokens:' + error); 52 | 53 | tokens = tkns; 54 | saveTokens(); 55 | }); 56 | }; 57 | 58 | // if the tokens are already saved, we can skip having to get the code for now 59 | process.nextTick(async () => { 60 | if (config.savedTokensBucket) { 61 | try { 62 | const tokensFile = await storage.bucket(config.savedTokensBucket).file('tokens.json').download(); 63 | tokens = JSON.parse(tokensFile.toString()); 64 | } catch (error) { 65 | // we need to get the tokens 66 | getTokens(); 67 | } finally { 68 | if (tokens !== undefined) saveTokens(); 69 | } 70 | } 71 | }); 72 | 73 | } 74 | 75 | util.inherits(Auth, EventEmitter); 76 | export default Auth; 77 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Broadcast Assistant Function 2 | 3 | I needed a serverless HTTP function that tells Google Assistant to broadcast a message on all speakers hooked up to an account. 4 | 5 | Based majorly on [endoplasmic's google-assistant package][gapackage]. 6 | 7 | [gapackage]: https://github.com/endoplasmic/google-assistant 8 | 9 | This function is to be deployed to a Google Cloud Platform project. 10 | 11 | The original purpose of this project is to provide an shared secret endpoint that devices such as Samsung SmartThings or some other IoT setup can call out to on the public internet to say something on their speakers with a simple HTTP call. 12 | 13 | There is no need for a Raspberry Pi on the network like with [assistant relay][assistant-relay]. That said, other implementations that do run on the Raspberry Pi or something similar need internet anyway as a connection is required to connect to Google's servers to utilize Google Assistant's "broadcast " command. 14 | 15 | By design, this particular implementation isn't exactly a "multi-tenant" SASS. It's merely an adaptaion of the console example from [that google-assistant package][gapackage] to use cloud facilities instead of OS facilities with a hardcoded message prefix. With all that news about privacy, do you really want to give some third party access to your Google Account? Best to keep the third-parties down to just Google's more privacy oriented division anyway. 16 | 17 | [assistant-relay]: https://github.com/greghesp/assistant-relay 18 | 19 | ## Setup Steps 20 | 21 | ### Prerequisites 22 | 23 | * Google Cloud SDK 24 | * Google Cloud Platform Project 25 | * (Optional) Google Cloud Functions Emulator. 26 | * A Google Cloud Storage bucket where the tokens will be stored. 27 | 28 | ### Credentialing 29 | 30 | Get the console-input demo on [endoplasmic's google-assistant package][gapackage] going. 31 | 32 | Follow the instructions there to get `credentials.json` of the generated Google Assistant device API credentials from Google's page. While you're there, also collect your Google Account's `tokens.json` made with said device. The serverless function will not have an interface, so these are the semi-temporary keys you will need to jump-start this function. Put `credentials.json` in the `src` folder. 33 | 34 | While you have that setup, use the console-input demo to test "broadcast Hello World!" as a command. In a few seconds, or perhaps what it feels like to be forever but trust me it'll come soon, the speakers in the household should say "Hello World!". 35 | 36 | ### Project Setup 37 | 38 | 1. Create a new Google Cloud Platform project if you haven't already. 39 | 1. Ensure you are logged into Gcloud CLI. 40 | 1. Make a bucket in the project 41 | 1. Put `tokens.json` from earlier at the root of the bucket. 42 | 1. Make a `env.json` and put it inside the `src` folder. Make sure you change `shared-secret`. It will be checked on for every call coming in. If it matches, the function will continue. 43 | ``` 44 | { 45 | "savedTokensBucket": "ur-bucket-name-here", 46 | "secret": "shared-secret" 47 | } 48 | ``` 49 | 1. `yarn install` 50 | 1. `yarn build` 51 | 1. Fill `` with your project ID and run this command from within the `src` folder. 52 | ``` 53 | CLOUDSDK_CORE_PROJECT=` gcloud beta functions deploy broadcastMessage --trigger-http` 54 | ``` 55 | 56 | This will upload the function to Google and make it triggerable. 57 | 1. Test the returned URL by posting to it. See the `test.http` file for an example. That file is "executable" by installing the [REST Client extension for VSCode][rest-vscode]. 58 | 59 | [rest-vscode]: https://marketplace.visualstudio.com/items?itemName=humao.rest-client 60 | 61 | ### Integration 62 | 63 | More like guidelines than rules. Post to the URL. For Samsung Smartthings, which this was developed for, simply add this to apps or device handlers where you need a message broadcast: 64 | 65 | ``` 66 | def params = [ 67 | uri: "https://xxx.cloudfunctions.net/broadcastMessage", 68 | body: [ 69 | message: "text", 70 | secret: "xxx", 71 | ] 72 | ] 73 | 74 | httpPostJson(params) 75 | ``` 76 | 77 | ### Development 78 | 79 | * Use the Google Cloud functions emulator. 80 | 81 | * Portions of the original Google Assistant package were modified to write to Google Cloud Storage directly instead of to the disk. Additionally, much of it has been converted to Typescript. 82 | 83 | ## Uses 84 | 85 | * Laundry Machines 86 | * Cooking Appliances 87 | * Freaking out people 88 | * Software Development Build Status and Lifecycle 89 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@google-cloud/common@^0.16.1": 6 | version "0.16.2" 7 | resolved "https://registry.yarnpkg.com/@google-cloud/common/-/common-0.16.2.tgz#029b3c7c4a425f1374045ba8f6a878bd50e4761c" 8 | dependencies: 9 | array-uniq "^1.0.3" 10 | arrify "^1.0.1" 11 | concat-stream "^1.6.0" 12 | create-error-class "^3.0.2" 13 | duplexify "^3.5.0" 14 | ent "^2.2.0" 15 | extend "^3.0.1" 16 | google-auto-auth "^0.9.0" 17 | is "^3.2.0" 18 | log-driver "1.2.7" 19 | methmeth "^1.1.0" 20 | modelo "^4.2.0" 21 | request "^2.79.0" 22 | retry-request "^3.0.0" 23 | split-array-stream "^1.0.0" 24 | stream-events "^1.0.1" 25 | string-format-obj "^1.1.0" 26 | through2 "^2.0.3" 27 | 28 | "@google-cloud/functions-emulator@^1.0.0-beta.4": 29 | version "1.0.0-beta.4" 30 | resolved "https://registry.yarnpkg.com/@google-cloud/functions-emulator/-/functions-emulator-1.0.0-beta.4.tgz#651e891550b50ab7e53fda07a53eafaa8c44d2f8" 31 | dependencies: 32 | "@google-cloud/storage" "1.6.0" 33 | adm-zip "0.4.7" 34 | ajv "6.1.1" 35 | body-parser "1.18.2" 36 | cli-table2 "0.2.0" 37 | colors "1.1.2" 38 | configstore "3.1.1" 39 | express "4.16.2" 40 | googleapis "23.0.0" 41 | got "8.2.0" 42 | http-proxy "1.16.2" 43 | lodash "4.17.5" 44 | prompt "1.0.0" 45 | rimraf "2.6.2" 46 | semver "5.5.0" 47 | serializerr "1.0.3" 48 | tmp "0.0.33" 49 | uuid "3.2.1" 50 | winston "2.4.0" 51 | yargs "11.0.0" 52 | 53 | "@google-cloud/storage@1.6.0", "@google-cloud/storage@^1.6.0": 54 | version "1.6.0" 55 | resolved "https://registry.yarnpkg.com/@google-cloud/storage/-/storage-1.6.0.tgz#3dea740e24bf097d91f16596e2915052907679a2" 56 | dependencies: 57 | "@google-cloud/common" "^0.16.1" 58 | arrify "^1.0.0" 59 | async "^2.0.1" 60 | compressible "^2.0.12" 61 | concat-stream "^1.5.0" 62 | create-error-class "^3.0.2" 63 | duplexify "^3.5.0" 64 | extend "^3.0.0" 65 | gcs-resumable-upload "^0.9.0" 66 | hash-stream-validation "^0.2.1" 67 | is "^3.0.1" 68 | mime "^2.2.0" 69 | mime-types "^2.0.8" 70 | once "^1.3.1" 71 | pumpify "^1.3.3" 72 | request "^2.83.0" 73 | safe-buffer "^5.1.1" 74 | snakeize "^0.1.0" 75 | stream-events "^1.0.1" 76 | string-format-obj "^1.0.0" 77 | through2 "^2.0.0" 78 | 79 | "@sindresorhus/is@^0.7.0": 80 | version "0.7.0" 81 | resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" 82 | 83 | "@types/body-parser@*": 84 | version "1.16.8" 85 | resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.16.8.tgz#687ec34140624a3bec2b1a8ea9268478ae8f3be3" 86 | dependencies: 87 | "@types/express" "*" 88 | "@types/node" "*" 89 | 90 | "@types/events@*", "@types/events@^1.2.0": 91 | version "1.2.0" 92 | resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86" 93 | 94 | "@types/express-serve-static-core@*": 95 | version "4.11.1" 96 | resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.11.1.tgz#f6f7212382d59b19d696677bcaa48a37280f5d45" 97 | dependencies: 98 | "@types/events" "*" 99 | "@types/node" "*" 100 | 101 | "@types/express@*", "@types/express@^4.11.1": 102 | version "4.11.1" 103 | resolved "https://registry.yarnpkg.com/@types/express/-/express-4.11.1.tgz#f99663b3ab32d04cb11db612ef5dd7933f75465b" 104 | dependencies: 105 | "@types/body-parser" "*" 106 | "@types/express-serve-static-core" "*" 107 | "@types/serve-static" "*" 108 | 109 | "@types/google-cloud__storage@^1.1.7": 110 | version "1.1.7" 111 | resolved "https://registry.yarnpkg.com/@types/google-cloud__storage/-/google-cloud__storage-1.1.7.tgz#f4b568b163cce16314f32f954f5b7d5c9001fa86" 112 | dependencies: 113 | "@types/node" "*" 114 | 115 | "@types/mime@*": 116 | version "2.0.0" 117 | resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b" 118 | 119 | "@types/node@*", "@types/node@^9.6.2": 120 | version "9.6.2" 121 | resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.2.tgz#e49ac1adb458835e95ca6487bc20f916b37aff23" 122 | 123 | "@types/serve-static@*": 124 | version "1.13.1" 125 | resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.1.tgz#1d2801fa635d274cd97d4ec07e26b21b44127492" 126 | dependencies: 127 | "@types/express-serve-static-core" "*" 128 | "@types/mime" "*" 129 | 130 | abbrev@1: 131 | version "1.1.1" 132 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" 133 | 134 | accepts@~1.3.4, accepts@~1.3.5: 135 | version "1.3.5" 136 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" 137 | dependencies: 138 | mime-types "~2.1.18" 139 | negotiator "0.6.1" 140 | 141 | adm-zip@0.4.7: 142 | version "0.4.7" 143 | resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1" 144 | 145 | ajv@6.1.1: 146 | version "6.1.1" 147 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.1.1.tgz#978d597fbc2b7d0e5a5c3ddeb149a682f2abfa0e" 148 | dependencies: 149 | fast-deep-equal "^1.0.0" 150 | fast-json-stable-stringify "^2.0.0" 151 | json-schema-traverse "^0.3.0" 152 | 153 | ajv@^4.9.1: 154 | version "4.11.8" 155 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" 156 | dependencies: 157 | co "^4.6.0" 158 | json-stable-stringify "^1.0.1" 159 | 160 | ajv@^5.1.0: 161 | version "5.5.2" 162 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" 163 | dependencies: 164 | co "^4.6.0" 165 | fast-deep-equal "^1.0.0" 166 | fast-json-stable-stringify "^2.0.0" 167 | json-schema-traverse "^0.3.0" 168 | 169 | ansi-regex@^2.0.0: 170 | version "2.1.1" 171 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" 172 | 173 | ansi-regex@^3.0.0: 174 | version "3.0.0" 175 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" 176 | 177 | aproba@^1.0.3: 178 | version "1.2.0" 179 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" 180 | 181 | are-we-there-yet@~1.1.2: 182 | version "1.1.4" 183 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" 184 | dependencies: 185 | delegates "^1.0.0" 186 | readable-stream "^2.0.6" 187 | 188 | arguejs@^0.2.3: 189 | version "0.2.3" 190 | resolved "https://registry.yarnpkg.com/arguejs/-/arguejs-0.2.3.tgz#b6f939f5fe0e3cd1f3f93e2aa9262424bf312af7" 191 | 192 | array-flatten@1.1.1: 193 | version "1.1.1" 194 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 195 | 196 | array-uniq@^1.0.3: 197 | version "1.0.3" 198 | resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" 199 | 200 | arrify@^1.0.0, arrify@^1.0.1: 201 | version "1.0.1" 202 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 203 | 204 | ascli@~1: 205 | version "1.0.1" 206 | resolved "https://registry.yarnpkg.com/ascli/-/ascli-1.0.1.tgz#bcfa5974a62f18e81cabaeb49732ab4a88f906bc" 207 | dependencies: 208 | colour "~0.7.1" 209 | optjs "~3.2.2" 210 | 211 | asn1@~0.2.3: 212 | version "0.2.3" 213 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" 214 | 215 | assert-plus@1.0.0, assert-plus@^1.0.0: 216 | version "1.0.0" 217 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 218 | 219 | assert-plus@^0.2.0: 220 | version "0.2.0" 221 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" 222 | 223 | async@2.6.0, async@^2.0.1, async@^2.3.0, async@^2.4.0: 224 | version "2.6.0" 225 | resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" 226 | dependencies: 227 | lodash "^4.14.0" 228 | 229 | async@~0.9.0: 230 | version "0.9.2" 231 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" 232 | 233 | async@~1.0.0: 234 | version "1.0.0" 235 | resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" 236 | 237 | asynckit@^0.4.0: 238 | version "0.4.0" 239 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 240 | 241 | aws-sign2@~0.6.0: 242 | version "0.6.0" 243 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" 244 | 245 | aws-sign2@~0.7.0: 246 | version "0.7.0" 247 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" 248 | 249 | aws4@^1.2.1, aws4@^1.6.0: 250 | version "1.7.0" 251 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" 252 | 253 | axios@^0.18.0: 254 | version "0.18.0" 255 | resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102" 256 | dependencies: 257 | follow-redirects "^1.3.0" 258 | is-buffer "^1.1.5" 259 | 260 | balanced-match@^1.0.0: 261 | version "1.0.0" 262 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 263 | 264 | base64url@2.0.0, base64url@^2.0.0: 265 | version "2.0.0" 266 | resolved "https://registry.yarnpkg.com/base64url/-/base64url-2.0.0.tgz#eac16e03ea1438eff9423d69baa36262ed1f70bb" 267 | 268 | bcrypt-pbkdf@^1.0.0: 269 | version "1.0.1" 270 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" 271 | dependencies: 272 | tweetnacl "^0.14.3" 273 | 274 | block-stream@*: 275 | version "0.0.9" 276 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" 277 | dependencies: 278 | inherits "~2.0.0" 279 | 280 | body-parser@1.18.2: 281 | version "1.18.2" 282 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" 283 | dependencies: 284 | bytes "3.0.0" 285 | content-type "~1.0.4" 286 | debug "2.6.9" 287 | depd "~1.1.1" 288 | http-errors "~1.6.2" 289 | iconv-lite "0.4.19" 290 | on-finished "~2.3.0" 291 | qs "6.5.1" 292 | raw-body "2.3.2" 293 | type-is "~1.6.15" 294 | 295 | boom@2.x.x: 296 | version "2.10.1" 297 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" 298 | dependencies: 299 | hoek "2.x.x" 300 | 301 | boom@4.x.x: 302 | version "4.3.1" 303 | resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" 304 | dependencies: 305 | hoek "4.x.x" 306 | 307 | boom@5.x.x: 308 | version "5.2.0" 309 | resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" 310 | dependencies: 311 | hoek "4.x.x" 312 | 313 | brace-expansion@^1.1.7: 314 | version "1.1.11" 315 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 316 | dependencies: 317 | balanced-match "^1.0.0" 318 | concat-map "0.0.1" 319 | 320 | buffer-equal-constant-time@1.0.1: 321 | version "1.0.1" 322 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 323 | 324 | buffer-equal@^1.0.0: 325 | version "1.0.0" 326 | resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" 327 | 328 | buffer-from@^1.0.0: 329 | version "1.0.0" 330 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.0.0.tgz#4cb8832d23612589b0406e9e2956c17f06fdf531" 331 | 332 | bytebuffer@~5: 333 | version "5.0.1" 334 | resolved "https://registry.yarnpkg.com/bytebuffer/-/bytebuffer-5.0.1.tgz#582eea4b1a873b6d020a48d58df85f0bba6cfddd" 335 | dependencies: 336 | long "~3" 337 | 338 | bytes@3.0.0: 339 | version "3.0.0" 340 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" 341 | 342 | cacheable-request@^2.1.1: 343 | version "2.1.4" 344 | resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" 345 | dependencies: 346 | clone-response "1.0.2" 347 | get-stream "3.0.0" 348 | http-cache-semantics "3.8.1" 349 | keyv "3.0.0" 350 | lowercase-keys "1.0.0" 351 | normalize-url "2.0.1" 352 | responselike "1.0.2" 353 | 354 | camelcase@^2.0.1: 355 | version "2.1.1" 356 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" 357 | 358 | camelcase@^4.1.0: 359 | version "4.1.0" 360 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" 361 | 362 | capture-stack-trace@^1.0.0: 363 | version "1.0.0" 364 | resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" 365 | 366 | caseless@~0.12.0: 367 | version "0.12.0" 368 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" 369 | 370 | cli-table2@0.2.0: 371 | version "0.2.0" 372 | resolved "https://registry.yarnpkg.com/cli-table2/-/cli-table2-0.2.0.tgz#2d1ef7f218a0e786e214540562d4bd177fe32d97" 373 | dependencies: 374 | lodash "^3.10.1" 375 | string-width "^1.0.1" 376 | optionalDependencies: 377 | colors "^1.1.2" 378 | 379 | cliui@^3.0.3: 380 | version "3.2.0" 381 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" 382 | dependencies: 383 | string-width "^1.0.1" 384 | strip-ansi "^3.0.1" 385 | wrap-ansi "^2.0.0" 386 | 387 | cliui@^4.0.0: 388 | version "4.0.0" 389 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" 390 | dependencies: 391 | string-width "^2.1.1" 392 | strip-ansi "^4.0.0" 393 | wrap-ansi "^2.0.0" 394 | 395 | clone-response@1.0.2: 396 | version "1.0.2" 397 | resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" 398 | dependencies: 399 | mimic-response "^1.0.0" 400 | 401 | co@^4.6.0: 402 | version "4.6.0" 403 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 404 | 405 | code-point-at@^1.0.0: 406 | version "1.1.0" 407 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" 408 | 409 | colors@1.0.x: 410 | version "1.0.3" 411 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" 412 | 413 | colors@1.1.2, colors@^1.1.2: 414 | version "1.1.2" 415 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" 416 | 417 | colour@~0.7.1: 418 | version "0.7.1" 419 | resolved "https://registry.yarnpkg.com/colour/-/colour-0.7.1.tgz#9cb169917ec5d12c0736d3e8685746df1cadf778" 420 | 421 | combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: 422 | version "1.0.6" 423 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" 424 | dependencies: 425 | delayed-stream "~1.0.0" 426 | 427 | compressible@^2.0.12: 428 | version "2.0.13" 429 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.13.tgz#0d1020ab924b2fdb4d6279875c7d6daba6baa7a9" 430 | dependencies: 431 | mime-db ">= 1.33.0 < 2" 432 | 433 | concat-map@0.0.1: 434 | version "0.0.1" 435 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 436 | 437 | concat-stream@^1.5.0, concat-stream@^1.6.0: 438 | version "1.6.2" 439 | resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" 440 | dependencies: 441 | buffer-from "^1.0.0" 442 | inherits "^2.0.3" 443 | readable-stream "^2.2.2" 444 | typedarray "^0.0.6" 445 | 446 | configstore@3.1.1: 447 | version "3.1.1" 448 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90" 449 | dependencies: 450 | dot-prop "^4.1.0" 451 | graceful-fs "^4.1.2" 452 | make-dir "^1.0.0" 453 | unique-string "^1.0.0" 454 | write-file-atomic "^2.0.0" 455 | xdg-basedir "^3.0.0" 456 | 457 | configstore@^3.0.0: 458 | version "3.1.2" 459 | resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" 460 | dependencies: 461 | dot-prop "^4.1.0" 462 | graceful-fs "^4.1.2" 463 | make-dir "^1.0.0" 464 | unique-string "^1.0.0" 465 | write-file-atomic "^2.0.0" 466 | xdg-basedir "^3.0.0" 467 | 468 | console-control-strings@^1.0.0, console-control-strings@~1.1.0: 469 | version "1.1.0" 470 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" 471 | 472 | content-disposition@0.5.2: 473 | version "0.5.2" 474 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" 475 | 476 | content-type@~1.0.4: 477 | version "1.0.4" 478 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" 479 | 480 | cookie-signature@1.0.6: 481 | version "1.0.6" 482 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 483 | 484 | cookie@0.3.1: 485 | version "0.3.1" 486 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" 487 | 488 | core-util-is@1.0.2, core-util-is@~1.0.0: 489 | version "1.0.2" 490 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 491 | 492 | create-error-class@^3.0.2: 493 | version "3.0.2" 494 | resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" 495 | dependencies: 496 | capture-stack-trace "^1.0.0" 497 | 498 | cross-spawn@^5.0.1: 499 | version "5.1.0" 500 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" 501 | dependencies: 502 | lru-cache "^4.0.1" 503 | shebang-command "^1.2.0" 504 | which "^1.2.9" 505 | 506 | cryptiles@2.x.x: 507 | version "2.0.5" 508 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" 509 | dependencies: 510 | boom "2.x.x" 511 | 512 | cryptiles@3.x.x: 513 | version "3.1.2" 514 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" 515 | dependencies: 516 | boom "5.x.x" 517 | 518 | crypto-random-string@^1.0.0: 519 | version "1.0.0" 520 | resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" 521 | 522 | cycle@1.0.x: 523 | version "1.0.3" 524 | resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" 525 | 526 | dashdash@^1.12.0: 527 | version "1.14.1" 528 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" 529 | dependencies: 530 | assert-plus "^1.0.0" 531 | 532 | debug@2.6.9, debug@^2.2.0: 533 | version "2.6.9" 534 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 535 | dependencies: 536 | ms "2.0.0" 537 | 538 | debug@^3.1.0: 539 | version "3.1.0" 540 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" 541 | dependencies: 542 | ms "2.0.0" 543 | 544 | decamelize@^1.1.1: 545 | version "1.2.0" 546 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 547 | 548 | decode-uri-component@^0.2.0: 549 | version "0.2.0" 550 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 551 | 552 | decompress-response@^3.3.0: 553 | version "3.3.0" 554 | resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" 555 | dependencies: 556 | mimic-response "^1.0.0" 557 | 558 | deep-equal@~0.2.1: 559 | version "0.2.2" 560 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz#84b745896f34c684e98f2ce0e42abaf43bba017d" 561 | 562 | deep-extend@~0.4.0: 563 | version "0.4.2" 564 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" 565 | 566 | delayed-stream@~1.0.0: 567 | version "1.0.0" 568 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 569 | 570 | delegates@^1.0.0: 571 | version "1.0.0" 572 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" 573 | 574 | depd@1.1.1: 575 | version "1.1.1" 576 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" 577 | 578 | depd@~1.1.1, depd@~1.1.2: 579 | version "1.1.2" 580 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 581 | 582 | destroy@~1.0.4: 583 | version "1.0.4" 584 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" 585 | 586 | detect-libc@^1.0.2: 587 | version "1.0.3" 588 | resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" 589 | 590 | dot-prop@^4.1.0: 591 | version "4.2.0" 592 | resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" 593 | dependencies: 594 | is-obj "^1.0.0" 595 | 596 | duplexer3@^0.1.4: 597 | version "0.1.4" 598 | resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" 599 | 600 | duplexify@^3.5.0, duplexify@^3.5.3: 601 | version "3.5.4" 602 | resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.4.tgz#4bb46c1796eabebeec4ca9a2e66b808cb7a3d8b4" 603 | dependencies: 604 | end-of-stream "^1.0.0" 605 | inherits "^2.0.1" 606 | readable-stream "^2.0.0" 607 | stream-shift "^1.0.0" 608 | 609 | ecc-jsbn@~0.1.1: 610 | version "0.1.1" 611 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" 612 | dependencies: 613 | jsbn "~0.1.0" 614 | 615 | ecdsa-sig-formatter@1.0.9: 616 | version "1.0.9" 617 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz#4bc926274ec3b5abb5016e7e1d60921ac262b2a1" 618 | dependencies: 619 | base64url "^2.0.0" 620 | safe-buffer "^5.0.1" 621 | 622 | ee-first@1.1.1: 623 | version "1.1.1" 624 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 625 | 626 | encodeurl@~1.0.1, encodeurl@~1.0.2: 627 | version "1.0.2" 628 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 629 | 630 | end-of-stream@^1.0.0, end-of-stream@^1.1.0: 631 | version "1.4.1" 632 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" 633 | dependencies: 634 | once "^1.4.0" 635 | 636 | ent@^2.2.0: 637 | version "2.2.0" 638 | resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" 639 | 640 | escape-html@~1.0.3: 641 | version "1.0.3" 642 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 643 | 644 | etag@~1.8.1: 645 | version "1.8.1" 646 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 647 | 648 | eventemitter3@1.x.x: 649 | version "1.2.0" 650 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" 651 | 652 | execa@^0.7.0: 653 | version "0.7.0" 654 | resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" 655 | dependencies: 656 | cross-spawn "^5.0.1" 657 | get-stream "^3.0.0" 658 | is-stream "^1.1.0" 659 | npm-run-path "^2.0.0" 660 | p-finally "^1.0.0" 661 | signal-exit "^3.0.0" 662 | strip-eof "^1.0.0" 663 | 664 | express@4.16.2: 665 | version "4.16.2" 666 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" 667 | dependencies: 668 | accepts "~1.3.4" 669 | array-flatten "1.1.1" 670 | body-parser "1.18.2" 671 | content-disposition "0.5.2" 672 | content-type "~1.0.4" 673 | cookie "0.3.1" 674 | cookie-signature "1.0.6" 675 | debug "2.6.9" 676 | depd "~1.1.1" 677 | encodeurl "~1.0.1" 678 | escape-html "~1.0.3" 679 | etag "~1.8.1" 680 | finalhandler "1.1.0" 681 | fresh "0.5.2" 682 | merge-descriptors "1.0.1" 683 | methods "~1.1.2" 684 | on-finished "~2.3.0" 685 | parseurl "~1.3.2" 686 | path-to-regexp "0.1.7" 687 | proxy-addr "~2.0.2" 688 | qs "6.5.1" 689 | range-parser "~1.2.0" 690 | safe-buffer "5.1.1" 691 | send "0.16.1" 692 | serve-static "1.13.1" 693 | setprototypeof "1.1.0" 694 | statuses "~1.3.1" 695 | type-is "~1.6.15" 696 | utils-merge "1.0.1" 697 | vary "~1.1.2" 698 | 699 | express@^4.16.3: 700 | version "4.16.3" 701 | resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" 702 | dependencies: 703 | accepts "~1.3.5" 704 | array-flatten "1.1.1" 705 | body-parser "1.18.2" 706 | content-disposition "0.5.2" 707 | content-type "~1.0.4" 708 | cookie "0.3.1" 709 | cookie-signature "1.0.6" 710 | debug "2.6.9" 711 | depd "~1.1.2" 712 | encodeurl "~1.0.2" 713 | escape-html "~1.0.3" 714 | etag "~1.8.1" 715 | finalhandler "1.1.1" 716 | fresh "0.5.2" 717 | merge-descriptors "1.0.1" 718 | methods "~1.1.2" 719 | on-finished "~2.3.0" 720 | parseurl "~1.3.2" 721 | path-to-regexp "0.1.7" 722 | proxy-addr "~2.0.3" 723 | qs "6.5.1" 724 | range-parser "~1.2.0" 725 | safe-buffer "5.1.1" 726 | send "0.16.2" 727 | serve-static "1.13.2" 728 | setprototypeof "1.1.0" 729 | statuses "~1.4.0" 730 | type-is "~1.6.16" 731 | utils-merge "1.0.1" 732 | vary "~1.1.2" 733 | 734 | extend@^3.0.0, extend@^3.0.1, extend@~3.0.0, extend@~3.0.1: 735 | version "3.0.1" 736 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" 737 | 738 | extsprintf@1.3.0, extsprintf@^1.2.0: 739 | version "1.3.0" 740 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" 741 | 742 | eyes@0.1.x: 743 | version "0.1.8" 744 | resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" 745 | 746 | fast-deep-equal@^1.0.0: 747 | version "1.1.0" 748 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" 749 | 750 | fast-json-stable-stringify@^2.0.0: 751 | version "2.0.0" 752 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" 753 | 754 | finalhandler@1.1.0: 755 | version "1.1.0" 756 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" 757 | dependencies: 758 | debug "2.6.9" 759 | encodeurl "~1.0.1" 760 | escape-html "~1.0.3" 761 | on-finished "~2.3.0" 762 | parseurl "~1.3.2" 763 | statuses "~1.3.1" 764 | unpipe "~1.0.0" 765 | 766 | finalhandler@1.1.1: 767 | version "1.1.1" 768 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105" 769 | dependencies: 770 | debug "2.6.9" 771 | encodeurl "~1.0.2" 772 | escape-html "~1.0.3" 773 | on-finished "~2.3.0" 774 | parseurl "~1.3.2" 775 | statuses "~1.4.0" 776 | unpipe "~1.0.0" 777 | 778 | find-up@^2.1.0: 779 | version "2.1.0" 780 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" 781 | dependencies: 782 | locate-path "^2.0.0" 783 | 784 | follow-redirects@^1.3.0: 785 | version "1.4.1" 786 | resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.4.1.tgz#d8120f4518190f55aac65bb6fc7b85fcd666d6aa" 787 | dependencies: 788 | debug "^3.1.0" 789 | 790 | forever-agent@~0.6.1: 791 | version "0.6.1" 792 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" 793 | 794 | form-data@~2.1.1: 795 | version "2.1.4" 796 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" 797 | dependencies: 798 | asynckit "^0.4.0" 799 | combined-stream "^1.0.5" 800 | mime-types "^2.1.12" 801 | 802 | form-data@~2.3.1: 803 | version "2.3.2" 804 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" 805 | dependencies: 806 | asynckit "^0.4.0" 807 | combined-stream "1.0.6" 808 | mime-types "^2.1.12" 809 | 810 | forwarded@~0.1.2: 811 | version "0.1.2" 812 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" 813 | 814 | fresh@0.5.2: 815 | version "0.5.2" 816 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 817 | 818 | from2@^2.1.1: 819 | version "2.3.0" 820 | resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" 821 | dependencies: 822 | inherits "^2.0.1" 823 | readable-stream "^2.0.0" 824 | 825 | fs.realpath@^1.0.0: 826 | version "1.0.0" 827 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 828 | 829 | fstream-ignore@^1.0.5: 830 | version "1.0.5" 831 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" 832 | dependencies: 833 | fstream "^1.0.0" 834 | inherits "2" 835 | minimatch "^3.0.0" 836 | 837 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: 838 | version "1.0.11" 839 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" 840 | dependencies: 841 | graceful-fs "^4.1.2" 842 | inherits "~2.0.0" 843 | mkdirp ">=0.5 0" 844 | rimraf "2" 845 | 846 | gauge@~2.7.3: 847 | version "2.7.4" 848 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" 849 | dependencies: 850 | aproba "^1.0.3" 851 | console-control-strings "^1.0.0" 852 | has-unicode "^2.0.0" 853 | object-assign "^4.1.0" 854 | signal-exit "^3.0.0" 855 | string-width "^1.0.1" 856 | strip-ansi "^3.0.1" 857 | wide-align "^1.1.0" 858 | 859 | gcp-metadata@^0.6.1, gcp-metadata@^0.6.2: 860 | version "0.6.3" 861 | resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-0.6.3.tgz#4550c08859c528b370459bd77a7187ea0bdbc4ab" 862 | dependencies: 863 | axios "^0.18.0" 864 | extend "^3.0.1" 865 | retry-axios "0.3.2" 866 | 867 | gcs-resumable-upload@^0.9.0: 868 | version "0.9.0" 869 | resolved "https://registry.yarnpkg.com/gcs-resumable-upload/-/gcs-resumable-upload-0.9.0.tgz#644202149696ad114358bc1e0cf43a60b5ec0454" 870 | dependencies: 871 | buffer-equal "^1.0.0" 872 | configstore "^3.0.0" 873 | google-auto-auth "^0.9.0" 874 | pumpify "^1.3.3" 875 | request "^2.81.0" 876 | stream-events "^1.0.1" 877 | through2 "^2.0.0" 878 | 879 | get-caller-file@^1.0.1: 880 | version "1.0.2" 881 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" 882 | 883 | get-stream@3.0.0, get-stream@^3.0.0: 884 | version "3.0.0" 885 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" 886 | 887 | getpass@^0.1.1: 888 | version "0.1.7" 889 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" 890 | dependencies: 891 | assert-plus "^1.0.0" 892 | 893 | glob@^7.0.5: 894 | version "7.1.2" 895 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" 896 | dependencies: 897 | fs.realpath "^1.0.0" 898 | inflight "^1.0.4" 899 | inherits "2" 900 | minimatch "^3.0.4" 901 | once "^1.3.0" 902 | path-is-absolute "^1.0.0" 903 | 904 | google-assistant@^0.2.2: 905 | version "0.2.2" 906 | resolved "https://registry.yarnpkg.com/google-assistant/-/google-assistant-0.2.2.tgz#856045448e538f4f52b99c7df11fb52aa74df406" 907 | dependencies: 908 | google-auth-library "0.10.0" 909 | google-protobuf "3.3.0" 910 | grpc "1.8.0" 911 | mkdirp "^0.5.1" 912 | opn "^5.1.0" 913 | readline "^1.3.0" 914 | 915 | google-auth-library@0.10.0: 916 | version "0.10.0" 917 | resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-0.10.0.tgz#6e15babee85fd1dd14d8d128a295b6838d52136e" 918 | dependencies: 919 | gtoken "^1.2.1" 920 | jws "^3.1.4" 921 | lodash.noop "^3.0.1" 922 | request "^2.74.0" 923 | 924 | google-auth-library@0.12.0: 925 | version "0.12.0" 926 | resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-0.12.0.tgz#a3fc6c296d00bb54e4d877ef581a05947330d07f" 927 | dependencies: 928 | gtoken "^1.2.3" 929 | jws "^3.1.4" 930 | lodash.isstring "^4.0.1" 931 | lodash.merge "^4.6.0" 932 | request "^2.81.0" 933 | 934 | google-auth-library@^1.3.1, google-auth-library@^1.4.0: 935 | version "1.4.0" 936 | resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-1.4.0.tgz#27dae3b6aceadcc115a9910b4f1ed27b68b1eb0b" 937 | dependencies: 938 | axios "^0.18.0" 939 | gcp-metadata "^0.6.2" 940 | gtoken "^2.2.0" 941 | jws "^3.1.4" 942 | lodash.isstring "^4.0.1" 943 | lru-cache "^4.1.2" 944 | retry-axios "^0.3.2" 945 | 946 | google-auto-auth@^0.9.0: 947 | version "0.9.7" 948 | resolved "https://registry.yarnpkg.com/google-auto-auth/-/google-auto-auth-0.9.7.tgz#70b357ec9ec8e2368cf89a659309a15a1472596b" 949 | dependencies: 950 | async "^2.3.0" 951 | gcp-metadata "^0.6.1" 952 | google-auth-library "^1.3.1" 953 | request "^2.79.0" 954 | 955 | google-p12-pem@^0.1.0: 956 | version "0.1.2" 957 | resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-0.1.2.tgz#33c46ab021aa734fa0332b3960a9a3ffcb2f3177" 958 | dependencies: 959 | node-forge "^0.7.1" 960 | 961 | google-p12-pem@^1.0.0: 962 | version "1.0.2" 963 | resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-1.0.2.tgz#c8a3843504012283a0dbffc7430b7c753ecd4b07" 964 | dependencies: 965 | node-forge "^0.7.4" 966 | pify "^3.0.0" 967 | 968 | google-protobuf@3.3.0: 969 | version "3.3.0" 970 | resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.3.0.tgz#21c15ec2fbd57c236eb684d2e18bcaeca9759b77" 971 | 972 | googleapis@23.0.0: 973 | version "23.0.0" 974 | resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-23.0.0.tgz#02cbe8c56d346e2e8fb0ef8aec52e722322c6fe7" 975 | dependencies: 976 | async "2.6.0" 977 | google-auth-library "0.12.0" 978 | string-template "1.0.0" 979 | 980 | got@8.2.0: 981 | version "8.2.0" 982 | resolved "https://registry.yarnpkg.com/got/-/got-8.2.0.tgz#0d11a071d05046348a2f5c0a5fa047fb687fdfc6" 983 | dependencies: 984 | "@sindresorhus/is" "^0.7.0" 985 | cacheable-request "^2.1.1" 986 | decompress-response "^3.3.0" 987 | duplexer3 "^0.1.4" 988 | get-stream "^3.0.0" 989 | into-stream "^3.1.0" 990 | is-retry-allowed "^1.1.0" 991 | isurl "^1.0.0-alpha5" 992 | lowercase-keys "^1.0.0" 993 | mimic-response "^1.0.0" 994 | p-cancelable "^0.3.0" 995 | p-timeout "^2.0.1" 996 | pify "^3.0.0" 997 | safe-buffer "^5.1.1" 998 | timed-out "^4.0.1" 999 | url-parse-lax "^3.0.0" 1000 | url-to-options "^1.0.1" 1001 | 1002 | graceful-fs@^4.1.11, graceful-fs@^4.1.2: 1003 | version "4.1.11" 1004 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" 1005 | 1006 | grpc@1.8.0: 1007 | version "1.8.0" 1008 | resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.8.0.tgz#9d49f1b05c19c4a35c480bd14c632386de6bf664" 1009 | dependencies: 1010 | arguejs "^0.2.3" 1011 | lodash "^4.17.4" 1012 | nan "^2.8.0" 1013 | node-pre-gyp "^0.6.39" 1014 | protobufjs "^5.0.2" 1015 | 1016 | gtoken@^1.2.1, gtoken@^1.2.3: 1017 | version "1.2.3" 1018 | resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-1.2.3.tgz#5509571b8afd4322e124cf66cf68115284c476d8" 1019 | dependencies: 1020 | google-p12-pem "^0.1.0" 1021 | jws "^3.0.0" 1022 | mime "^1.4.1" 1023 | request "^2.72.0" 1024 | 1025 | gtoken@^2.2.0: 1026 | version "2.3.0" 1027 | resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-2.3.0.tgz#4e0ffc16432d7041a1b3dbc1d97aac17a5dc964a" 1028 | dependencies: 1029 | axios "^0.18.0" 1030 | google-p12-pem "^1.0.0" 1031 | jws "^3.1.4" 1032 | mime "^2.2.0" 1033 | pify "^3.0.0" 1034 | 1035 | har-schema@^1.0.5: 1036 | version "1.0.5" 1037 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" 1038 | 1039 | har-schema@^2.0.0: 1040 | version "2.0.0" 1041 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" 1042 | 1043 | har-validator@~4.2.1: 1044 | version "4.2.1" 1045 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" 1046 | dependencies: 1047 | ajv "^4.9.1" 1048 | har-schema "^1.0.5" 1049 | 1050 | har-validator@~5.0.3: 1051 | version "5.0.3" 1052 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" 1053 | dependencies: 1054 | ajv "^5.1.0" 1055 | har-schema "^2.0.0" 1056 | 1057 | has-symbol-support-x@^1.4.1: 1058 | version "1.4.2" 1059 | resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" 1060 | 1061 | has-to-string-tag-x@^1.2.0: 1062 | version "1.4.1" 1063 | resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" 1064 | dependencies: 1065 | has-symbol-support-x "^1.4.1" 1066 | 1067 | has-unicode@^2.0.0: 1068 | version "2.0.1" 1069 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" 1070 | 1071 | hash-stream-validation@^0.2.1: 1072 | version "0.2.1" 1073 | resolved "https://registry.yarnpkg.com/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz#ecc9b997b218be5bb31298628bb807869b73dcd1" 1074 | dependencies: 1075 | through2 "^2.0.0" 1076 | 1077 | hawk@3.1.3, hawk@~3.1.3: 1078 | version "3.1.3" 1079 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" 1080 | dependencies: 1081 | boom "2.x.x" 1082 | cryptiles "2.x.x" 1083 | hoek "2.x.x" 1084 | sntp "1.x.x" 1085 | 1086 | hawk@~6.0.2: 1087 | version "6.0.2" 1088 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" 1089 | dependencies: 1090 | boom "4.x.x" 1091 | cryptiles "3.x.x" 1092 | hoek "4.x.x" 1093 | sntp "2.x.x" 1094 | 1095 | hoek@2.x.x: 1096 | version "2.16.3" 1097 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" 1098 | 1099 | hoek@4.x.x: 1100 | version "4.2.1" 1101 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" 1102 | 1103 | http-cache-semantics@3.8.1: 1104 | version "3.8.1" 1105 | resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" 1106 | 1107 | http-errors@1.6.2: 1108 | version "1.6.2" 1109 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" 1110 | dependencies: 1111 | depd "1.1.1" 1112 | inherits "2.0.3" 1113 | setprototypeof "1.0.3" 1114 | statuses ">= 1.3.1 < 2" 1115 | 1116 | http-errors@~1.6.2: 1117 | version "1.6.3" 1118 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" 1119 | dependencies: 1120 | depd "~1.1.2" 1121 | inherits "2.0.3" 1122 | setprototypeof "1.1.0" 1123 | statuses ">= 1.4.0 < 2" 1124 | 1125 | http-proxy@1.16.2: 1126 | version "1.16.2" 1127 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" 1128 | dependencies: 1129 | eventemitter3 "1.x.x" 1130 | requires-port "1.x.x" 1131 | 1132 | http-signature@~1.1.0: 1133 | version "1.1.1" 1134 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" 1135 | dependencies: 1136 | assert-plus "^0.2.0" 1137 | jsprim "^1.2.2" 1138 | sshpk "^1.7.0" 1139 | 1140 | http-signature@~1.2.0: 1141 | version "1.2.0" 1142 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" 1143 | dependencies: 1144 | assert-plus "^1.0.0" 1145 | jsprim "^1.2.2" 1146 | sshpk "^1.7.0" 1147 | 1148 | i@0.3.x: 1149 | version "0.3.6" 1150 | resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d" 1151 | 1152 | iconv-lite@0.4.19: 1153 | version "0.4.19" 1154 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" 1155 | 1156 | imurmurhash@^0.1.4: 1157 | version "0.1.4" 1158 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1159 | 1160 | inflight@^1.0.4: 1161 | version "1.0.6" 1162 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1163 | dependencies: 1164 | once "^1.3.0" 1165 | wrappy "1" 1166 | 1167 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.3: 1168 | version "2.0.3" 1169 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 1170 | 1171 | ini@~1.3.0: 1172 | version "1.3.5" 1173 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" 1174 | 1175 | into-stream@^3.1.0: 1176 | version "3.1.0" 1177 | resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" 1178 | dependencies: 1179 | from2 "^2.1.1" 1180 | p-is-promise "^1.1.0" 1181 | 1182 | invert-kv@^1.0.0: 1183 | version "1.0.0" 1184 | resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" 1185 | 1186 | ipaddr.js@1.6.0: 1187 | version "1.6.0" 1188 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" 1189 | 1190 | is-buffer@^1.1.5: 1191 | version "1.1.6" 1192 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" 1193 | 1194 | is-fullwidth-code-point@^1.0.0: 1195 | version "1.0.0" 1196 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" 1197 | dependencies: 1198 | number-is-nan "^1.0.0" 1199 | 1200 | is-fullwidth-code-point@^2.0.0: 1201 | version "2.0.0" 1202 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" 1203 | 1204 | is-obj@^1.0.0: 1205 | version "1.0.1" 1206 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" 1207 | 1208 | is-object@^1.0.1: 1209 | version "1.0.1" 1210 | resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" 1211 | 1212 | is-plain-obj@^1.0.0: 1213 | version "1.1.0" 1214 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1215 | 1216 | is-retry-allowed@^1.1.0: 1217 | version "1.1.0" 1218 | resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" 1219 | 1220 | is-stream-ended@^0.1.0: 1221 | version "0.1.4" 1222 | resolved "https://registry.yarnpkg.com/is-stream-ended/-/is-stream-ended-0.1.4.tgz#f50224e95e06bce0e356d440a4827cd35b267eda" 1223 | 1224 | is-stream@^1.1.0: 1225 | version "1.1.0" 1226 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1227 | 1228 | is-typedarray@~1.0.0: 1229 | version "1.0.0" 1230 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1231 | 1232 | is-wsl@^1.1.0: 1233 | version "1.1.0" 1234 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" 1235 | 1236 | is@^3.0.1, is@^3.2.0: 1237 | version "3.2.1" 1238 | resolved "https://registry.yarnpkg.com/is/-/is-3.2.1.tgz#d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5" 1239 | 1240 | isarray@~1.0.0: 1241 | version "1.0.0" 1242 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 1243 | 1244 | isexe@^2.0.0: 1245 | version "2.0.0" 1246 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1247 | 1248 | isstream@0.1.x, isstream@~0.1.2: 1249 | version "0.1.2" 1250 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" 1251 | 1252 | isurl@^1.0.0-alpha5: 1253 | version "1.0.0" 1254 | resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" 1255 | dependencies: 1256 | has-to-string-tag-x "^1.2.0" 1257 | is-object "^1.0.1" 1258 | 1259 | jsbn@~0.1.0: 1260 | version "0.1.1" 1261 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" 1262 | 1263 | json-buffer@3.0.0: 1264 | version "3.0.0" 1265 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" 1266 | 1267 | json-schema-traverse@^0.3.0: 1268 | version "0.3.1" 1269 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" 1270 | 1271 | json-schema@0.2.3: 1272 | version "0.2.3" 1273 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" 1274 | 1275 | json-stable-stringify@^1.0.1: 1276 | version "1.0.1" 1277 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" 1278 | dependencies: 1279 | jsonify "~0.0.0" 1280 | 1281 | json-stringify-safe@~5.0.1: 1282 | version "5.0.1" 1283 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" 1284 | 1285 | jsonify@~0.0.0: 1286 | version "0.0.0" 1287 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" 1288 | 1289 | jsprim@^1.2.2: 1290 | version "1.4.1" 1291 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" 1292 | dependencies: 1293 | assert-plus "1.0.0" 1294 | extsprintf "1.3.0" 1295 | json-schema "0.2.3" 1296 | verror "1.10.0" 1297 | 1298 | jwa@^1.1.4: 1299 | version "1.1.5" 1300 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.1.5.tgz#a0552ce0220742cd52e153774a32905c30e756e5" 1301 | dependencies: 1302 | base64url "2.0.0" 1303 | buffer-equal-constant-time "1.0.1" 1304 | ecdsa-sig-formatter "1.0.9" 1305 | safe-buffer "^5.0.1" 1306 | 1307 | jws@^3.0.0, jws@^3.1.4: 1308 | version "3.1.4" 1309 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.1.4.tgz#f9e8b9338e8a847277d6444b1464f61880e050a2" 1310 | dependencies: 1311 | base64url "^2.0.0" 1312 | jwa "^1.1.4" 1313 | safe-buffer "^5.0.1" 1314 | 1315 | keyv@3.0.0: 1316 | version "3.0.0" 1317 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" 1318 | dependencies: 1319 | json-buffer "3.0.0" 1320 | 1321 | lcid@^1.0.0: 1322 | version "1.0.0" 1323 | resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" 1324 | dependencies: 1325 | invert-kv "^1.0.0" 1326 | 1327 | locate-path@^2.0.0: 1328 | version "2.0.0" 1329 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" 1330 | dependencies: 1331 | p-locate "^2.0.0" 1332 | path-exists "^3.0.0" 1333 | 1334 | lodash.isstring@^4.0.1: 1335 | version "4.0.1" 1336 | resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" 1337 | 1338 | lodash.merge@^4.6.0: 1339 | version "4.6.1" 1340 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" 1341 | 1342 | lodash.noop@^3.0.1: 1343 | version "3.0.1" 1344 | resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c" 1345 | 1346 | lodash@4.17.5, lodash@^4.14.0, lodash@^4.17.4: 1347 | version "4.17.5" 1348 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" 1349 | 1350 | lodash@^3.10.1: 1351 | version "3.10.1" 1352 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" 1353 | 1354 | log-driver@1.2.7: 1355 | version "1.2.7" 1356 | resolved "https://registry.yarnpkg.com/log-driver/-/log-driver-1.2.7.tgz#63b95021f0702fedfa2c9bb0a24e7797d71871d8" 1357 | 1358 | long@~3: 1359 | version "3.2.0" 1360 | resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" 1361 | 1362 | lowercase-keys@1.0.0: 1363 | version "1.0.0" 1364 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" 1365 | 1366 | lowercase-keys@^1.0.0: 1367 | version "1.0.1" 1368 | resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" 1369 | 1370 | lru-cache@^4.0.1, lru-cache@^4.1.2: 1371 | version "4.1.2" 1372 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.2.tgz#45234b2e6e2f2b33da125624c4664929a0224c3f" 1373 | dependencies: 1374 | pseudomap "^1.0.2" 1375 | yallist "^2.1.2" 1376 | 1377 | make-dir@^1.0.0: 1378 | version "1.2.0" 1379 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b" 1380 | dependencies: 1381 | pify "^3.0.0" 1382 | 1383 | media-typer@0.3.0: 1384 | version "0.3.0" 1385 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1386 | 1387 | mem@^1.1.0: 1388 | version "1.1.0" 1389 | resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" 1390 | dependencies: 1391 | mimic-fn "^1.0.0" 1392 | 1393 | merge-descriptors@1.0.1: 1394 | version "1.0.1" 1395 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1396 | 1397 | methmeth@^1.1.0: 1398 | version "1.1.0" 1399 | resolved "https://registry.yarnpkg.com/methmeth/-/methmeth-1.1.0.tgz#e80a26618e52f5c4222861bb748510bd10e29089" 1400 | 1401 | methods@~1.1.2: 1402 | version "1.1.2" 1403 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1404 | 1405 | "mime-db@>= 1.33.0 < 2", mime-db@~1.33.0: 1406 | version "1.33.0" 1407 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" 1408 | 1409 | mime-types@^2.0.8, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: 1410 | version "2.1.18" 1411 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" 1412 | dependencies: 1413 | mime-db "~1.33.0" 1414 | 1415 | mime@1.4.1, mime@^1.4.1: 1416 | version "1.4.1" 1417 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" 1418 | 1419 | mime@^2.2.0: 1420 | version "2.2.2" 1421 | resolved "https://registry.yarnpkg.com/mime/-/mime-2.2.2.tgz#6b4c109d88031d7b5c23635f5b923da336d79121" 1422 | 1423 | mimic-fn@^1.0.0: 1424 | version "1.2.0" 1425 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" 1426 | 1427 | mimic-response@^1.0.0: 1428 | version "1.0.0" 1429 | resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.0.tgz#df3d3652a73fded6b9b0b24146e6fd052353458e" 1430 | 1431 | minimatch@^3.0.0, minimatch@^3.0.4: 1432 | version "3.0.4" 1433 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1434 | dependencies: 1435 | brace-expansion "^1.1.7" 1436 | 1437 | minimist@0.0.8: 1438 | version "0.0.8" 1439 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" 1440 | 1441 | minimist@^1.2.0: 1442 | version "1.2.0" 1443 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" 1444 | 1445 | mkdirp@0.x.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1: 1446 | version "0.5.1" 1447 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" 1448 | dependencies: 1449 | minimist "0.0.8" 1450 | 1451 | modelo@^4.2.0: 1452 | version "4.2.3" 1453 | resolved "https://registry.yarnpkg.com/modelo/-/modelo-4.2.3.tgz#b278588a4db87fc1e5107ae3a277c0876f38d894" 1454 | 1455 | ms@2.0.0: 1456 | version "2.0.0" 1457 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1458 | 1459 | mute-stream@~0.0.4: 1460 | version "0.0.7" 1461 | resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" 1462 | 1463 | nan@^2.8.0: 1464 | version "2.10.0" 1465 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" 1466 | 1467 | ncp@1.0.x: 1468 | version "1.0.1" 1469 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-1.0.1.tgz#d15367e5cb87432ba117d2bf80fdf45aecfb4246" 1470 | 1471 | negotiator@0.6.1: 1472 | version "0.6.1" 1473 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" 1474 | 1475 | node-forge@^0.7.1, node-forge@^0.7.4: 1476 | version "0.7.5" 1477 | resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" 1478 | 1479 | node-pre-gyp@^0.6.39: 1480 | version "0.6.39" 1481 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" 1482 | dependencies: 1483 | detect-libc "^1.0.2" 1484 | hawk "3.1.3" 1485 | mkdirp "^0.5.1" 1486 | nopt "^4.0.1" 1487 | npmlog "^4.0.2" 1488 | rc "^1.1.7" 1489 | request "2.81.0" 1490 | rimraf "^2.6.1" 1491 | semver "^5.3.0" 1492 | tar "^2.2.1" 1493 | tar-pack "^3.4.0" 1494 | 1495 | nopt@^4.0.1: 1496 | version "4.0.1" 1497 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" 1498 | dependencies: 1499 | abbrev "1" 1500 | osenv "^0.1.4" 1501 | 1502 | normalize-url@2.0.1: 1503 | version "2.0.1" 1504 | resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" 1505 | dependencies: 1506 | prepend-http "^2.0.0" 1507 | query-string "^5.0.1" 1508 | sort-keys "^2.0.0" 1509 | 1510 | npm-run-path@^2.0.0: 1511 | version "2.0.2" 1512 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 1513 | dependencies: 1514 | path-key "^2.0.0" 1515 | 1516 | npmlog@^4.0.2: 1517 | version "4.1.2" 1518 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" 1519 | dependencies: 1520 | are-we-there-yet "~1.1.2" 1521 | console-control-strings "~1.1.0" 1522 | gauge "~2.7.3" 1523 | set-blocking "~2.0.0" 1524 | 1525 | number-is-nan@^1.0.0: 1526 | version "1.0.1" 1527 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" 1528 | 1529 | oauth-sign@~0.8.1, oauth-sign@~0.8.2: 1530 | version "0.8.2" 1531 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" 1532 | 1533 | object-assign@^4.1.0: 1534 | version "4.1.1" 1535 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1536 | 1537 | on-finished@~2.3.0: 1538 | version "2.3.0" 1539 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" 1540 | dependencies: 1541 | ee-first "1.1.1" 1542 | 1543 | once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: 1544 | version "1.4.0" 1545 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1546 | dependencies: 1547 | wrappy "1" 1548 | 1549 | opn@^5.1.0: 1550 | version "5.3.0" 1551 | resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c" 1552 | dependencies: 1553 | is-wsl "^1.1.0" 1554 | 1555 | optjs@~3.2.2: 1556 | version "3.2.2" 1557 | resolved "https://registry.yarnpkg.com/optjs/-/optjs-3.2.2.tgz#69a6ce89c442a44403141ad2f9b370bd5bb6f4ee" 1558 | 1559 | os-homedir@^1.0.0: 1560 | version "1.0.2" 1561 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" 1562 | 1563 | os-locale@^1.4.0: 1564 | version "1.4.0" 1565 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" 1566 | dependencies: 1567 | lcid "^1.0.0" 1568 | 1569 | os-locale@^2.0.0: 1570 | version "2.1.0" 1571 | resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" 1572 | dependencies: 1573 | execa "^0.7.0" 1574 | lcid "^1.0.0" 1575 | mem "^1.1.0" 1576 | 1577 | os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: 1578 | version "1.0.2" 1579 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1580 | 1581 | osenv@^0.1.4: 1582 | version "0.1.5" 1583 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" 1584 | dependencies: 1585 | os-homedir "^1.0.0" 1586 | os-tmpdir "^1.0.0" 1587 | 1588 | p-cancelable@^0.3.0: 1589 | version "0.3.0" 1590 | resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" 1591 | 1592 | p-finally@^1.0.0: 1593 | version "1.0.0" 1594 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 1595 | 1596 | p-is-promise@^1.1.0: 1597 | version "1.1.0" 1598 | resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" 1599 | 1600 | p-limit@^1.1.0: 1601 | version "1.2.0" 1602 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c" 1603 | dependencies: 1604 | p-try "^1.0.0" 1605 | 1606 | p-locate@^2.0.0: 1607 | version "2.0.0" 1608 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" 1609 | dependencies: 1610 | p-limit "^1.1.0" 1611 | 1612 | p-timeout@^2.0.1: 1613 | version "2.0.1" 1614 | resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" 1615 | dependencies: 1616 | p-finally "^1.0.0" 1617 | 1618 | p-try@^1.0.0: 1619 | version "1.0.0" 1620 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" 1621 | 1622 | parseurl@~1.3.2: 1623 | version "1.3.2" 1624 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" 1625 | 1626 | path-exists@^3.0.0: 1627 | version "3.0.0" 1628 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" 1629 | 1630 | path-is-absolute@^1.0.0: 1631 | version "1.0.1" 1632 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1633 | 1634 | path-key@^2.0.0: 1635 | version "2.0.1" 1636 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1637 | 1638 | path-to-regexp@0.1.7: 1639 | version "0.1.7" 1640 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1641 | 1642 | performance-now@^0.2.0: 1643 | version "0.2.0" 1644 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" 1645 | 1646 | performance-now@^2.1.0: 1647 | version "2.1.0" 1648 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" 1649 | 1650 | pify@^3.0.0: 1651 | version "3.0.0" 1652 | resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" 1653 | 1654 | pkginfo@0.3.x: 1655 | version "0.3.1" 1656 | resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.3.1.tgz#5b29f6a81f70717142e09e765bbeab97b4f81e21" 1657 | 1658 | pkginfo@0.x.x: 1659 | version "0.4.1" 1660 | resolved "https://registry.yarnpkg.com/pkginfo/-/pkginfo-0.4.1.tgz#b5418ef0439de5425fc4995042dced14fb2a84ff" 1661 | 1662 | prepend-http@^2.0.0: 1663 | version "2.0.0" 1664 | resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" 1665 | 1666 | process-nextick-args@~2.0.0: 1667 | version "2.0.0" 1668 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" 1669 | 1670 | prompt@1.0.0: 1671 | version "1.0.0" 1672 | resolved "https://registry.yarnpkg.com/prompt/-/prompt-1.0.0.tgz#8e57123c396ab988897fb327fd3aedc3e735e4fe" 1673 | dependencies: 1674 | colors "^1.1.2" 1675 | pkginfo "0.x.x" 1676 | read "1.0.x" 1677 | revalidator "0.1.x" 1678 | utile "0.3.x" 1679 | winston "2.1.x" 1680 | 1681 | protobufjs@^5.0.2: 1682 | version "5.0.2" 1683 | resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-5.0.2.tgz#59748d7dcf03d2db22c13da9feb024e16ab80c91" 1684 | dependencies: 1685 | ascli "~1" 1686 | bytebuffer "~5" 1687 | glob "^7.0.5" 1688 | yargs "^3.10.0" 1689 | 1690 | protochain@^1.0.5: 1691 | version "1.0.5" 1692 | resolved "https://registry.yarnpkg.com/protochain/-/protochain-1.0.5.tgz#991c407e99de264aadf8f81504b5e7faf7bfa260" 1693 | 1694 | proxy-addr@~2.0.2, proxy-addr@~2.0.3: 1695 | version "2.0.3" 1696 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" 1697 | dependencies: 1698 | forwarded "~0.1.2" 1699 | ipaddr.js "1.6.0" 1700 | 1701 | pseudomap@^1.0.2: 1702 | version "1.0.2" 1703 | resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" 1704 | 1705 | pump@^2.0.0: 1706 | version "2.0.1" 1707 | resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" 1708 | dependencies: 1709 | end-of-stream "^1.1.0" 1710 | once "^1.3.1" 1711 | 1712 | pumpify@^1.3.3: 1713 | version "1.4.0" 1714 | resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb" 1715 | dependencies: 1716 | duplexify "^3.5.3" 1717 | inherits "^2.0.3" 1718 | pump "^2.0.0" 1719 | 1720 | punycode@^1.4.1: 1721 | version "1.4.1" 1722 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1723 | 1724 | qs@6.5.1, qs@~6.5.1: 1725 | version "6.5.1" 1726 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" 1727 | 1728 | qs@~6.4.0: 1729 | version "6.4.0" 1730 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" 1731 | 1732 | query-string@^5.0.1: 1733 | version "5.1.1" 1734 | resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" 1735 | dependencies: 1736 | decode-uri-component "^0.2.0" 1737 | object-assign "^4.1.0" 1738 | strict-uri-encode "^1.0.0" 1739 | 1740 | range-parser@~1.2.0: 1741 | version "1.2.0" 1742 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" 1743 | 1744 | raw-body@2.3.2: 1745 | version "2.3.2" 1746 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" 1747 | dependencies: 1748 | bytes "3.0.0" 1749 | http-errors "1.6.2" 1750 | iconv-lite "0.4.19" 1751 | unpipe "1.0.0" 1752 | 1753 | rc@^1.1.7: 1754 | version "1.2.6" 1755 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.6.tgz#eb18989c6d4f4f162c399f79ddd29f3835568092" 1756 | dependencies: 1757 | deep-extend "~0.4.0" 1758 | ini "~1.3.0" 1759 | minimist "^1.2.0" 1760 | strip-json-comments "~2.0.1" 1761 | 1762 | read@1.0.x: 1763 | version "1.0.7" 1764 | resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" 1765 | dependencies: 1766 | mute-stream "~0.0.4" 1767 | 1768 | readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2: 1769 | version "2.3.6" 1770 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" 1771 | dependencies: 1772 | core-util-is "~1.0.0" 1773 | inherits "~2.0.3" 1774 | isarray "~1.0.0" 1775 | process-nextick-args "~2.0.0" 1776 | safe-buffer "~5.1.1" 1777 | string_decoder "~1.1.1" 1778 | util-deprecate "~1.0.1" 1779 | 1780 | readline@^1.3.0: 1781 | version "1.3.0" 1782 | resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" 1783 | 1784 | request@2.81.0: 1785 | version "2.81.0" 1786 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" 1787 | dependencies: 1788 | aws-sign2 "~0.6.0" 1789 | aws4 "^1.2.1" 1790 | caseless "~0.12.0" 1791 | combined-stream "~1.0.5" 1792 | extend "~3.0.0" 1793 | forever-agent "~0.6.1" 1794 | form-data "~2.1.1" 1795 | har-validator "~4.2.1" 1796 | hawk "~3.1.3" 1797 | http-signature "~1.1.0" 1798 | is-typedarray "~1.0.0" 1799 | isstream "~0.1.2" 1800 | json-stringify-safe "~5.0.1" 1801 | mime-types "~2.1.7" 1802 | oauth-sign "~0.8.1" 1803 | performance-now "^0.2.0" 1804 | qs "~6.4.0" 1805 | safe-buffer "^5.0.1" 1806 | stringstream "~0.0.4" 1807 | tough-cookie "~2.3.0" 1808 | tunnel-agent "^0.6.0" 1809 | uuid "^3.0.0" 1810 | 1811 | request@^2.72.0, request@^2.74.0, request@^2.79.0, request@^2.81.0, request@^2.83.0: 1812 | version "2.85.0" 1813 | resolved "https://registry.yarnpkg.com/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" 1814 | dependencies: 1815 | aws-sign2 "~0.7.0" 1816 | aws4 "^1.6.0" 1817 | caseless "~0.12.0" 1818 | combined-stream "~1.0.5" 1819 | extend "~3.0.1" 1820 | forever-agent "~0.6.1" 1821 | form-data "~2.3.1" 1822 | har-validator "~5.0.3" 1823 | hawk "~6.0.2" 1824 | http-signature "~1.2.0" 1825 | is-typedarray "~1.0.0" 1826 | isstream "~0.1.2" 1827 | json-stringify-safe "~5.0.1" 1828 | mime-types "~2.1.17" 1829 | oauth-sign "~0.8.2" 1830 | performance-now "^2.1.0" 1831 | qs "~6.5.1" 1832 | safe-buffer "^5.1.1" 1833 | stringstream "~0.0.5" 1834 | tough-cookie "~2.3.3" 1835 | tunnel-agent "^0.6.0" 1836 | uuid "^3.1.0" 1837 | 1838 | require-directory@^2.1.1: 1839 | version "2.1.1" 1840 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1841 | 1842 | require-main-filename@^1.0.1: 1843 | version "1.0.1" 1844 | resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" 1845 | 1846 | requires-port@1.x.x: 1847 | version "1.0.0" 1848 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" 1849 | 1850 | responselike@1.0.2: 1851 | version "1.0.2" 1852 | resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" 1853 | dependencies: 1854 | lowercase-keys "^1.0.0" 1855 | 1856 | retry-axios@0.3.2, retry-axios@^0.3.2: 1857 | version "0.3.2" 1858 | resolved "https://registry.yarnpkg.com/retry-axios/-/retry-axios-0.3.2.tgz#5757c80f585b4cc4c4986aa2ffd47a60c6d35e13" 1859 | 1860 | retry-request@^3.0.0: 1861 | version "3.3.1" 1862 | resolved "https://registry.yarnpkg.com/retry-request/-/retry-request-3.3.1.tgz#fb71276235a617e97551e9be737ab5b91591fb9e" 1863 | dependencies: 1864 | request "^2.81.0" 1865 | through2 "^2.0.0" 1866 | 1867 | revalidator@0.1.x: 1868 | version "0.1.8" 1869 | resolved "https://registry.yarnpkg.com/revalidator/-/revalidator-0.1.8.tgz#fece61bfa0c1b52a206bd6b18198184bdd523a3b" 1870 | 1871 | rimraf@2, rimraf@2.6.2, rimraf@2.x.x, rimraf@^2.5.1, rimraf@^2.6.1: 1872 | version "2.6.2" 1873 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" 1874 | dependencies: 1875 | glob "^7.0.5" 1876 | 1877 | safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1878 | version "5.1.1" 1879 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" 1880 | 1881 | semver@5.5.0, semver@^5.3.0: 1882 | version "5.5.0" 1883 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" 1884 | 1885 | send@0.16.1: 1886 | version "0.16.1" 1887 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" 1888 | dependencies: 1889 | debug "2.6.9" 1890 | depd "~1.1.1" 1891 | destroy "~1.0.4" 1892 | encodeurl "~1.0.1" 1893 | escape-html "~1.0.3" 1894 | etag "~1.8.1" 1895 | fresh "0.5.2" 1896 | http-errors "~1.6.2" 1897 | mime "1.4.1" 1898 | ms "2.0.0" 1899 | on-finished "~2.3.0" 1900 | range-parser "~1.2.0" 1901 | statuses "~1.3.1" 1902 | 1903 | send@0.16.2: 1904 | version "0.16.2" 1905 | resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" 1906 | dependencies: 1907 | debug "2.6.9" 1908 | depd "~1.1.2" 1909 | destroy "~1.0.4" 1910 | encodeurl "~1.0.2" 1911 | escape-html "~1.0.3" 1912 | etag "~1.8.1" 1913 | fresh "0.5.2" 1914 | http-errors "~1.6.2" 1915 | mime "1.4.1" 1916 | ms "2.0.0" 1917 | on-finished "~2.3.0" 1918 | range-parser "~1.2.0" 1919 | statuses "~1.4.0" 1920 | 1921 | serializerr@1.0.3: 1922 | version "1.0.3" 1923 | resolved "https://registry.yarnpkg.com/serializerr/-/serializerr-1.0.3.tgz#12d4c5aa1c3ffb8f6d1dc5f395aa9455569c3f91" 1924 | dependencies: 1925 | protochain "^1.0.5" 1926 | 1927 | serve-static@1.13.1: 1928 | version "1.13.1" 1929 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" 1930 | dependencies: 1931 | encodeurl "~1.0.1" 1932 | escape-html "~1.0.3" 1933 | parseurl "~1.3.2" 1934 | send "0.16.1" 1935 | 1936 | serve-static@1.13.2: 1937 | version "1.13.2" 1938 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" 1939 | dependencies: 1940 | encodeurl "~1.0.2" 1941 | escape-html "~1.0.3" 1942 | parseurl "~1.3.2" 1943 | send "0.16.2" 1944 | 1945 | set-blocking@^2.0.0, set-blocking@~2.0.0: 1946 | version "2.0.0" 1947 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" 1948 | 1949 | setprototypeof@1.0.3: 1950 | version "1.0.3" 1951 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" 1952 | 1953 | setprototypeof@1.1.0: 1954 | version "1.1.0" 1955 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" 1956 | 1957 | shebang-command@^1.2.0: 1958 | version "1.2.0" 1959 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1960 | dependencies: 1961 | shebang-regex "^1.0.0" 1962 | 1963 | shebang-regex@^1.0.0: 1964 | version "1.0.0" 1965 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1966 | 1967 | signal-exit@^3.0.0, signal-exit@^3.0.2: 1968 | version "3.0.2" 1969 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" 1970 | 1971 | snakeize@^0.1.0: 1972 | version "0.1.0" 1973 | resolved "https://registry.yarnpkg.com/snakeize/-/snakeize-0.1.0.tgz#10c088d8b58eb076b3229bb5a04e232ce126422d" 1974 | 1975 | sntp@1.x.x: 1976 | version "1.0.9" 1977 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" 1978 | dependencies: 1979 | hoek "2.x.x" 1980 | 1981 | sntp@2.x.x: 1982 | version "2.1.0" 1983 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" 1984 | dependencies: 1985 | hoek "4.x.x" 1986 | 1987 | sort-keys@^2.0.0: 1988 | version "2.0.0" 1989 | resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" 1990 | dependencies: 1991 | is-plain-obj "^1.0.0" 1992 | 1993 | split-array-stream@^1.0.0: 1994 | version "1.0.3" 1995 | resolved "https://registry.yarnpkg.com/split-array-stream/-/split-array-stream-1.0.3.tgz#d2b75a8e5e0d824d52fdec8b8225839dc2e35dfa" 1996 | dependencies: 1997 | async "^2.4.0" 1998 | is-stream-ended "^0.1.0" 1999 | 2000 | sshpk@^1.7.0: 2001 | version "1.14.1" 2002 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.1.tgz#130f5975eddad963f1d56f92b9ac6c51fa9f83eb" 2003 | dependencies: 2004 | asn1 "~0.2.3" 2005 | assert-plus "^1.0.0" 2006 | dashdash "^1.12.0" 2007 | getpass "^0.1.1" 2008 | optionalDependencies: 2009 | bcrypt-pbkdf "^1.0.0" 2010 | ecc-jsbn "~0.1.1" 2011 | jsbn "~0.1.0" 2012 | tweetnacl "~0.14.0" 2013 | 2014 | stack-trace@0.0.x: 2015 | version "0.0.10" 2016 | resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" 2017 | 2018 | "statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2", statuses@~1.4.0: 2019 | version "1.4.0" 2020 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" 2021 | 2022 | statuses@~1.3.1: 2023 | version "1.3.1" 2024 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" 2025 | 2026 | stream-events@^1.0.1: 2027 | version "1.0.3" 2028 | resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.3.tgz#73502d794e9e03607682e0c21948406cc650e54c" 2029 | dependencies: 2030 | stubs "^3.0.0" 2031 | 2032 | stream-shift@^1.0.0: 2033 | version "1.0.0" 2034 | resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" 2035 | 2036 | strict-uri-encode@^1.0.0: 2037 | version "1.1.0" 2038 | resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" 2039 | 2040 | string-format-obj@^1.0.0, string-format-obj@^1.1.0: 2041 | version "1.1.1" 2042 | resolved "https://registry.yarnpkg.com/string-format-obj/-/string-format-obj-1.1.1.tgz#c7612ca4e2ad923812a81db192dc291850aa1f65" 2043 | 2044 | string-template@1.0.0: 2045 | version "1.0.0" 2046 | resolved "https://registry.yarnpkg.com/string-template/-/string-template-1.0.0.tgz#9e9f2233dc00f218718ec379a28a5673ecca8b96" 2047 | 2048 | string-width@^1.0.1, string-width@^1.0.2: 2049 | version "1.0.2" 2050 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" 2051 | dependencies: 2052 | code-point-at "^1.0.0" 2053 | is-fullwidth-code-point "^1.0.0" 2054 | strip-ansi "^3.0.0" 2055 | 2056 | string-width@^2.0.0, string-width@^2.1.1: 2057 | version "2.1.1" 2058 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" 2059 | dependencies: 2060 | is-fullwidth-code-point "^2.0.0" 2061 | strip-ansi "^4.0.0" 2062 | 2063 | string_decoder@~1.1.1: 2064 | version "1.1.1" 2065 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 2066 | dependencies: 2067 | safe-buffer "~5.1.0" 2068 | 2069 | stringstream@~0.0.4, stringstream@~0.0.5: 2070 | version "0.0.5" 2071 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" 2072 | 2073 | strip-ansi@^3.0.0, strip-ansi@^3.0.1: 2074 | version "3.0.1" 2075 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" 2076 | dependencies: 2077 | ansi-regex "^2.0.0" 2078 | 2079 | strip-ansi@^4.0.0: 2080 | version "4.0.0" 2081 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" 2082 | dependencies: 2083 | ansi-regex "^3.0.0" 2084 | 2085 | strip-eof@^1.0.0: 2086 | version "1.0.0" 2087 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 2088 | 2089 | strip-json-comments@~2.0.1: 2090 | version "2.0.1" 2091 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2092 | 2093 | stubs@^3.0.0: 2094 | version "3.0.0" 2095 | resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" 2096 | 2097 | tar-pack@^3.4.0: 2098 | version "3.4.1" 2099 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" 2100 | dependencies: 2101 | debug "^2.2.0" 2102 | fstream "^1.0.10" 2103 | fstream-ignore "^1.0.5" 2104 | once "^1.3.3" 2105 | readable-stream "^2.1.4" 2106 | rimraf "^2.5.1" 2107 | tar "^2.2.1" 2108 | uid-number "^0.0.6" 2109 | 2110 | tar@^2.2.1: 2111 | version "2.2.1" 2112 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" 2113 | dependencies: 2114 | block-stream "*" 2115 | fstream "^1.0.2" 2116 | inherits "2" 2117 | 2118 | through2@^2.0.0, through2@^2.0.3: 2119 | version "2.0.3" 2120 | resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" 2121 | dependencies: 2122 | readable-stream "^2.1.5" 2123 | xtend "~4.0.1" 2124 | 2125 | timed-out@^4.0.1: 2126 | version "4.0.1" 2127 | resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" 2128 | 2129 | tmp@0.0.33: 2130 | version "0.0.33" 2131 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 2132 | dependencies: 2133 | os-tmpdir "~1.0.2" 2134 | 2135 | tough-cookie@~2.3.0, tough-cookie@~2.3.3: 2136 | version "2.3.4" 2137 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" 2138 | dependencies: 2139 | punycode "^1.4.1" 2140 | 2141 | tunnel-agent@^0.6.0: 2142 | version "0.6.0" 2143 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" 2144 | dependencies: 2145 | safe-buffer "^5.0.1" 2146 | 2147 | tweetnacl@^0.14.3, tweetnacl@~0.14.0: 2148 | version "0.14.5" 2149 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" 2150 | 2151 | type-is@~1.6.15, type-is@~1.6.16: 2152 | version "1.6.16" 2153 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194" 2154 | dependencies: 2155 | media-typer "0.3.0" 2156 | mime-types "~2.1.18" 2157 | 2158 | typedarray@^0.0.6: 2159 | version "0.0.6" 2160 | resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" 2161 | 2162 | typescript@^2.8.1: 2163 | version "2.8.1" 2164 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.8.1.tgz#6160e4f8f195d5ba81d4876f9c0cc1fbc0820624" 2165 | 2166 | uid-number@^0.0.6: 2167 | version "0.0.6" 2168 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" 2169 | 2170 | unique-string@^1.0.0: 2171 | version "1.0.0" 2172 | resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" 2173 | dependencies: 2174 | crypto-random-string "^1.0.0" 2175 | 2176 | unpipe@1.0.0, unpipe@~1.0.0: 2177 | version "1.0.0" 2178 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 2179 | 2180 | url-parse-lax@^3.0.0: 2181 | version "3.0.0" 2182 | resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" 2183 | dependencies: 2184 | prepend-http "^2.0.0" 2185 | 2186 | url-to-options@^1.0.1: 2187 | version "1.0.1" 2188 | resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" 2189 | 2190 | util-deprecate@~1.0.1: 2191 | version "1.0.2" 2192 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 2193 | 2194 | utile@0.3.x: 2195 | version "0.3.0" 2196 | resolved "https://registry.yarnpkg.com/utile/-/utile-0.3.0.tgz#1352c340eb820e4d8ddba039a4fbfaa32ed4ef3a" 2197 | dependencies: 2198 | async "~0.9.0" 2199 | deep-equal "~0.2.1" 2200 | i "0.3.x" 2201 | mkdirp "0.x.x" 2202 | ncp "1.0.x" 2203 | rimraf "2.x.x" 2204 | 2205 | utils-merge@1.0.1: 2206 | version "1.0.1" 2207 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 2208 | 2209 | uuid@3.2.1, uuid@^3.0.0, uuid@^3.1.0: 2210 | version "3.2.1" 2211 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" 2212 | 2213 | vary@~1.1.2: 2214 | version "1.1.2" 2215 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 2216 | 2217 | verror@1.10.0: 2218 | version "1.10.0" 2219 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" 2220 | dependencies: 2221 | assert-plus "^1.0.0" 2222 | core-util-is "1.0.2" 2223 | extsprintf "^1.2.0" 2224 | 2225 | which-module@^2.0.0: 2226 | version "2.0.0" 2227 | resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" 2228 | 2229 | which@^1.2.9: 2230 | version "1.3.0" 2231 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" 2232 | dependencies: 2233 | isexe "^2.0.0" 2234 | 2235 | wide-align@^1.1.0: 2236 | version "1.1.2" 2237 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" 2238 | dependencies: 2239 | string-width "^1.0.2" 2240 | 2241 | window-size@^0.1.4: 2242 | version "0.1.4" 2243 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" 2244 | 2245 | winston@2.1.x: 2246 | version "2.1.1" 2247 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.1.1.tgz#3c9349d196207fd1bdff9d4bc43ef72510e3a12e" 2248 | dependencies: 2249 | async "~1.0.0" 2250 | colors "1.0.x" 2251 | cycle "1.0.x" 2252 | eyes "0.1.x" 2253 | isstream "0.1.x" 2254 | pkginfo "0.3.x" 2255 | stack-trace "0.0.x" 2256 | 2257 | winston@2.4.0: 2258 | version "2.4.0" 2259 | resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.0.tgz#808050b93d52661ed9fb6c26b3f0c826708b0aee" 2260 | dependencies: 2261 | async "~1.0.0" 2262 | colors "1.0.x" 2263 | cycle "1.0.x" 2264 | eyes "0.1.x" 2265 | isstream "0.1.x" 2266 | stack-trace "0.0.x" 2267 | 2268 | wrap-ansi@^2.0.0: 2269 | version "2.1.0" 2270 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" 2271 | dependencies: 2272 | string-width "^1.0.1" 2273 | strip-ansi "^3.0.1" 2274 | 2275 | wrappy@1: 2276 | version "1.0.2" 2277 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2278 | 2279 | write-file-atomic@^2.0.0: 2280 | version "2.3.0" 2281 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" 2282 | dependencies: 2283 | graceful-fs "^4.1.11" 2284 | imurmurhash "^0.1.4" 2285 | signal-exit "^3.0.2" 2286 | 2287 | xdg-basedir@^3.0.0: 2288 | version "3.0.0" 2289 | resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" 2290 | 2291 | xtend@~4.0.1: 2292 | version "4.0.1" 2293 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" 2294 | 2295 | y18n@^3.2.0, y18n@^3.2.1: 2296 | version "3.2.1" 2297 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" 2298 | 2299 | yallist@^2.1.2: 2300 | version "2.1.2" 2301 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" 2302 | 2303 | yargs-parser@^9.0.2: 2304 | version "9.0.2" 2305 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" 2306 | dependencies: 2307 | camelcase "^4.1.0" 2308 | 2309 | yargs@11.0.0: 2310 | version "11.0.0" 2311 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" 2312 | dependencies: 2313 | cliui "^4.0.0" 2314 | decamelize "^1.1.1" 2315 | find-up "^2.1.0" 2316 | get-caller-file "^1.0.1" 2317 | os-locale "^2.0.0" 2318 | require-directory "^2.1.1" 2319 | require-main-filename "^1.0.1" 2320 | set-blocking "^2.0.0" 2321 | string-width "^2.0.0" 2322 | which-module "^2.0.0" 2323 | y18n "^3.2.1" 2324 | yargs-parser "^9.0.2" 2325 | 2326 | yargs@^3.10.0: 2327 | version "3.32.0" 2328 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.32.0.tgz#03088e9ebf9e756b69751611d2a5ef591482c995" 2329 | dependencies: 2330 | camelcase "^2.0.1" 2331 | cliui "^3.0.3" 2332 | decamelize "^1.1.1" 2333 | os-locale "^1.4.0" 2334 | string-width "^1.0.1" 2335 | window-size "^0.1.4" 2336 | y18n "^3.2.0" 2337 | --------------------------------------------------------------------------------