├── .gitignore ├── README.md ├── api.js ├── event.json ├── handler.js ├── package-lock.json ├── package.json ├── serverless.yml ├── temp.twit.config.js ├── tweet.actions.js └── tweets.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Config Files 9 | twit.config.js* 10 | twit.config.js 11 | 12 | # Lamda Serverless 13 | .serverless 14 | 15 | # Runtime data 16 | pids 17 | *.pid 18 | *.seed 19 | *.pid.lock 20 | 21 | # Directory for instrumented libs generated by jscoverage/JSCover 22 | lib-cov 23 | 24 | # Coverage directory used by tools like istanbul 25 | coverage 26 | 27 | # nyc test coverage 28 | .nyc_output 29 | 30 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 31 | .grunt 32 | 33 | # Bower dependency directory (https://bower.io/) 34 | bower_components 35 | 36 | # node-waf configuration 37 | .lock-wscript 38 | 39 | # Compiled binary addons (http://nodejs.org/api/addons.html) 40 | build/Release 41 | 42 | # Dependency directories 43 | node_modules/ 44 | jspm_packages/ 45 | 46 | # Typescript v1 declaration files 47 | typings/ 48 | 49 | # Optional npm cache directory 50 | .npm 51 | 52 | # Optional eslint cache 53 | .eslintcache 54 | 55 | # Optional REPL history 56 | .node_repl_history 57 | 58 | # Output of 'npm pack' 59 | *.tgz 60 | 61 | # Yarn Integrity file 62 | .yarn-integrity -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Join The Battle to Save The Net! 2 | ====== 3 | 4 | ## Help Keep the Internet Free and Open, Turn Your Twitter Acccount Into a Net Neutrality Campaign Bot 5 | #SaveTheNetBot 6 | ------ 7 | 8 | 9 | 10 | #### Let's Save Our Internet from turning into this![this](http://www.4kshooters.net/wp-content/uploads/2014/06/netneutralpricing2.jpg) 11 | 12 | 13 | 14 | 15 | CrashOverride and I setup this weekend planning to make an Twitter bot army to inform everyone what disolving Net Neutrality will do to our beloved internet. Twitter bots are free to make, and using aws Lambda as your server gives you 1 million free requests a month. After that it's still only 20 ¢ per million. Twitter's tweet limit is 15 tweets every 15 minutes. So we figured we could get about 15 million+ tweets out informing and campaigning to keep Net Netruality. We don't know if it will be enough, or do anything, but we have to try. Being new to bot making, we quickly found out that our bots got shut down quickly. Twitter's automation kept flagging our bots. We hit the stumbing block and we weren't sure how'd we keep any bot alive long enough for it to be worth the effort of deploying it. We decided to finally read Twitter's rules regarding bots. Apparently tweeting at people who aren't your followers is no no if do it to may times as a bot, you can no longer post as a bot. We weren't sure how to get around this in order to get the word out. Then an idea hit us, what if we turned our personal Twitter accounts into bots? 16 | 17 | The accounts have been established for years, so using them to tweet and encourage activism seem like the solution. Not quite the scale we were hoping for, but maybe we could get some retweets, or maybe we can get our friends to do it too?! Twitter bots are pretty much free with an aws account. If we wrote a bot that was easily configurable, we could share it with our friends who could also tweet to their friends. Next step seemed obvious, let's put out a basic campaign bot that tweets about Net Neutrality, tweets links to [Battle for the Net](https://www.battleforthenet.com/), the [December 7th Protests](http://verizonprotests.com/), [gofccyourself.com](http://www.gofccyourself.com/), retweet trending tweets concerning #NetNeutrality, and rally calls for activism. We'd make it as easily configurable as possible, and try to write the best documentation to help even the most junior programmer with a credit card a chance to the launch a Net Neutrality Campaign Bot to help save the Net! This is that attempt, we hope you'll join us and help accomplish our goal. Hack the Planet! 18 | 19 | ## Let's Get Setup! 20 | 21 | * [Features](#features) 22 | * [Tech Stack](#tech) 23 | * [Setting Up Your Twitter Bot](#twit-bot) 24 | * [Install Node](#node) 25 | * [Install Serverless](#serverless) 26 | * [Install and Configure Git](#git) 27 | * [OK Let's Wire It Up!](#wire) 28 | * [AWS Setup](#aws) 29 | * [Activate the Bot](#activate) 30 | * [The Plan](#the-plan) 31 | * [Coming Features](#soon) 32 | 33 | 34 | 35 | ## Features 36 | 37 | * Searches for hashtags related to Net Neutrality and retweets them 38 | * Tweets links to activism for Net Neutrality 39 | * Tweets out media about Net Neutrality 40 | 41 | 42 | ## Tech Stack 43 | 44 | Don't worry if you haven't used some of these technologies or services before. All of your commands and steps should be included in this read me. 45 | 46 | * [NodeJS](https://nodejs.org/en/) 47 | * [AWS Lambda](https://aws.amazon.com/lambda/) 48 | * [Twitter](https://twitter.com/) 49 | * [Serverless Framework](https://serverless.com/) 50 | * [Python (for awscli to run, no Python will be needed for the bot)](https://www.python.org) 51 | * [awscli (to deploy your bot)](https://aws.amazon.com/cli/) 52 | 53 | 54 | ## Setting Up Your Twitter Bot 55 | 56 | Login into your twitter account. After you login go to https://apps.twitter.com then click on the button that says _Create New App_. On the next screen you'll be prompted to name your app, give it a description, and it's website. Then name your app and just use your twitter profile url as your website. Hit confirm and there you go. Your account now has a bot. Inside your bot's setting click on the Keys and Access Tokens tab. Here you'll find your Consumer Key (API Key) and Consumer Secret (API Secret) keys. On the same page under this section you'll see a button that creates your Access Tokens. Press it. This creates your Access Token and Access Token Secret keys, you'll need these and your Consumer keys for the bot. 57 | 58 | 59 | ## Install Node 60 | 61 | If don't already have NodeJS installed, go [here](https://nodejs.org/en/) to download and install. To verify installation open your terminal and type `node -v`. If a version is displayed the installation was a success. Do the same with npm with `npm -v`. 62 | 63 | 64 | ## Install Serverless 65 | 66 | Inside you terminal type `npm i -g serverless`. Serverless is a framework we'll use to help us deploy and manage our lambda function controlling the bot. They have great [documentation](https://serverless.com/framework/docs/providers/aws/guide/quick-start/). 67 | 68 | 69 | ## Install and Configure Git 70 | 71 | If cloning _The super easy way_ way below you can skip this step. 72 | 73 | Install [Git](https://git-scm.com/downloads). Then inside your terminal do [this](https://help.github.com/articles/setting-your-username-in-git/) and [that](https://help.github.com/articles/setting-your-commit-email-address-in-git/). 74 | 75 | If this is your first time using Git it can be a little tricky at first, but you'll only need to know basic commands to setup the bot. For more information about Git here's an easy to read [cheat sheet](https://confluence.atlassian.com/bitbucketserver/basic-git-commands-776639767.html) for all the common Git commands you'll need, which isn't many. 76 | 77 | 78 | ## OK Let's Wire It Up! 79 | 80 | Clone this repository one of three ways. _The super easy way_, click on the *Clone or download* button and select _Download Zip_. The easy way, click on the *Clone or download* button and copy the https url. Then in your terminal type `git clone `. Clone it down with [ssh](https://help.github.com/articles/adding-a-new-ssh-key-to-your-github-account/). 81 | 82 | Once you have the project on your machine, navigate to it in your terminal and type `npm install`. 83 | 84 | Take your Consumer Key, Cosumer Secret, Access Token, and Access Token Secret and enter them in the `temp.twit.config.js` file. Then rename that same you entered your keys into, to `twit.config.js`. If you're using a repo make sure it's still on the `.gitignore` file because you do not want to commit that info. 85 | 86 | Open the `manifest.yml` file. This controls how aws handles your lambda function. At around line 74 you'll see this line `rate: rate(60 minutes)`. This controls how often your lambda will wake up and execute. 87 | 88 | There's only two other files you need to worry about, handler.js and tweets.js. `handler.js` allows you to set how many tweets you'd like to send every time the bot wakes up. There are instructions in the commments. `tweeets.js` is where all the tweets the bot will us are stored. Feel free to add whatever tweets you'd like. Their variable names are pretty self-explanatory. 89 | 90 | Now in your terminal if you type `npm start` the bot should execute locally and you'll see several success messages. Once we get setup with AWS you can launch this puppy! 91 | 92 | 93 | ## AWS Setup 94 | 95 | Sweet! Now we're working locally. Let's take this bot live. First get an aws account setup, and then install the awscli. 96 | 97 | Sign up for [AWS](https://portal.aws.amazon.com/billing/signup#/start). 98 | 99 | Next, if you don't have python, you'll need to install [python](https://www.python.org/downloads/) in order to install awscli. You won't need to know any python to deploy this bot, the awscli runs on it. Type `pip --version` to verify installation. 100 | 101 | After python has be successfully installed, you can use python's package manager to install awscli by typing `pip install awscli` in your terminal. After that you'll need configure it following these [instructions](http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html). Here is serverless's documenation on [setting up credentials](https://serverless.com/framework/docs/providers/aws/guide/credentials/). 102 | 103 | After this is done you're ready for deployment! 104 | 105 | 106 | ## Activate the Bot 107 | 108 | Once you're ready, open your terminal and type `npm run deploy`. Your bot with be deployed to aws's Lambda and will wake up and perform it's function on the intervals set in the serverless.yml file. You've now successfully launched your own Net Neutrality campaign bot! 109 | 110 | 111 | 112 | ## The Plan 113 | 114 | Now that your bot is working, go to your lambda's settings in your browser and temporarily disable it's trigger. Keep the bot ready to launch. The first wave begins at 6:00 A.M. EST, the second should follow at 5:30 A.M. MST, and third at 10:00 A.M. WST. In theory no account is violating terms of service, because you only contacting your followers and have long term base build by being a Twitter user. This bot will help you solidify your stance for Net Neutrality. There's no reason to fear that your account will get banned from twitter either! The worst case scenario is that your bot is no longer able to tweet. You can still tweet through your app or browser. Our goal with this bot is to gain visiblity for Net Neutrality while following Twitter's terms and services. 115 | 116 | 117 | ## Functions Coming Soon 118 | 119 | * Sync Tweeting support at Key Figures 120 | * Crawl through followers asking if they've contacted Congress today 121 | -------------------------------------------------------------------------------- /api.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const Twit = require("twit"); 3 | const T = new Twit(require("./twit.config.js")); 4 | 5 | const API = { 6 | search: (searchTerm, numberToGet) => { 7 | return new Promise((resolve, reject) => { 8 | //console.log("searchTerm: ", searchTerm); 9 | //console.log("numberToGet: ", numberToGet); 10 | T.get("search/tweets", { 11 | q: searchTerm, 12 | count: numberToGet 13 | }).then(res => { 14 | console.log("SEARCH SUCCESS"); 15 | resolve(res.data.statuses); 16 | }).catch(err => { 17 | console.error("SEARCH ERROR: ", err); 18 | reject(err); 19 | }); 20 | }); 21 | }, 22 | tweet: (botText) => { 23 | console.log("botText: ", botText); 24 | T.post("statuses/update", { 25 | status: botText 26 | }).then(res => { 27 | console.log("TWEET SUCCESS"); 28 | }).catch(err => { 29 | console.log("TWEET ERROR: ", err); 30 | }); 31 | }, 32 | retweet: (tweetId) => { 33 | console.log("tweetId: ", tweetId); 34 | T.post("statuses/retweet", { 35 | id: tweetId 36 | }).then(res => { 37 | console.log("RETWEET SUCCESS"); 38 | }).catch(err => { 39 | console.log("RETWEET ERROR: ", err.data.errors); 40 | }); 41 | }, 42 | retweetAll: (tweetArray, botText) => { 43 | console.log(tweetArray); 44 | tweetArray.forEach(tweet => { 45 | let botTweet = `${botText} @${tweet.user.screen_name} `; 46 | T.post("statuses/update", { 47 | status: botTweet, 48 | in_reply_to_status_id: tweet.id 49 | }).then(res => { 50 | console.log("RETWEET_ALL RESPONSE: ", res); 51 | }).catch(err => { 52 | console.log("RETWEET_ALL ERROR: ", err); 53 | }); 54 | }); 55 | }, 56 | retweetAllRotation: (tweetArray, botText) => { 57 | console.log(tweetArray); 58 | let botTweet; 59 | let count = 0; 60 | let maxCount = botText.length; 61 | console.log(botText); 62 | console.log(maxCount); 63 | tweetArray.forEach((tweet, index) => { 64 | if (count <= maxCount) { 65 | botTweet = `${botText[index]} @${tweet.user.screen_name} `; 66 | count++; 67 | } else { 68 | count = 0; 69 | botTweet = `${botText[0]} @${tweet.user.screen_name} `; 70 | count++; 71 | } 72 | T.post("statuses/update", { 73 | status: botTweet, 74 | in_reply_to_status_id: tweet.id 75 | }).then(res => { 76 | console.log("RETWEET_ALL_ROTATION RESPONSE: ", res); 77 | }).catch(err => { 78 | console.log("RETWEET_ALL ERROR_ROTATION: ", err); 79 | }); 80 | }); 81 | }, 82 | followOne: (tweet) => { 83 | T.post("friendships/create", { 84 | user_id: tweet.user.id, 85 | follow: true 86 | }).then(res => { 87 | console.log("FOLLOW_ONE RESPONSE: ", res); 88 | }).catch(err => { 89 | console.log("FOLLOW_ONE ERROR: ", err); 90 | }); 91 | }, 92 | searchAndRetweet: (hashtags, botText) => { 93 | console.log(hashtags); 94 | T.get("search/tweets", { 95 | q: hashtags, 96 | count: 5 97 | }).then(res => { 98 | console.log("SEARCH RESPONSE: ", res.data); 99 | API.retweetAll(res.data.statuses, botText); 100 | }).catch(err => { 101 | console.error("SEARCH ERROR: ", err); 102 | return err; 103 | }); 104 | }, 105 | followAll: (tweetArray) => { 106 | tweetArray.forEach(tweet => { 107 | T.post("friendships/create", { 108 | user_id: tweet.user.id, 109 | follow: true 110 | }).then(res => { 111 | console.log("FOLLOW_ALL RESPONSE: ", res); 112 | }).catch(err => { 113 | console.log("FOLLOW_ALL ERROR: ", err); 114 | }); 115 | }) 116 | } 117 | } 118 | 119 | module.exports = API; 120 | -------------------------------------------------------------------------------- /event.json: -------------------------------------------------------------------------------- 1 | { 2 | "key3": "value3", 3 | "key2": "value2", 4 | "key1": "value1" 5 | } 6 | -------------------------------------------------------------------------------- /handler.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const tAction = require("./tweet.actions"); 3 | 4 | module.exports.saveTheWebBot = (event, context, callback) => { 5 | //pass in how many retweets you'd like your acccount to do each cycle 6 | tAction.retweetHashTags(1); 7 | //pass in how many informational tweets with links you'd like to post each cycle 8 | tAction.howToFight(1); 9 | //This function tweets portions of "Do no go gentle into that good night" 10 | //the first parameter indicates how many tweets you'd like each cycle 11 | //the second paramter set to true will post the whole poerm 12 | tAction.rageRageAgainstTheDyingOfTheLight(1, false); 13 | //pass in how many tweets of a peices of media information on Net Neutrality with activism links 14 | tAction.tweetMedia(1); 15 | }; 16 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "save-net-neutrality-bot", 3 | "version": "0.1.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@serverless/fdk": { 8 | "version": "0.5.1", 9 | "resolved": "https://registry.npmjs.org/@serverless/fdk/-/fdk-0.5.1.tgz", 10 | "integrity": "sha512-Z/+5R0AohLwDT1E+9BTeUA7NozlyIoTh0iEt6x8x+ZZhIBK5HBMBN6v2LfkI4wmmOOyceTvsN0l8nWfGp4Oh5g==", 11 | "dev": true, 12 | "requires": { 13 | "isomorphic-fetch": "2.2.1", 14 | "ramda": "0.24.1", 15 | "url-parse": "1.2.0" 16 | } 17 | }, 18 | "@types/graphql": { 19 | "version": "0.10.2", 20 | "resolved": "https://registry.npmjs.org/@types/graphql/-/graphql-0.10.2.tgz", 21 | "integrity": "sha512-Ayw0w+kr8vYd8DToiMXjcHxXv1ljWbqX2mnLwXDxkBgog3vywGriC0JZ+npsuohKs3+E88M8OOtobo4g0X3SIA==", 22 | "dev": true, 23 | "optional": true 24 | }, 25 | "accept": { 26 | "version": "2.1.4", 27 | "resolved": "https://registry.npmjs.org/accept/-/accept-2.1.4.tgz", 28 | "integrity": "sha1-iHr1TO7lx/RDBGGXHsQAxh0JrLs=", 29 | "dev": true, 30 | "requires": { 31 | "boom": "5.2.0", 32 | "hoek": "4.2.0" 33 | }, 34 | "dependencies": { 35 | "boom": { 36 | "version": "5.2.0", 37 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 38 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 39 | "dev": true, 40 | "requires": { 41 | "hoek": "4.2.0" 42 | } 43 | } 44 | } 45 | }, 46 | "agent-base": { 47 | "version": "2.1.1", 48 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-2.1.1.tgz", 49 | "integrity": "sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc=", 50 | "dev": true, 51 | "requires": { 52 | "extend": "3.0.1", 53 | "semver": "5.0.3" 54 | }, 55 | "dependencies": { 56 | "semver": { 57 | "version": "5.0.3", 58 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz", 59 | "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=", 60 | "dev": true 61 | } 62 | } 63 | }, 64 | "ajv": { 65 | "version": "5.5.0", 66 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.0.tgz", 67 | "integrity": "sha1-6yhAdG6dxIvV4GOjbj/UAMXqtak=", 68 | "requires": { 69 | "co": "4.6.0", 70 | "fast-deep-equal": "1.0.0", 71 | "fast-json-stable-stringify": "2.0.0", 72 | "json-schema-traverse": "0.3.1" 73 | } 74 | }, 75 | "ammo": { 76 | "version": "2.0.4", 77 | "resolved": "https://registry.npmjs.org/ammo/-/ammo-2.0.4.tgz", 78 | "integrity": "sha1-v4CqshFpjqePY+9efxE91dnokX8=", 79 | "dev": true, 80 | "requires": { 81 | "boom": "5.2.0", 82 | "hoek": "4.2.0" 83 | }, 84 | "dependencies": { 85 | "boom": { 86 | "version": "5.2.0", 87 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 88 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 89 | "dev": true, 90 | "requires": { 91 | "hoek": "4.2.0" 92 | } 93 | } 94 | } 95 | }, 96 | "ansi": { 97 | "version": "0.3.1", 98 | "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", 99 | "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", 100 | "dev": true 101 | }, 102 | "ansi-align": { 103 | "version": "2.0.0", 104 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz", 105 | "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", 106 | "dev": true, 107 | "requires": { 108 | "string-width": "2.1.1" 109 | }, 110 | "dependencies": { 111 | "ansi-regex": { 112 | "version": "3.0.0", 113 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 114 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 115 | "dev": true 116 | }, 117 | "is-fullwidth-code-point": { 118 | "version": "2.0.0", 119 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 120 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 121 | "dev": true 122 | }, 123 | "string-width": { 124 | "version": "2.1.1", 125 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 126 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 127 | "dev": true, 128 | "requires": { 129 | "is-fullwidth-code-point": "2.0.0", 130 | "strip-ansi": "4.0.0" 131 | } 132 | }, 133 | "strip-ansi": { 134 | "version": "4.0.0", 135 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 136 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 137 | "dev": true, 138 | "requires": { 139 | "ansi-regex": "3.0.0" 140 | } 141 | } 142 | } 143 | }, 144 | "ansi-escapes": { 145 | "version": "1.4.0", 146 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", 147 | "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", 148 | "dev": true 149 | }, 150 | "ansi-regex": { 151 | "version": "2.1.1", 152 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", 153 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", 154 | "dev": true 155 | }, 156 | "ansi-styles": { 157 | "version": "3.2.0", 158 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", 159 | "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", 160 | "dev": true, 161 | "requires": { 162 | "color-convert": "1.9.1" 163 | } 164 | }, 165 | "apollo-client": { 166 | "version": "1.9.3", 167 | "resolved": "https://registry.npmjs.org/apollo-client/-/apollo-client-1.9.3.tgz", 168 | "integrity": "sha512-JABKKbqvcw8DJm3YUkEmyx1SK74i+/DesEtAtyocJi10LLmeMQYQFpg8W3BG1tZsYEQ3owEmPbsdNGTly+VOQg==", 169 | "dev": true, 170 | "requires": { 171 | "@types/graphql": "0.10.2", 172 | "apollo-link-core": "0.5.4", 173 | "graphql": "0.10.5", 174 | "graphql-anywhere": "3.1.0", 175 | "graphql-tag": "2.5.0", 176 | "redux": "3.7.2", 177 | "symbol-observable": "1.0.4", 178 | "whatwg-fetch": "2.0.3" 179 | } 180 | }, 181 | "apollo-link-core": { 182 | "version": "0.5.4", 183 | "resolved": "https://registry.npmjs.org/apollo-link-core/-/apollo-link-core-0.5.4.tgz", 184 | "integrity": "sha512-OxL0Kjizb0eS2ObldDqJEs/tFN9xI9RZuTJcaszgGy+xudoPXhIMCHMr7hGZhy0mK+U+BbBULZJw4YQU4J0ODQ==", 185 | "dev": true, 186 | "requires": { 187 | "graphql": "0.10.5", 188 | "graphql-tag": "2.5.0", 189 | "zen-observable-ts": "0.4.4" 190 | } 191 | }, 192 | "archiver": { 193 | "version": "1.3.0", 194 | "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.3.0.tgz", 195 | "integrity": "sha1-TyGU1tj5nfP1MeaIHxTxXVX6ryI=", 196 | "dev": true, 197 | "requires": { 198 | "archiver-utils": "1.3.0", 199 | "async": "2.6.0", 200 | "buffer-crc32": "0.2.13", 201 | "glob": "7.1.2", 202 | "lodash": "4.17.4", 203 | "readable-stream": "2.3.3", 204 | "tar-stream": "1.5.5", 205 | "walkdir": "0.0.11", 206 | "zip-stream": "1.2.0" 207 | }, 208 | "dependencies": { 209 | "async": { 210 | "version": "2.6.0", 211 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", 212 | "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", 213 | "dev": true, 214 | "requires": { 215 | "lodash": "4.17.4" 216 | } 217 | } 218 | } 219 | }, 220 | "archiver-utils": { 221 | "version": "1.3.0", 222 | "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", 223 | "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", 224 | "dev": true, 225 | "requires": { 226 | "glob": "7.1.2", 227 | "graceful-fs": "4.1.11", 228 | "lazystream": "1.0.0", 229 | "lodash": "4.17.4", 230 | "normalize-path": "2.1.1", 231 | "readable-stream": "2.3.3" 232 | } 233 | }, 234 | "are-we-there-yet": { 235 | "version": "1.1.4", 236 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", 237 | "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", 238 | "dev": true, 239 | "requires": { 240 | "delegates": "1.0.0", 241 | "readable-stream": "2.3.3" 242 | } 243 | }, 244 | "argparse": { 245 | "version": "1.0.9", 246 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", 247 | "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", 248 | "dev": true, 249 | "requires": { 250 | "sprintf-js": "1.0.3" 251 | } 252 | }, 253 | "array-union": { 254 | "version": "1.0.2", 255 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", 256 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", 257 | "dev": true, 258 | "requires": { 259 | "array-uniq": "1.0.3" 260 | } 261 | }, 262 | "array-uniq": { 263 | "version": "1.0.3", 264 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", 265 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", 266 | "dev": true 267 | }, 268 | "asn1": { 269 | "version": "0.2.3", 270 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", 271 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" 272 | }, 273 | "assert-plus": { 274 | "version": "1.0.0", 275 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", 276 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" 277 | }, 278 | "async": { 279 | "version": "1.5.2", 280 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", 281 | "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", 282 | "dev": true 283 | }, 284 | "asynckit": { 285 | "version": "0.4.0", 286 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 287 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" 288 | }, 289 | "aws-sdk": { 290 | "version": "2.156.0", 291 | "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.156.0.tgz", 292 | "integrity": "sha1-QJwG9wUdWDIMs4mgJMp7Yc4x8TY=", 293 | "dev": true, 294 | "requires": { 295 | "buffer": "4.9.1", 296 | "crypto-browserify": "1.0.9", 297 | "events": "1.1.1", 298 | "jmespath": "0.15.0", 299 | "querystring": "0.2.0", 300 | "sax": "1.2.1", 301 | "url": "0.10.3", 302 | "uuid": "3.1.0", 303 | "xml2js": "0.4.17", 304 | "xmlbuilder": "4.2.1" 305 | } 306 | }, 307 | "aws-sign2": { 308 | "version": "0.7.0", 309 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", 310 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" 311 | }, 312 | "aws4": { 313 | "version": "1.6.0", 314 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", 315 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" 316 | }, 317 | "b64": { 318 | "version": "3.0.3", 319 | "resolved": "https://registry.npmjs.org/b64/-/b64-3.0.3.tgz", 320 | "integrity": "sha512-Pbeh0i6OLubPJdIdCepn8ZQHwN2MWznZHbHABSTEfQ706ie+yuxNSaPdqX1xRatT6WanaS1EazMiSg0NUW2XxQ==", 321 | "dev": true 322 | }, 323 | "babel-code-frame": { 324 | "version": "6.26.0", 325 | "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", 326 | "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", 327 | "dev": true, 328 | "requires": { 329 | "chalk": "1.1.3", 330 | "esutils": "2.0.2", 331 | "js-tokens": "3.0.2" 332 | }, 333 | "dependencies": { 334 | "ansi-styles": { 335 | "version": "2.2.1", 336 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 337 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 338 | "dev": true 339 | }, 340 | "chalk": { 341 | "version": "1.1.3", 342 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 343 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 344 | "dev": true, 345 | "requires": { 346 | "ansi-styles": "2.2.1", 347 | "escape-string-regexp": "1.0.5", 348 | "has-ansi": "2.0.0", 349 | "strip-ansi": "3.0.1", 350 | "supports-color": "2.0.0" 351 | } 352 | }, 353 | "supports-color": { 354 | "version": "2.0.0", 355 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 356 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 357 | "dev": true 358 | } 359 | } 360 | }, 361 | "babel-core": { 362 | "version": "6.26.0", 363 | "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", 364 | "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", 365 | "dev": true, 366 | "requires": { 367 | "babel-code-frame": "6.26.0", 368 | "babel-generator": "6.26.0", 369 | "babel-helpers": "6.24.1", 370 | "babel-messages": "6.23.0", 371 | "babel-register": "6.26.0", 372 | "babel-runtime": "6.26.0", 373 | "babel-template": "6.26.0", 374 | "babel-traverse": "6.26.0", 375 | "babel-types": "6.26.0", 376 | "babylon": "6.18.0", 377 | "convert-source-map": "1.5.1", 378 | "debug": "2.6.9", 379 | "json5": "0.5.1", 380 | "lodash": "4.17.4", 381 | "minimatch": "3.0.4", 382 | "path-is-absolute": "1.0.1", 383 | "private": "0.1.8", 384 | "slash": "1.0.0", 385 | "source-map": "0.5.7" 386 | } 387 | }, 388 | "babel-generator": { 389 | "version": "6.26.0", 390 | "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", 391 | "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", 392 | "dev": true, 393 | "requires": { 394 | "babel-messages": "6.23.0", 395 | "babel-runtime": "6.26.0", 396 | "babel-types": "6.26.0", 397 | "detect-indent": "4.0.0", 398 | "jsesc": "1.3.0", 399 | "lodash": "4.17.4", 400 | "source-map": "0.5.7", 401 | "trim-right": "1.0.1" 402 | } 403 | }, 404 | "babel-helpers": { 405 | "version": "6.24.1", 406 | "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", 407 | "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", 408 | "dev": true, 409 | "requires": { 410 | "babel-runtime": "6.26.0", 411 | "babel-template": "6.26.0" 412 | } 413 | }, 414 | "babel-messages": { 415 | "version": "6.23.0", 416 | "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", 417 | "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", 418 | "dev": true, 419 | "requires": { 420 | "babel-runtime": "6.26.0" 421 | } 422 | }, 423 | "babel-register": { 424 | "version": "6.26.0", 425 | "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", 426 | "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", 427 | "dev": true, 428 | "requires": { 429 | "babel-core": "6.26.0", 430 | "babel-runtime": "6.26.0", 431 | "core-js": "2.5.1", 432 | "home-or-tmp": "2.0.0", 433 | "lodash": "4.17.4", 434 | "mkdirp": "0.5.1", 435 | "source-map-support": "0.4.18" 436 | } 437 | }, 438 | "babel-runtime": { 439 | "version": "6.26.0", 440 | "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", 441 | "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", 442 | "dev": true, 443 | "requires": { 444 | "core-js": "2.5.1", 445 | "regenerator-runtime": "0.11.0" 446 | } 447 | }, 448 | "babel-template": { 449 | "version": "6.26.0", 450 | "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", 451 | "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", 452 | "dev": true, 453 | "requires": { 454 | "babel-runtime": "6.26.0", 455 | "babel-traverse": "6.26.0", 456 | "babel-types": "6.26.0", 457 | "babylon": "6.18.0", 458 | "lodash": "4.17.4" 459 | } 460 | }, 461 | "babel-traverse": { 462 | "version": "6.26.0", 463 | "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", 464 | "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", 465 | "dev": true, 466 | "requires": { 467 | "babel-code-frame": "6.26.0", 468 | "babel-messages": "6.23.0", 469 | "babel-runtime": "6.26.0", 470 | "babel-types": "6.26.0", 471 | "babylon": "6.18.0", 472 | "debug": "2.6.9", 473 | "globals": "9.18.0", 474 | "invariant": "2.2.2", 475 | "lodash": "4.17.4" 476 | } 477 | }, 478 | "babel-types": { 479 | "version": "6.26.0", 480 | "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", 481 | "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", 482 | "dev": true, 483 | "requires": { 484 | "babel-runtime": "6.26.0", 485 | "esutils": "2.0.2", 486 | "lodash": "4.17.4", 487 | "to-fast-properties": "1.0.3" 488 | } 489 | }, 490 | "babylon": { 491 | "version": "6.18.0", 492 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", 493 | "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", 494 | "dev": true 495 | }, 496 | "balanced-match": { 497 | "version": "1.0.0", 498 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 499 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 500 | "dev": true 501 | }, 502 | "base64-js": { 503 | "version": "1.2.1", 504 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", 505 | "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", 506 | "dev": true 507 | }, 508 | "base64url": { 509 | "version": "2.0.0", 510 | "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz", 511 | "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs=", 512 | "dev": true 513 | }, 514 | "bcrypt-pbkdf": { 515 | "version": "1.0.1", 516 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", 517 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", 518 | "optional": true, 519 | "requires": { 520 | "tweetnacl": "0.14.5" 521 | } 522 | }, 523 | "bl": { 524 | "version": "1.2.1", 525 | "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", 526 | "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", 527 | "dev": true, 528 | "requires": { 529 | "readable-stream": "2.3.3" 530 | } 531 | }, 532 | "bluebird": { 533 | "version": "3.5.1", 534 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", 535 | "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" 536 | }, 537 | "boom": { 538 | "version": "4.3.1", 539 | "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", 540 | "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", 541 | "requires": { 542 | "hoek": "4.2.0" 543 | } 544 | }, 545 | "boxen": { 546 | "version": "1.2.2", 547 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz", 548 | "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=", 549 | "dev": true, 550 | "requires": { 551 | "ansi-align": "2.0.0", 552 | "camelcase": "4.1.0", 553 | "chalk": "2.3.0", 554 | "cli-boxes": "1.0.0", 555 | "string-width": "2.1.1", 556 | "term-size": "1.2.0", 557 | "widest-line": "1.0.0" 558 | }, 559 | "dependencies": { 560 | "ansi-regex": { 561 | "version": "3.0.0", 562 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", 563 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", 564 | "dev": true 565 | }, 566 | "is-fullwidth-code-point": { 567 | "version": "2.0.0", 568 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", 569 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", 570 | "dev": true 571 | }, 572 | "string-width": { 573 | "version": "2.1.1", 574 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", 575 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", 576 | "dev": true, 577 | "requires": { 578 | "is-fullwidth-code-point": "2.0.0", 579 | "strip-ansi": "4.0.0" 580 | } 581 | }, 582 | "strip-ansi": { 583 | "version": "4.0.0", 584 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", 585 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", 586 | "dev": true, 587 | "requires": { 588 | "ansi-regex": "3.0.0" 589 | } 590 | } 591 | } 592 | }, 593 | "brace-expansion": { 594 | "version": "1.1.8", 595 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", 596 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", 597 | "dev": true, 598 | "requires": { 599 | "balanced-match": "1.0.0", 600 | "concat-map": "0.0.1" 601 | } 602 | }, 603 | "buffer": { 604 | "version": "4.9.1", 605 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", 606 | "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", 607 | "dev": true, 608 | "requires": { 609 | "base64-js": "1.2.1", 610 | "ieee754": "1.1.8", 611 | "isarray": "1.0.0" 612 | } 613 | }, 614 | "buffer-crc32": { 615 | "version": "0.2.13", 616 | "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", 617 | "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", 618 | "dev": true 619 | }, 620 | "buffer-equal-constant-time": { 621 | "version": "1.0.1", 622 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", 623 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=", 624 | "dev": true 625 | }, 626 | "call": { 627 | "version": "3.0.4", 628 | "resolved": "https://registry.npmjs.org/call/-/call-3.0.4.tgz", 629 | "integrity": "sha1-44Dy8qSRMwqnkIU1X4vggId9VZ4=", 630 | "dev": true, 631 | "requires": { 632 | "boom": "4.3.1", 633 | "hoek": "4.2.0" 634 | } 635 | }, 636 | "camelcase": { 637 | "version": "4.1.0", 638 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", 639 | "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", 640 | "dev": true 641 | }, 642 | "capture-stack-trace": { 643 | "version": "1.0.0", 644 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", 645 | "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", 646 | "dev": true 647 | }, 648 | "caseless": { 649 | "version": "0.12.0", 650 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", 651 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" 652 | }, 653 | "catbox": { 654 | "version": "7.1.5", 655 | "resolved": "https://registry.npmjs.org/catbox/-/catbox-7.1.5.tgz", 656 | "integrity": "sha512-4fui5lELzqZ+9cnaAP/BcqXTH6LvWLBRtFhJ0I4FfgfXiSaZcf6k9m9dqOyChiTxNYtvLk7ZMYSf7ahMq3bf5A==", 657 | "dev": true, 658 | "requires": { 659 | "boom": "5.2.0", 660 | "hoek": "4.2.0", 661 | "joi": "10.6.0" 662 | }, 663 | "dependencies": { 664 | "boom": { 665 | "version": "5.2.0", 666 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 667 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 668 | "dev": true, 669 | "requires": { 670 | "hoek": "4.2.0" 671 | } 672 | }, 673 | "joi": { 674 | "version": "10.6.0", 675 | "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", 676 | "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", 677 | "dev": true, 678 | "requires": { 679 | "hoek": "4.2.0", 680 | "isemail": "2.2.1", 681 | "items": "2.1.1", 682 | "topo": "2.0.2" 683 | } 684 | } 685 | } 686 | }, 687 | "catbox-memory": { 688 | "version": "2.0.4", 689 | "resolved": "https://registry.npmjs.org/catbox-memory/-/catbox-memory-2.0.4.tgz", 690 | "integrity": "sha1-Qz4lWQLK9UIz0ShkKcj03xToItU=", 691 | "dev": true, 692 | "requires": { 693 | "hoek": "4.2.0" 694 | } 695 | }, 696 | "caw": { 697 | "version": "2.0.1", 698 | "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz", 699 | "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==", 700 | "dev": true, 701 | "requires": { 702 | "get-proxy": "2.1.0", 703 | "isurl": "1.0.0", 704 | "tunnel-agent": "0.6.0", 705 | "url-to-options": "1.0.1" 706 | } 707 | }, 708 | "chalk": { 709 | "version": "2.3.0", 710 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", 711 | "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", 712 | "dev": true, 713 | "requires": { 714 | "ansi-styles": "3.2.0", 715 | "escape-string-regexp": "1.0.5", 716 | "supports-color": "4.5.0" 717 | } 718 | }, 719 | "ci-info": { 720 | "version": "1.1.2", 721 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.2.tgz", 722 | "integrity": "sha512-uTGIPNx/nSpBdsF6xnseRXLLtfr9VLqkz8ZqHXr3Y7b6SftyRxBGjwMtJj1OhNbmlc1wZzLNAlAcvyIiE8a6ZA==", 723 | "dev": true 724 | }, 725 | "cli-boxes": { 726 | "version": "1.0.0", 727 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz", 728 | "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=", 729 | "dev": true 730 | }, 731 | "cli-cursor": { 732 | "version": "1.0.2", 733 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", 734 | "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", 735 | "dev": true, 736 | "requires": { 737 | "restore-cursor": "1.0.1" 738 | } 739 | }, 740 | "cli-width": { 741 | "version": "2.2.0", 742 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", 743 | "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", 744 | "dev": true 745 | }, 746 | "co": { 747 | "version": "4.6.0", 748 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", 749 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" 750 | }, 751 | "code-point-at": { 752 | "version": "1.1.0", 753 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", 754 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", 755 | "dev": true 756 | }, 757 | "color-convert": { 758 | "version": "1.9.1", 759 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", 760 | "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", 761 | "dev": true, 762 | "requires": { 763 | "color-name": "1.1.3" 764 | } 765 | }, 766 | "color-name": { 767 | "version": "1.1.3", 768 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 769 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 770 | "dev": true 771 | }, 772 | "combined-stream": { 773 | "version": "1.0.5", 774 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", 775 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", 776 | "requires": { 777 | "delayed-stream": "1.0.0" 778 | } 779 | }, 780 | "commander": { 781 | "version": "2.8.1", 782 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", 783 | "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", 784 | "dev": true, 785 | "requires": { 786 | "graceful-readlink": "1.0.1" 787 | } 788 | }, 789 | "component-emitter": { 790 | "version": "1.2.1", 791 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", 792 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", 793 | "dev": true 794 | }, 795 | "compress-commons": { 796 | "version": "1.2.2", 797 | "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", 798 | "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", 799 | "dev": true, 800 | "requires": { 801 | "buffer-crc32": "0.2.13", 802 | "crc32-stream": "2.0.0", 803 | "normalize-path": "2.1.1", 804 | "readable-stream": "2.3.3" 805 | } 806 | }, 807 | "concat-map": { 808 | "version": "0.0.1", 809 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 810 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 811 | "dev": true 812 | }, 813 | "concat-stream": { 814 | "version": "1.6.0", 815 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", 816 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", 817 | "dev": true, 818 | "requires": { 819 | "inherits": "2.0.3", 820 | "readable-stream": "2.3.3", 821 | "typedarray": "0.0.6" 822 | } 823 | }, 824 | "config-chain": { 825 | "version": "1.1.11", 826 | "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", 827 | "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", 828 | "dev": true, 829 | "requires": { 830 | "ini": "1.3.5", 831 | "proto-list": "1.2.4" 832 | } 833 | }, 834 | "configstore": { 835 | "version": "3.1.1", 836 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz", 837 | "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==", 838 | "dev": true, 839 | "requires": { 840 | "dot-prop": "4.2.0", 841 | "graceful-fs": "4.1.11", 842 | "make-dir": "1.1.0", 843 | "unique-string": "1.0.0", 844 | "write-file-atomic": "2.3.0", 845 | "xdg-basedir": "3.0.0" 846 | } 847 | }, 848 | "content": { 849 | "version": "3.0.6", 850 | "resolved": "https://registry.npmjs.org/content/-/content-3.0.6.tgz", 851 | "integrity": "sha512-tyl3fRp8jOHsQR0X9vrIy0mKQccv0tA9/RlvLl514eA7vHOJr/TnmMTpgQjInwbeW9IOQVy0OECGAuQNUa0nnQ==", 852 | "dev": true, 853 | "requires": { 854 | "boom": "5.2.0" 855 | }, 856 | "dependencies": { 857 | "boom": { 858 | "version": "5.2.0", 859 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 860 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 861 | "dev": true, 862 | "requires": { 863 | "hoek": "4.2.0" 864 | } 865 | } 866 | } 867 | }, 868 | "convert-source-map": { 869 | "version": "1.5.1", 870 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", 871 | "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", 872 | "dev": true 873 | }, 874 | "cookie": { 875 | "version": "0.3.1", 876 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", 877 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", 878 | "dev": true 879 | }, 880 | "cookiejar": { 881 | "version": "2.1.1", 882 | "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.1.tgz", 883 | "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o=", 884 | "dev": true 885 | }, 886 | "core-js": { 887 | "version": "2.5.1", 888 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", 889 | "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", 890 | "dev": true 891 | }, 892 | "core-util-is": { 893 | "version": "1.0.2", 894 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", 895 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" 896 | }, 897 | "crc": { 898 | "version": "3.5.0", 899 | "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", 900 | "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=", 901 | "dev": true 902 | }, 903 | "crc32-stream": { 904 | "version": "2.0.0", 905 | "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", 906 | "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", 907 | "dev": true, 908 | "requires": { 909 | "crc": "3.5.0", 910 | "readable-stream": "2.3.3" 911 | } 912 | }, 913 | "create-error-class": { 914 | "version": "3.0.2", 915 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", 916 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", 917 | "dev": true, 918 | "requires": { 919 | "capture-stack-trace": "1.0.0" 920 | } 921 | }, 922 | "cross-spawn": { 923 | "version": "5.1.0", 924 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", 925 | "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", 926 | "dev": true, 927 | "requires": { 928 | "lru-cache": "4.1.1", 929 | "shebang-command": "1.2.0", 930 | "which": "1.3.0" 931 | } 932 | }, 933 | "cryptiles": { 934 | "version": "3.1.2", 935 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", 936 | "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", 937 | "requires": { 938 | "boom": "5.2.0" 939 | }, 940 | "dependencies": { 941 | "boom": { 942 | "version": "5.2.0", 943 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 944 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 945 | "requires": { 946 | "hoek": "4.2.0" 947 | } 948 | } 949 | } 950 | }, 951 | "crypto-browserify": { 952 | "version": "1.0.9", 953 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-1.0.9.tgz", 954 | "integrity": "sha1-zFRJaF37hesRyYKKzHy4erW7/MA=", 955 | "dev": true 956 | }, 957 | "crypto-random-string": { 958 | "version": "1.0.0", 959 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", 960 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", 961 | "dev": true 962 | }, 963 | "dashdash": { 964 | "version": "1.14.1", 965 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", 966 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", 967 | "requires": { 968 | "assert-plus": "1.0.0" 969 | } 970 | }, 971 | "debug": { 972 | "version": "2.6.9", 973 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 974 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 975 | "dev": true, 976 | "requires": { 977 | "ms": "2.0.0" 978 | } 979 | }, 980 | "decompress": { 981 | "version": "4.2.0", 982 | "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", 983 | "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", 984 | "dev": true, 985 | "requires": { 986 | "decompress-tar": "4.1.1", 987 | "decompress-tarbz2": "4.1.1", 988 | "decompress-targz": "4.1.1", 989 | "decompress-unzip": "4.0.1", 990 | "graceful-fs": "4.1.11", 991 | "make-dir": "1.1.0", 992 | "pify": "2.3.0", 993 | "strip-dirs": "2.1.0" 994 | } 995 | }, 996 | "decompress-tar": { 997 | "version": "4.1.1", 998 | "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", 999 | "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", 1000 | "dev": true, 1001 | "requires": { 1002 | "file-type": "5.2.0", 1003 | "is-stream": "1.1.0", 1004 | "tar-stream": "1.5.5" 1005 | } 1006 | }, 1007 | "decompress-tarbz2": { 1008 | "version": "4.1.1", 1009 | "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", 1010 | "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", 1011 | "dev": true, 1012 | "requires": { 1013 | "decompress-tar": "4.1.1", 1014 | "file-type": "6.2.0", 1015 | "is-stream": "1.1.0", 1016 | "seek-bzip": "1.0.5", 1017 | "unbzip2-stream": "1.2.5" 1018 | }, 1019 | "dependencies": { 1020 | "file-type": { 1021 | "version": "6.2.0", 1022 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", 1023 | "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", 1024 | "dev": true 1025 | } 1026 | } 1027 | }, 1028 | "decompress-targz": { 1029 | "version": "4.1.1", 1030 | "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", 1031 | "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", 1032 | "dev": true, 1033 | "requires": { 1034 | "decompress-tar": "4.1.1", 1035 | "file-type": "5.2.0", 1036 | "is-stream": "1.1.0" 1037 | } 1038 | }, 1039 | "decompress-unzip": { 1040 | "version": "4.0.1", 1041 | "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", 1042 | "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", 1043 | "dev": true, 1044 | "requires": { 1045 | "file-type": "3.9.0", 1046 | "get-stream": "2.3.1", 1047 | "pify": "2.3.0", 1048 | "yauzl": "2.9.1" 1049 | }, 1050 | "dependencies": { 1051 | "file-type": { 1052 | "version": "3.9.0", 1053 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", 1054 | "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", 1055 | "dev": true 1056 | }, 1057 | "get-stream": { 1058 | "version": "2.3.1", 1059 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", 1060 | "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", 1061 | "dev": true, 1062 | "requires": { 1063 | "object-assign": "4.1.1", 1064 | "pinkie-promise": "2.0.1" 1065 | } 1066 | } 1067 | } 1068 | }, 1069 | "deep-extend": { 1070 | "version": "0.4.2", 1071 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", 1072 | "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=", 1073 | "dev": true 1074 | }, 1075 | "delayed-stream": { 1076 | "version": "1.0.0", 1077 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1078 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" 1079 | }, 1080 | "delegates": { 1081 | "version": "1.0.0", 1082 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 1083 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", 1084 | "dev": true 1085 | }, 1086 | "detect-indent": { 1087 | "version": "4.0.0", 1088 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", 1089 | "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", 1090 | "dev": true, 1091 | "requires": { 1092 | "repeating": "2.0.1" 1093 | } 1094 | }, 1095 | "dot-prop": { 1096 | "version": "4.2.0", 1097 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", 1098 | "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", 1099 | "dev": true, 1100 | "requires": { 1101 | "is-obj": "1.0.1" 1102 | } 1103 | }, 1104 | "download": { 1105 | "version": "5.0.3", 1106 | "resolved": "https://registry.npmjs.org/download/-/download-5.0.3.tgz", 1107 | "integrity": "sha1-Y1N/l3+ZJmow64oqL70fILgAD3o=", 1108 | "dev": true, 1109 | "requires": { 1110 | "caw": "2.0.1", 1111 | "decompress": "4.2.0", 1112 | "filenamify": "2.0.0", 1113 | "get-stream": "3.0.0", 1114 | "got": "6.7.1", 1115 | "mkdirp": "0.5.1", 1116 | "pify": "2.3.0" 1117 | } 1118 | }, 1119 | "duplexer3": { 1120 | "version": "0.1.4", 1121 | "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", 1122 | "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", 1123 | "dev": true 1124 | }, 1125 | "ecc-jsbn": { 1126 | "version": "0.1.1", 1127 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", 1128 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", 1129 | "optional": true, 1130 | "requires": { 1131 | "jsbn": "0.1.1" 1132 | } 1133 | }, 1134 | "ecdsa-sig-formatter": { 1135 | "version": "1.0.9", 1136 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz", 1137 | "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=", 1138 | "dev": true, 1139 | "requires": { 1140 | "base64url": "2.0.0", 1141 | "safe-buffer": "5.1.1" 1142 | } 1143 | }, 1144 | "encoding": { 1145 | "version": "0.1.12", 1146 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", 1147 | "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", 1148 | "dev": true, 1149 | "requires": { 1150 | "iconv-lite": "0.4.19" 1151 | } 1152 | }, 1153 | "end-of-stream": { 1154 | "version": "1.4.0", 1155 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", 1156 | "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", 1157 | "dev": true, 1158 | "requires": { 1159 | "once": "1.4.0" 1160 | } 1161 | }, 1162 | "escape-string-regexp": { 1163 | "version": "1.0.5", 1164 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1165 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 1166 | "dev": true 1167 | }, 1168 | "esprima": { 1169 | "version": "4.0.0", 1170 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", 1171 | "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", 1172 | "dev": true 1173 | }, 1174 | "esutils": { 1175 | "version": "2.0.2", 1176 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", 1177 | "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", 1178 | "dev": true 1179 | }, 1180 | "events": { 1181 | "version": "1.1.1", 1182 | "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", 1183 | "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", 1184 | "dev": true 1185 | }, 1186 | "execa": { 1187 | "version": "0.7.0", 1188 | "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", 1189 | "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", 1190 | "dev": true, 1191 | "requires": { 1192 | "cross-spawn": "5.1.0", 1193 | "get-stream": "3.0.0", 1194 | "is-stream": "1.1.0", 1195 | "npm-run-path": "2.0.2", 1196 | "p-finally": "1.0.0", 1197 | "signal-exit": "3.0.2", 1198 | "strip-eof": "1.0.0" 1199 | } 1200 | }, 1201 | "exit-hook": { 1202 | "version": "1.1.1", 1203 | "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", 1204 | "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", 1205 | "dev": true 1206 | }, 1207 | "extend": { 1208 | "version": "3.0.1", 1209 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", 1210 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" 1211 | }, 1212 | "external-editor": { 1213 | "version": "1.1.1", 1214 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-1.1.1.tgz", 1215 | "integrity": "sha1-Etew24UPf/fnCBuvQAVwAGDEYAs=", 1216 | "dev": true, 1217 | "requires": { 1218 | "extend": "3.0.1", 1219 | "spawn-sync": "1.0.15", 1220 | "tmp": "0.0.29" 1221 | } 1222 | }, 1223 | "extsprintf": { 1224 | "version": "1.3.0", 1225 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", 1226 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" 1227 | }, 1228 | "fast-deep-equal": { 1229 | "version": "1.0.0", 1230 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", 1231 | "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" 1232 | }, 1233 | "fast-json-stable-stringify": { 1234 | "version": "2.0.0", 1235 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", 1236 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" 1237 | }, 1238 | "fd-slicer": { 1239 | "version": "1.0.1", 1240 | "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", 1241 | "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", 1242 | "dev": true, 1243 | "requires": { 1244 | "pend": "1.2.0" 1245 | } 1246 | }, 1247 | "figures": { 1248 | "version": "1.7.0", 1249 | "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", 1250 | "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", 1251 | "dev": true, 1252 | "requires": { 1253 | "escape-string-regexp": "1.0.5", 1254 | "object-assign": "4.1.1" 1255 | } 1256 | }, 1257 | "file-type": { 1258 | "version": "5.2.0", 1259 | "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", 1260 | "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", 1261 | "dev": true 1262 | }, 1263 | "filename-reserved-regex": { 1264 | "version": "2.0.0", 1265 | "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", 1266 | "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", 1267 | "dev": true 1268 | }, 1269 | "filenamify": { 1270 | "version": "2.0.0", 1271 | "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.0.0.tgz", 1272 | "integrity": "sha1-vRYiYsC26Uv7zc8Zo7uzdk94VpU=", 1273 | "dev": true, 1274 | "requires": { 1275 | "filename-reserved-regex": "2.0.0", 1276 | "strip-outer": "1.0.0", 1277 | "trim-repeated": "1.0.0" 1278 | } 1279 | }, 1280 | "filesize": { 1281 | "version": "3.5.11", 1282 | "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.11.tgz", 1283 | "integrity": "sha512-ZH7loueKBoDb7yG9esn1U+fgq7BzlzW6NRi5/rMdxIZ05dj7GFD/Xc5rq2CDt5Yq86CyfSYVyx4242QQNZbx1g==", 1284 | "dev": true 1285 | }, 1286 | "forever-agent": { 1287 | "version": "0.6.1", 1288 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", 1289 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" 1290 | }, 1291 | "form-data": { 1292 | "version": "2.3.1", 1293 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", 1294 | "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", 1295 | "requires": { 1296 | "asynckit": "0.4.0", 1297 | "combined-stream": "1.0.5", 1298 | "mime-types": "2.1.17" 1299 | } 1300 | }, 1301 | "formidable": { 1302 | "version": "1.1.1", 1303 | "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.1.1.tgz", 1304 | "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak=", 1305 | "dev": true 1306 | }, 1307 | "fs-extra": { 1308 | "version": "0.26.7", 1309 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", 1310 | "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", 1311 | "dev": true, 1312 | "requires": { 1313 | "graceful-fs": "4.1.11", 1314 | "jsonfile": "2.4.0", 1315 | "klaw": "1.3.1", 1316 | "path-is-absolute": "1.0.1", 1317 | "rimraf": "2.6.2" 1318 | } 1319 | }, 1320 | "fs.realpath": { 1321 | "version": "1.0.0", 1322 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1323 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", 1324 | "dev": true 1325 | }, 1326 | "gauge": { 1327 | "version": "1.2.7", 1328 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz", 1329 | "integrity": "sha1-6c7FSD09TuDvRLYKfZnkk14TbZM=", 1330 | "dev": true, 1331 | "requires": { 1332 | "ansi": "0.3.1", 1333 | "has-unicode": "2.0.1", 1334 | "lodash.pad": "4.5.1", 1335 | "lodash.padend": "4.6.1", 1336 | "lodash.padstart": "4.6.1" 1337 | } 1338 | }, 1339 | "get-proxy": { 1340 | "version": "2.1.0", 1341 | "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz", 1342 | "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==", 1343 | "dev": true, 1344 | "requires": { 1345 | "npm-conf": "1.1.3" 1346 | } 1347 | }, 1348 | "get-stdin": { 1349 | "version": "5.0.1", 1350 | "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", 1351 | "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", 1352 | "dev": true 1353 | }, 1354 | "get-stream": { 1355 | "version": "3.0.0", 1356 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", 1357 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", 1358 | "dev": true 1359 | }, 1360 | "getpass": { 1361 | "version": "0.1.7", 1362 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", 1363 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", 1364 | "requires": { 1365 | "assert-plus": "1.0.0" 1366 | } 1367 | }, 1368 | "glob": { 1369 | "version": "7.1.2", 1370 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", 1371 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", 1372 | "dev": true, 1373 | "requires": { 1374 | "fs.realpath": "1.0.0", 1375 | "inflight": "1.0.6", 1376 | "inherits": "2.0.3", 1377 | "minimatch": "3.0.4", 1378 | "once": "1.4.0", 1379 | "path-is-absolute": "1.0.1" 1380 | } 1381 | }, 1382 | "global-dirs": { 1383 | "version": "0.1.1", 1384 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", 1385 | "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", 1386 | "dev": true, 1387 | "requires": { 1388 | "ini": "1.3.5" 1389 | } 1390 | }, 1391 | "globals": { 1392 | "version": "9.18.0", 1393 | "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", 1394 | "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", 1395 | "dev": true 1396 | }, 1397 | "globby": { 1398 | "version": "6.1.0", 1399 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", 1400 | "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", 1401 | "dev": true, 1402 | "requires": { 1403 | "array-union": "1.0.2", 1404 | "glob": "7.1.2", 1405 | "object-assign": "4.1.1", 1406 | "pify": "2.3.0", 1407 | "pinkie-promise": "2.0.1" 1408 | } 1409 | }, 1410 | "got": { 1411 | "version": "6.7.1", 1412 | "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", 1413 | "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", 1414 | "dev": true, 1415 | "requires": { 1416 | "create-error-class": "3.0.2", 1417 | "duplexer3": "0.1.4", 1418 | "get-stream": "3.0.0", 1419 | "is-redirect": "1.0.0", 1420 | "is-retry-allowed": "1.1.0", 1421 | "is-stream": "1.1.0", 1422 | "lowercase-keys": "1.0.0", 1423 | "safe-buffer": "5.1.1", 1424 | "timed-out": "4.0.1", 1425 | "unzip-response": "2.0.1", 1426 | "url-parse-lax": "1.0.0" 1427 | } 1428 | }, 1429 | "graceful-fs": { 1430 | "version": "4.1.11", 1431 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", 1432 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", 1433 | "dev": true 1434 | }, 1435 | "graceful-readlink": { 1436 | "version": "1.0.1", 1437 | "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", 1438 | "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", 1439 | "dev": true 1440 | }, 1441 | "graphlib": { 1442 | "version": "2.1.1", 1443 | "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.1.tgz", 1444 | "integrity": "sha1-QjUsUrovTQNctWbrkfc5X3bryVE=", 1445 | "dev": true, 1446 | "requires": { 1447 | "lodash": "4.17.4" 1448 | } 1449 | }, 1450 | "graphql": { 1451 | "version": "0.10.5", 1452 | "resolved": "https://registry.npmjs.org/graphql/-/graphql-0.10.5.tgz", 1453 | "integrity": "sha512-Q7cx22DiLhwHsEfUnUip1Ww/Vfx7FS0w6+iHItNuN61+XpegHSa3k5U0+6M5BcpavQImBwFiy0z3uYwY7cXMLQ==", 1454 | "dev": true, 1455 | "requires": { 1456 | "iterall": "1.1.3" 1457 | } 1458 | }, 1459 | "graphql-anywhere": { 1460 | "version": "3.1.0", 1461 | "resolved": "https://registry.npmjs.org/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz", 1462 | "integrity": "sha1-PqDY6GRrXO5oA1AWqadVfBXCHpY=", 1463 | "dev": true 1464 | }, 1465 | "graphql-tag": { 1466 | "version": "2.5.0", 1467 | "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.5.0.tgz", 1468 | "integrity": "sha1-tDv9i1urzSwgWtaAwD6YsjiTTg8=", 1469 | "dev": true 1470 | }, 1471 | "h2o2": { 1472 | "version": "5.4.0", 1473 | "resolved": "https://registry.npmjs.org/h2o2/-/h2o2-5.4.0.tgz", 1474 | "integrity": "sha1-1oV8oFNVIAyJCzSmZgbKugIp7Vg=", 1475 | "dev": true, 1476 | "requires": { 1477 | "boom": "3.2.2", 1478 | "hoek": "4.2.0", 1479 | "joi": "9.2.0", 1480 | "wreck": "9.0.0" 1481 | }, 1482 | "dependencies": { 1483 | "boom": { 1484 | "version": "3.2.2", 1485 | "resolved": "https://registry.npmjs.org/boom/-/boom-3.2.2.tgz", 1486 | "integrity": "sha1-DwzF0ErcUAO4x9cfQsynJx/vDng=", 1487 | "dev": true, 1488 | "requires": { 1489 | "hoek": "4.2.0" 1490 | } 1491 | } 1492 | } 1493 | }, 1494 | "hapi": { 1495 | "version": "14.2.0", 1496 | "resolved": "https://registry.npmjs.org/hapi/-/hapi-14.2.0.tgz", 1497 | "integrity": "sha1-5P4vwYJZig+B6HtBtr4PvTHHVAk=", 1498 | "dev": true, 1499 | "requires": { 1500 | "accept": "2.1.4", 1501 | "ammo": "2.0.4", 1502 | "boom": "3.2.2", 1503 | "call": "3.0.4", 1504 | "catbox": "7.1.5", 1505 | "catbox-memory": "2.0.4", 1506 | "cryptiles": "3.1.2", 1507 | "heavy": "4.0.4", 1508 | "hoek": "4.2.0", 1509 | "iron": "4.0.5", 1510 | "items": "2.1.1", 1511 | "joi": "9.2.0", 1512 | "kilt": "2.0.2", 1513 | "mimos": "3.0.3", 1514 | "peekaboo": "2.0.2", 1515 | "shot": "3.4.2", 1516 | "statehood": "4.1.0", 1517 | "subtext": "4.4.1", 1518 | "topo": "2.0.2" 1519 | }, 1520 | "dependencies": { 1521 | "boom": { 1522 | "version": "3.2.2", 1523 | "resolved": "https://registry.npmjs.org/boom/-/boom-3.2.2.tgz", 1524 | "integrity": "sha1-DwzF0ErcUAO4x9cfQsynJx/vDng=", 1525 | "dev": true, 1526 | "requires": { 1527 | "hoek": "4.2.0" 1528 | } 1529 | } 1530 | } 1531 | }, 1532 | "hapi-cors-headers": { 1533 | "version": "1.0.3", 1534 | "resolved": "https://registry.npmjs.org/hapi-cors-headers/-/hapi-cors-headers-1.0.3.tgz", 1535 | "integrity": "sha512-U/y+kpVLUJ0y86fEk8yleou9C1T5wFopcWQjuxKdMXzCcymTjfSqGz59waqvngUs1SbeXav/y8Ga9C0G0L1MGg==", 1536 | "dev": true 1537 | }, 1538 | "har-schema": { 1539 | "version": "2.0.0", 1540 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", 1541 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" 1542 | }, 1543 | "har-validator": { 1544 | "version": "5.0.3", 1545 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", 1546 | "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", 1547 | "requires": { 1548 | "ajv": "5.5.0", 1549 | "har-schema": "2.0.0" 1550 | } 1551 | }, 1552 | "has-ansi": { 1553 | "version": "2.0.0", 1554 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", 1555 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", 1556 | "dev": true, 1557 | "requires": { 1558 | "ansi-regex": "2.1.1" 1559 | } 1560 | }, 1561 | "has-flag": { 1562 | "version": "2.0.0", 1563 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", 1564 | "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", 1565 | "dev": true 1566 | }, 1567 | "has-symbol-support-x": { 1568 | "version": "1.4.1", 1569 | "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.1.tgz", 1570 | "integrity": "sha512-JkaetveU7hFbqnAC1EV1sF4rlojU2D4Usc5CmS69l6NfmPDnpnFUegzFg33eDkkpNCxZ0mQp65HwUDrNFS/8MA==", 1571 | "dev": true 1572 | }, 1573 | "has-to-string-tag-x": { 1574 | "version": "1.4.1", 1575 | "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz", 1576 | "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==", 1577 | "dev": true, 1578 | "requires": { 1579 | "has-symbol-support-x": "1.4.1" 1580 | } 1581 | }, 1582 | "has-unicode": { 1583 | "version": "2.0.1", 1584 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1585 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", 1586 | "dev": true 1587 | }, 1588 | "hawk": { 1589 | "version": "6.0.2", 1590 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", 1591 | "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", 1592 | "requires": { 1593 | "boom": "4.3.1", 1594 | "cryptiles": "3.1.2", 1595 | "hoek": "4.2.0", 1596 | "sntp": "2.1.0" 1597 | } 1598 | }, 1599 | "heavy": { 1600 | "version": "4.0.4", 1601 | "resolved": "https://registry.npmjs.org/heavy/-/heavy-4.0.4.tgz", 1602 | "integrity": "sha1-NskTNsAMz+hSyqTRUwhjNc0vAOk=", 1603 | "dev": true, 1604 | "requires": { 1605 | "boom": "5.2.0", 1606 | "hoek": "4.2.0", 1607 | "joi": "10.6.0" 1608 | }, 1609 | "dependencies": { 1610 | "boom": { 1611 | "version": "5.2.0", 1612 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 1613 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 1614 | "dev": true, 1615 | "requires": { 1616 | "hoek": "4.2.0" 1617 | } 1618 | }, 1619 | "joi": { 1620 | "version": "10.6.0", 1621 | "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", 1622 | "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", 1623 | "dev": true, 1624 | "requires": { 1625 | "hoek": "4.2.0", 1626 | "isemail": "2.2.1", 1627 | "items": "2.1.1", 1628 | "topo": "2.0.2" 1629 | } 1630 | } 1631 | } 1632 | }, 1633 | "hoek": { 1634 | "version": "4.2.0", 1635 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", 1636 | "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==" 1637 | }, 1638 | "home-or-tmp": { 1639 | "version": "2.0.0", 1640 | "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", 1641 | "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", 1642 | "dev": true, 1643 | "requires": { 1644 | "os-homedir": "1.0.2", 1645 | "os-tmpdir": "1.0.2" 1646 | } 1647 | }, 1648 | "http-signature": { 1649 | "version": "1.2.0", 1650 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", 1651 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", 1652 | "requires": { 1653 | "assert-plus": "1.0.0", 1654 | "jsprim": "1.4.1", 1655 | "sshpk": "1.13.1" 1656 | } 1657 | }, 1658 | "https-proxy-agent": { 1659 | "version": "1.0.0", 1660 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz", 1661 | "integrity": "sha1-NffabEjOTdv6JkiRrFk+5f+GceY=", 1662 | "dev": true, 1663 | "requires": { 1664 | "agent-base": "2.1.1", 1665 | "debug": "2.6.9", 1666 | "extend": "3.0.1" 1667 | } 1668 | }, 1669 | "iconv-lite": { 1670 | "version": "0.4.19", 1671 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", 1672 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==", 1673 | "dev": true 1674 | }, 1675 | "ieee754": { 1676 | "version": "1.1.8", 1677 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", 1678 | "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", 1679 | "dev": true 1680 | }, 1681 | "import-lazy": { 1682 | "version": "2.1.0", 1683 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", 1684 | "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=", 1685 | "dev": true 1686 | }, 1687 | "imurmurhash": { 1688 | "version": "0.1.4", 1689 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1690 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", 1691 | "dev": true 1692 | }, 1693 | "inflight": { 1694 | "version": "1.0.6", 1695 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1696 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", 1697 | "dev": true, 1698 | "requires": { 1699 | "once": "1.4.0", 1700 | "wrappy": "1.0.2" 1701 | } 1702 | }, 1703 | "inherits": { 1704 | "version": "2.0.3", 1705 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 1706 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 1707 | "dev": true 1708 | }, 1709 | "ini": { 1710 | "version": "1.3.5", 1711 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", 1712 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", 1713 | "dev": true 1714 | }, 1715 | "inquirer": { 1716 | "version": "1.2.3", 1717 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz", 1718 | "integrity": "sha1-TexvMvN+97sLLtPx0aXD9UUHSRg=", 1719 | "dev": true, 1720 | "requires": { 1721 | "ansi-escapes": "1.4.0", 1722 | "chalk": "1.1.3", 1723 | "cli-cursor": "1.0.2", 1724 | "cli-width": "2.2.0", 1725 | "external-editor": "1.1.1", 1726 | "figures": "1.7.0", 1727 | "lodash": "4.17.4", 1728 | "mute-stream": "0.0.6", 1729 | "pinkie-promise": "2.0.1", 1730 | "run-async": "2.3.0", 1731 | "rx": "4.1.0", 1732 | "string-width": "1.0.2", 1733 | "strip-ansi": "3.0.1", 1734 | "through": "2.3.8" 1735 | }, 1736 | "dependencies": { 1737 | "ansi-styles": { 1738 | "version": "2.2.1", 1739 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", 1740 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", 1741 | "dev": true 1742 | }, 1743 | "chalk": { 1744 | "version": "1.1.3", 1745 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", 1746 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", 1747 | "dev": true, 1748 | "requires": { 1749 | "ansi-styles": "2.2.1", 1750 | "escape-string-regexp": "1.0.5", 1751 | "has-ansi": "2.0.0", 1752 | "strip-ansi": "3.0.1", 1753 | "supports-color": "2.0.0" 1754 | } 1755 | }, 1756 | "supports-color": { 1757 | "version": "2.0.0", 1758 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", 1759 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", 1760 | "dev": true 1761 | } 1762 | } 1763 | }, 1764 | "invariant": { 1765 | "version": "2.2.2", 1766 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", 1767 | "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", 1768 | "dev": true, 1769 | "requires": { 1770 | "loose-envify": "1.3.1" 1771 | } 1772 | }, 1773 | "iron": { 1774 | "version": "4.0.5", 1775 | "resolved": "https://registry.npmjs.org/iron/-/iron-4.0.5.tgz", 1776 | "integrity": "sha1-TwQszri5c480a1mqc0yDqJvDFCg=", 1777 | "dev": true, 1778 | "requires": { 1779 | "boom": "5.2.0", 1780 | "cryptiles": "3.1.2", 1781 | "hoek": "4.2.0" 1782 | }, 1783 | "dependencies": { 1784 | "boom": { 1785 | "version": "5.2.0", 1786 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 1787 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 1788 | "dev": true, 1789 | "requires": { 1790 | "hoek": "4.2.0" 1791 | } 1792 | } 1793 | } 1794 | }, 1795 | "is-docker": { 1796 | "version": "1.1.0", 1797 | "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-1.1.0.tgz", 1798 | "integrity": "sha1-8EN01O7lMQ6ajhE78UlUEeRhdqE=", 1799 | "dev": true 1800 | }, 1801 | "is-finite": { 1802 | "version": "1.0.2", 1803 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", 1804 | "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", 1805 | "dev": true, 1806 | "requires": { 1807 | "number-is-nan": "1.0.1" 1808 | } 1809 | }, 1810 | "is-fullwidth-code-point": { 1811 | "version": "1.0.0", 1812 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", 1813 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", 1814 | "dev": true, 1815 | "requires": { 1816 | "number-is-nan": "1.0.1" 1817 | } 1818 | }, 1819 | "is-installed-globally": { 1820 | "version": "0.1.0", 1821 | "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz", 1822 | "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", 1823 | "dev": true, 1824 | "requires": { 1825 | "global-dirs": "0.1.1", 1826 | "is-path-inside": "1.0.0" 1827 | } 1828 | }, 1829 | "is-natural-number": { 1830 | "version": "4.0.1", 1831 | "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", 1832 | "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", 1833 | "dev": true 1834 | }, 1835 | "is-npm": { 1836 | "version": "1.0.0", 1837 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", 1838 | "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=", 1839 | "dev": true 1840 | }, 1841 | "is-obj": { 1842 | "version": "1.0.1", 1843 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", 1844 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", 1845 | "dev": true 1846 | }, 1847 | "is-object": { 1848 | "version": "1.0.1", 1849 | "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", 1850 | "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", 1851 | "dev": true 1852 | }, 1853 | "is-path-inside": { 1854 | "version": "1.0.0", 1855 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", 1856 | "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", 1857 | "dev": true, 1858 | "requires": { 1859 | "path-is-inside": "1.0.2" 1860 | } 1861 | }, 1862 | "is-promise": { 1863 | "version": "2.1.0", 1864 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", 1865 | "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", 1866 | "dev": true 1867 | }, 1868 | "is-redirect": { 1869 | "version": "1.0.0", 1870 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", 1871 | "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", 1872 | "dev": true 1873 | }, 1874 | "is-retry-allowed": { 1875 | "version": "1.1.0", 1876 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", 1877 | "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", 1878 | "dev": true 1879 | }, 1880 | "is-stream": { 1881 | "version": "1.1.0", 1882 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", 1883 | "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", 1884 | "dev": true 1885 | }, 1886 | "is-typedarray": { 1887 | "version": "1.0.0", 1888 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", 1889 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" 1890 | }, 1891 | "is-wsl": { 1892 | "version": "1.1.0", 1893 | "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", 1894 | "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", 1895 | "dev": true 1896 | }, 1897 | "isarray": { 1898 | "version": "1.0.0", 1899 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", 1900 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", 1901 | "dev": true 1902 | }, 1903 | "isemail": { 1904 | "version": "2.2.1", 1905 | "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz", 1906 | "integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=", 1907 | "dev": true 1908 | }, 1909 | "isexe": { 1910 | "version": "2.0.0", 1911 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1912 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 1913 | "dev": true 1914 | }, 1915 | "isomorphic-fetch": { 1916 | "version": "2.2.1", 1917 | "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", 1918 | "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", 1919 | "dev": true, 1920 | "requires": { 1921 | "node-fetch": "1.7.3", 1922 | "whatwg-fetch": "2.0.3" 1923 | } 1924 | }, 1925 | "isstream": { 1926 | "version": "0.1.2", 1927 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 1928 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 1929 | }, 1930 | "isurl": { 1931 | "version": "1.0.0", 1932 | "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz", 1933 | "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==", 1934 | "dev": true, 1935 | "requires": { 1936 | "has-to-string-tag-x": "1.4.1", 1937 | "is-object": "1.0.1" 1938 | } 1939 | }, 1940 | "items": { 1941 | "version": "2.1.1", 1942 | "resolved": "https://registry.npmjs.org/items/-/items-2.1.1.tgz", 1943 | "integrity": "sha1-i9FtnIOxlSneWuoyGsqtp4NkoZg=", 1944 | "dev": true 1945 | }, 1946 | "iterall": { 1947 | "version": "1.1.3", 1948 | "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.1.3.tgz", 1949 | "integrity": "sha512-Cu/kb+4HiNSejAPhSaN1VukdNTTi/r4/e+yykqjlG/IW+1gZH5b4+Bq3whDX4tvbYugta3r8KTMUiqT3fIGxuQ==", 1950 | "dev": true 1951 | }, 1952 | "jmespath": { 1953 | "version": "0.15.0", 1954 | "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz", 1955 | "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=", 1956 | "dev": true 1957 | }, 1958 | "joi": { 1959 | "version": "9.2.0", 1960 | "resolved": "https://registry.npmjs.org/joi/-/joi-9.2.0.tgz", 1961 | "integrity": "sha1-M4WseQGSEwy+Iw6ALsAskhW7/to=", 1962 | "dev": true, 1963 | "requires": { 1964 | "hoek": "4.2.0", 1965 | "isemail": "2.2.1", 1966 | "items": "2.1.1", 1967 | "moment": "2.19.2", 1968 | "topo": "2.0.2" 1969 | } 1970 | }, 1971 | "js-string-escape": { 1972 | "version": "1.0.1", 1973 | "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", 1974 | "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", 1975 | "dev": true 1976 | }, 1977 | "js-tokens": { 1978 | "version": "3.0.2", 1979 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 1980 | "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", 1981 | "dev": true 1982 | }, 1983 | "js-yaml": { 1984 | "version": "3.10.0", 1985 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", 1986 | "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", 1987 | "dev": true, 1988 | "requires": { 1989 | "argparse": "1.0.9", 1990 | "esprima": "4.0.0" 1991 | } 1992 | }, 1993 | "jsbn": { 1994 | "version": "0.1.1", 1995 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", 1996 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", 1997 | "optional": true 1998 | }, 1999 | "jsesc": { 2000 | "version": "1.3.0", 2001 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", 2002 | "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", 2003 | "dev": true 2004 | }, 2005 | "json-refs": { 2006 | "version": "2.1.7", 2007 | "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-2.1.7.tgz", 2008 | "integrity": "sha1-uesB/in16j6Sh48VrqEK04taz4k=", 2009 | "dev": true, 2010 | "requires": { 2011 | "commander": "2.12.1", 2012 | "graphlib": "2.1.1", 2013 | "js-yaml": "3.10.0", 2014 | "native-promise-only": "0.8.1", 2015 | "path-loader": "1.0.4", 2016 | "slash": "1.0.0", 2017 | "uri-js": "3.0.2" 2018 | }, 2019 | "dependencies": { 2020 | "commander": { 2021 | "version": "2.12.1", 2022 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.1.tgz", 2023 | "integrity": "sha512-PCNLExLlI5HiPdaJs4pMXwOTHkSCpNQ1QJH9ykZLKtKEyKu3p9HgmH5l97vM8c0IUz6d54l+xEu2GG9yuYrFzA==", 2024 | "dev": true 2025 | } 2026 | } 2027 | }, 2028 | "json-schema": { 2029 | "version": "0.2.3", 2030 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", 2031 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" 2032 | }, 2033 | "json-schema-traverse": { 2034 | "version": "0.3.1", 2035 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", 2036 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" 2037 | }, 2038 | "json-stringify-safe": { 2039 | "version": "5.0.1", 2040 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", 2041 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" 2042 | }, 2043 | "json5": { 2044 | "version": "0.5.1", 2045 | "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", 2046 | "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", 2047 | "dev": true 2048 | }, 2049 | "jsonfile": { 2050 | "version": "2.4.0", 2051 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", 2052 | "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", 2053 | "dev": true, 2054 | "requires": { 2055 | "graceful-fs": "4.1.11" 2056 | } 2057 | }, 2058 | "jsonpath-plus": { 2059 | "version": "0.16.0", 2060 | "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-0.16.0.tgz", 2061 | "integrity": "sha1-/kQbI/A+xpeaVgNROYjNPtt9tdw=", 2062 | "dev": true 2063 | }, 2064 | "jsonwebtoken": { 2065 | "version": "7.4.3", 2066 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz", 2067 | "integrity": "sha1-d/UCHeBYtgWheD+hKD6ZgS5kVjg=", 2068 | "dev": true, 2069 | "requires": { 2070 | "joi": "6.10.1", 2071 | "jws": "3.1.4", 2072 | "lodash.once": "4.1.1", 2073 | "ms": "2.0.0", 2074 | "xtend": "4.0.1" 2075 | }, 2076 | "dependencies": { 2077 | "hoek": { 2078 | "version": "2.16.3", 2079 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", 2080 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", 2081 | "dev": true 2082 | }, 2083 | "isemail": { 2084 | "version": "1.2.0", 2085 | "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz", 2086 | "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo=", 2087 | "dev": true 2088 | }, 2089 | "joi": { 2090 | "version": "6.10.1", 2091 | "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz", 2092 | "integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=", 2093 | "dev": true, 2094 | "requires": { 2095 | "hoek": "2.16.3", 2096 | "isemail": "1.2.0", 2097 | "moment": "2.19.2", 2098 | "topo": "1.1.0" 2099 | } 2100 | }, 2101 | "topo": { 2102 | "version": "1.1.0", 2103 | "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz", 2104 | "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=", 2105 | "dev": true, 2106 | "requires": { 2107 | "hoek": "2.16.3" 2108 | } 2109 | } 2110 | } 2111 | }, 2112 | "jsprim": { 2113 | "version": "1.4.1", 2114 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", 2115 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", 2116 | "requires": { 2117 | "assert-plus": "1.0.0", 2118 | "extsprintf": "1.3.0", 2119 | "json-schema": "0.2.3", 2120 | "verror": "1.10.0" 2121 | } 2122 | }, 2123 | "jwa": { 2124 | "version": "1.1.5", 2125 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz", 2126 | "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=", 2127 | "dev": true, 2128 | "requires": { 2129 | "base64url": "2.0.0", 2130 | "buffer-equal-constant-time": "1.0.1", 2131 | "ecdsa-sig-formatter": "1.0.9", 2132 | "safe-buffer": "5.1.1" 2133 | } 2134 | }, 2135 | "jws": { 2136 | "version": "3.1.4", 2137 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz", 2138 | "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=", 2139 | "dev": true, 2140 | "requires": { 2141 | "base64url": "2.0.0", 2142 | "jwa": "1.1.5", 2143 | "safe-buffer": "5.1.1" 2144 | } 2145 | }, 2146 | "jwt-decode": { 2147 | "version": "2.2.0", 2148 | "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", 2149 | "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=", 2150 | "dev": true 2151 | }, 2152 | "kilt": { 2153 | "version": "2.0.2", 2154 | "resolved": "https://registry.npmjs.org/kilt/-/kilt-2.0.2.tgz", 2155 | "integrity": "sha1-BNcYPCmKEjLv3ffdyllZqPYwHiA=", 2156 | "dev": true, 2157 | "requires": { 2158 | "hoek": "4.2.0" 2159 | } 2160 | }, 2161 | "klaw": { 2162 | "version": "1.3.1", 2163 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", 2164 | "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", 2165 | "dev": true, 2166 | "requires": { 2167 | "graceful-fs": "4.1.11" 2168 | } 2169 | }, 2170 | "latest-version": { 2171 | "version": "3.1.0", 2172 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz", 2173 | "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", 2174 | "dev": true, 2175 | "requires": { 2176 | "package-json": "4.0.1" 2177 | } 2178 | }, 2179 | "lazystream": { 2180 | "version": "1.0.0", 2181 | "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", 2182 | "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", 2183 | "dev": true, 2184 | "requires": { 2185 | "readable-stream": "2.3.3" 2186 | } 2187 | }, 2188 | "lodash": { 2189 | "version": "4.17.4", 2190 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", 2191 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=", 2192 | "dev": true 2193 | }, 2194 | "lodash-es": { 2195 | "version": "4.17.4", 2196 | "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", 2197 | "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=", 2198 | "dev": true 2199 | }, 2200 | "lodash.difference": { 2201 | "version": "4.5.0", 2202 | "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", 2203 | "integrity": "sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw=", 2204 | "dev": true 2205 | }, 2206 | "lodash.once": { 2207 | "version": "4.1.1", 2208 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", 2209 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=", 2210 | "dev": true 2211 | }, 2212 | "lodash.pad": { 2213 | "version": "4.5.1", 2214 | "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz", 2215 | "integrity": "sha1-QzCUmoM6fI2iLMIPaibE1Z3runA=", 2216 | "dev": true 2217 | }, 2218 | "lodash.padend": { 2219 | "version": "4.6.1", 2220 | "resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz", 2221 | "integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=", 2222 | "dev": true 2223 | }, 2224 | "lodash.padstart": { 2225 | "version": "4.6.1", 2226 | "resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz", 2227 | "integrity": "sha1-0uPuv/DZ05rVD1y9G1KnvOa7YRs=", 2228 | "dev": true 2229 | }, 2230 | "lodash.uniq": { 2231 | "version": "4.5.0", 2232 | "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", 2233 | "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", 2234 | "dev": true 2235 | }, 2236 | "loose-envify": { 2237 | "version": "1.3.1", 2238 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", 2239 | "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", 2240 | "dev": true, 2241 | "requires": { 2242 | "js-tokens": "3.0.2" 2243 | } 2244 | }, 2245 | "lowercase-keys": { 2246 | "version": "1.0.0", 2247 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", 2248 | "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", 2249 | "dev": true 2250 | }, 2251 | "lru-cache": { 2252 | "version": "4.1.1", 2253 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", 2254 | "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", 2255 | "dev": true, 2256 | "requires": { 2257 | "pseudomap": "1.0.2", 2258 | "yallist": "2.1.2" 2259 | } 2260 | }, 2261 | "lsmod": { 2262 | "version": "1.0.0", 2263 | "resolved": "https://registry.npmjs.org/lsmod/-/lsmod-1.0.0.tgz", 2264 | "integrity": "sha1-mgD3bco26yP6BTUK/htYXUKZ5ks=", 2265 | "dev": true 2266 | }, 2267 | "make-dir": { 2268 | "version": "1.1.0", 2269 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", 2270 | "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", 2271 | "dev": true, 2272 | "requires": { 2273 | "pify": "3.0.0" 2274 | }, 2275 | "dependencies": { 2276 | "pify": { 2277 | "version": "3.0.0", 2278 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2279 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 2280 | "dev": true 2281 | } 2282 | } 2283 | }, 2284 | "methods": { 2285 | "version": "1.1.2", 2286 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", 2287 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", 2288 | "dev": true 2289 | }, 2290 | "mime": { 2291 | "version": "1.6.0", 2292 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", 2293 | "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" 2294 | }, 2295 | "mime-db": { 2296 | "version": "1.30.0", 2297 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", 2298 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" 2299 | }, 2300 | "mime-types": { 2301 | "version": "2.1.17", 2302 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", 2303 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", 2304 | "requires": { 2305 | "mime-db": "1.30.0" 2306 | } 2307 | }, 2308 | "mimos": { 2309 | "version": "3.0.3", 2310 | "resolved": "https://registry.npmjs.org/mimos/-/mimos-3.0.3.tgz", 2311 | "integrity": "sha1-uRCQcq03jCty9qAQHEPd+ys2ZB8=", 2312 | "dev": true, 2313 | "requires": { 2314 | "hoek": "4.2.0", 2315 | "mime-db": "1.30.0" 2316 | } 2317 | }, 2318 | "minimatch": { 2319 | "version": "3.0.4", 2320 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2321 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2322 | "dev": true, 2323 | "requires": { 2324 | "brace-expansion": "1.1.8" 2325 | } 2326 | }, 2327 | "minimist": { 2328 | "version": "1.2.0", 2329 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", 2330 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", 2331 | "dev": true 2332 | }, 2333 | "mkdirp": { 2334 | "version": "0.5.1", 2335 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", 2336 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", 2337 | "dev": true, 2338 | "requires": { 2339 | "minimist": "0.0.8" 2340 | }, 2341 | "dependencies": { 2342 | "minimist": { 2343 | "version": "0.0.8", 2344 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", 2345 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", 2346 | "dev": true 2347 | } 2348 | } 2349 | }, 2350 | "moment": { 2351 | "version": "2.19.2", 2352 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz", 2353 | "integrity": "sha512-Rf6jiHPEfxp9+dlzxPTmRHbvoFXsh2L/U8hOupUMpnuecHQmI6cF6lUbJl3QqKPko1u6ujO+FxtcajLVfLpAtA==", 2354 | "dev": true 2355 | }, 2356 | "ms": { 2357 | "version": "2.0.0", 2358 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 2359 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", 2360 | "dev": true 2361 | }, 2362 | "mute-stream": { 2363 | "version": "0.0.6", 2364 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz", 2365 | "integrity": "sha1-SJYrGeFp/R38JAs/HnMXYnu8R9s=", 2366 | "dev": true 2367 | }, 2368 | "native-promise-only": { 2369 | "version": "0.8.1", 2370 | "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", 2371 | "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", 2372 | "dev": true 2373 | }, 2374 | "nigel": { 2375 | "version": "2.0.2", 2376 | "resolved": "https://registry.npmjs.org/nigel/-/nigel-2.0.2.tgz", 2377 | "integrity": "sha1-k6GGb7DFLYc5CqdeKxYfS1x15bE=", 2378 | "dev": true, 2379 | "requires": { 2380 | "hoek": "4.2.0", 2381 | "vise": "2.0.2" 2382 | } 2383 | }, 2384 | "node-fetch": { 2385 | "version": "1.7.3", 2386 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", 2387 | "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", 2388 | "dev": true, 2389 | "requires": { 2390 | "encoding": "0.1.12", 2391 | "is-stream": "1.1.0" 2392 | } 2393 | }, 2394 | "node-forge": { 2395 | "version": "0.7.1", 2396 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz", 2397 | "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA=", 2398 | "dev": true 2399 | }, 2400 | "normalize-path": { 2401 | "version": "2.1.1", 2402 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", 2403 | "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", 2404 | "dev": true, 2405 | "requires": { 2406 | "remove-trailing-separator": "1.1.0" 2407 | } 2408 | }, 2409 | "npm-conf": { 2410 | "version": "1.1.3", 2411 | "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz", 2412 | "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==", 2413 | "dev": true, 2414 | "requires": { 2415 | "config-chain": "1.1.11", 2416 | "pify": "3.0.0" 2417 | }, 2418 | "dependencies": { 2419 | "pify": { 2420 | "version": "3.0.0", 2421 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2422 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 2423 | "dev": true 2424 | } 2425 | } 2426 | }, 2427 | "npm-run-path": { 2428 | "version": "2.0.2", 2429 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", 2430 | "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", 2431 | "dev": true, 2432 | "requires": { 2433 | "path-key": "2.0.1" 2434 | } 2435 | }, 2436 | "npmlog": { 2437 | "version": "2.0.4", 2438 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz", 2439 | "integrity": "sha1-mLUlMPJRTKkNCexbIsiEZyI3VpI=", 2440 | "dev": true, 2441 | "requires": { 2442 | "ansi": "0.3.1", 2443 | "are-we-there-yet": "1.1.4", 2444 | "gauge": "1.2.7" 2445 | } 2446 | }, 2447 | "number-is-nan": { 2448 | "version": "1.0.1", 2449 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", 2450 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", 2451 | "dev": true 2452 | }, 2453 | "oauth-sign": { 2454 | "version": "0.8.2", 2455 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", 2456 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" 2457 | }, 2458 | "object-assign": { 2459 | "version": "4.1.1", 2460 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2461 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", 2462 | "dev": true 2463 | }, 2464 | "once": { 2465 | "version": "1.4.0", 2466 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2467 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", 2468 | "dev": true, 2469 | "requires": { 2470 | "wrappy": "1.0.2" 2471 | } 2472 | }, 2473 | "onetime": { 2474 | "version": "1.1.0", 2475 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", 2476 | "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", 2477 | "dev": true 2478 | }, 2479 | "opn": { 2480 | "version": "5.1.0", 2481 | "resolved": "https://registry.npmjs.org/opn/-/opn-5.1.0.tgz", 2482 | "integrity": "sha512-iPNl7SyM8L30Rm1sjGdLLheyHVw5YXVfi3SKWJzBI7efxRwHojfRFjwE/OLM6qp9xJYMgab8WicTU1cPoY+Hpg==", 2483 | "dev": true, 2484 | "requires": { 2485 | "is-wsl": "1.1.0" 2486 | } 2487 | }, 2488 | "os-homedir": { 2489 | "version": "1.0.2", 2490 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", 2491 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", 2492 | "dev": true 2493 | }, 2494 | "os-shim": { 2495 | "version": "0.1.3", 2496 | "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", 2497 | "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=", 2498 | "dev": true 2499 | }, 2500 | "os-tmpdir": { 2501 | "version": "1.0.2", 2502 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", 2503 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", 2504 | "dev": true 2505 | }, 2506 | "p-finally": { 2507 | "version": "1.0.0", 2508 | "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", 2509 | "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", 2510 | "dev": true 2511 | }, 2512 | "package-json": { 2513 | "version": "4.0.1", 2514 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz", 2515 | "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", 2516 | "dev": true, 2517 | "requires": { 2518 | "got": "6.7.1", 2519 | "registry-auth-token": "3.3.1", 2520 | "registry-url": "3.1.0", 2521 | "semver": "5.4.1" 2522 | } 2523 | }, 2524 | "path-is-absolute": { 2525 | "version": "1.0.1", 2526 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2527 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", 2528 | "dev": true 2529 | }, 2530 | "path-is-inside": { 2531 | "version": "1.0.2", 2532 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", 2533 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", 2534 | "dev": true 2535 | }, 2536 | "path-key": { 2537 | "version": "2.0.1", 2538 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2539 | "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 2540 | "dev": true 2541 | }, 2542 | "path-loader": { 2543 | "version": "1.0.4", 2544 | "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.4.tgz", 2545 | "integrity": "sha512-k/IPo9OWyofATP5gwIehHHQoFShS37zsSIsejKe6fjI+tqK+FnRpiSg4ZfWUpxb0g2PfCreWPqBD4ayjqjqkdQ==", 2546 | "dev": true, 2547 | "requires": { 2548 | "native-promise-only": "0.8.1", 2549 | "superagent": "3.8.1" 2550 | } 2551 | }, 2552 | "peekaboo": { 2553 | "version": "2.0.2", 2554 | "resolved": "https://registry.npmjs.org/peekaboo/-/peekaboo-2.0.2.tgz", 2555 | "integrity": "sha1-/ELhOe/WmMb/KHCmsgwEfNmqKf8=", 2556 | "dev": true 2557 | }, 2558 | "pend": { 2559 | "version": "1.2.0", 2560 | "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", 2561 | "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", 2562 | "dev": true 2563 | }, 2564 | "performance-now": { 2565 | "version": "2.1.0", 2566 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", 2567 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" 2568 | }, 2569 | "pez": { 2570 | "version": "2.1.5", 2571 | "resolved": "https://registry.npmjs.org/pez/-/pez-2.1.5.tgz", 2572 | "integrity": "sha1-XsLMYlAMw+tCNtSkFM9aF7XrUAc=", 2573 | "dev": true, 2574 | "requires": { 2575 | "b64": "3.0.3", 2576 | "boom": "5.2.0", 2577 | "content": "3.0.6", 2578 | "hoek": "4.2.0", 2579 | "nigel": "2.0.2" 2580 | }, 2581 | "dependencies": { 2582 | "boom": { 2583 | "version": "5.2.0", 2584 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 2585 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 2586 | "dev": true, 2587 | "requires": { 2588 | "hoek": "4.2.0" 2589 | } 2590 | } 2591 | } 2592 | }, 2593 | "pify": { 2594 | "version": "2.3.0", 2595 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2596 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", 2597 | "dev": true 2598 | }, 2599 | "pinkie": { 2600 | "version": "2.0.4", 2601 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", 2602 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", 2603 | "dev": true 2604 | }, 2605 | "pinkie-promise": { 2606 | "version": "2.0.1", 2607 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", 2608 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", 2609 | "dev": true, 2610 | "requires": { 2611 | "pinkie": "2.0.4" 2612 | } 2613 | }, 2614 | "prepend-http": { 2615 | "version": "1.0.4", 2616 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", 2617 | "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", 2618 | "dev": true 2619 | }, 2620 | "private": { 2621 | "version": "0.1.8", 2622 | "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", 2623 | "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", 2624 | "dev": true 2625 | }, 2626 | "process-nextick-args": { 2627 | "version": "1.0.7", 2628 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", 2629 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", 2630 | "dev": true 2631 | }, 2632 | "proto-list": { 2633 | "version": "1.2.4", 2634 | "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", 2635 | "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", 2636 | "dev": true 2637 | }, 2638 | "pseudomap": { 2639 | "version": "1.0.2", 2640 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", 2641 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", 2642 | "dev": true 2643 | }, 2644 | "punycode": { 2645 | "version": "1.4.1", 2646 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", 2647 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" 2648 | }, 2649 | "qs": { 2650 | "version": "6.5.1", 2651 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", 2652 | "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" 2653 | }, 2654 | "querystring": { 2655 | "version": "0.2.0", 2656 | "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", 2657 | "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", 2658 | "dev": true 2659 | }, 2660 | "querystringify": { 2661 | "version": "1.0.0", 2662 | "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", 2663 | "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", 2664 | "dev": true 2665 | }, 2666 | "ramda": { 2667 | "version": "0.24.1", 2668 | "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz", 2669 | "integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc=", 2670 | "dev": true 2671 | }, 2672 | "raven": { 2673 | "version": "1.2.1", 2674 | "resolved": "https://registry.npmjs.org/raven/-/raven-1.2.1.tgz", 2675 | "integrity": "sha1-lJwTTbAooZC3u/j3kKrlQbfAIL0=", 2676 | "dev": true, 2677 | "requires": { 2678 | "cookie": "0.3.1", 2679 | "json-stringify-safe": "5.0.1", 2680 | "lsmod": "1.0.0", 2681 | "stack-trace": "0.0.9", 2682 | "uuid": "3.0.0" 2683 | }, 2684 | "dependencies": { 2685 | "uuid": { 2686 | "version": "3.0.0", 2687 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", 2688 | "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=", 2689 | "dev": true 2690 | } 2691 | } 2692 | }, 2693 | "rc": { 2694 | "version": "1.2.2", 2695 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.2.tgz", 2696 | "integrity": "sha1-2M6ctX6NZNnHut2YdsfDTL48cHc=", 2697 | "dev": true, 2698 | "requires": { 2699 | "deep-extend": "0.4.2", 2700 | "ini": "1.3.5", 2701 | "minimist": "1.2.0", 2702 | "strip-json-comments": "2.0.1" 2703 | } 2704 | }, 2705 | "readable-stream": { 2706 | "version": "2.3.3", 2707 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", 2708 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", 2709 | "dev": true, 2710 | "requires": { 2711 | "core-util-is": "1.0.2", 2712 | "inherits": "2.0.3", 2713 | "isarray": "1.0.0", 2714 | "process-nextick-args": "1.0.7", 2715 | "safe-buffer": "5.1.1", 2716 | "string_decoder": "1.0.3", 2717 | "util-deprecate": "1.0.2" 2718 | } 2719 | }, 2720 | "redux": { 2721 | "version": "3.7.2", 2722 | "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", 2723 | "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", 2724 | "dev": true, 2725 | "requires": { 2726 | "lodash": "4.17.4", 2727 | "lodash-es": "4.17.4", 2728 | "loose-envify": "1.3.1", 2729 | "symbol-observable": "1.0.4" 2730 | } 2731 | }, 2732 | "regenerator-runtime": { 2733 | "version": "0.11.0", 2734 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", 2735 | "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", 2736 | "dev": true 2737 | }, 2738 | "registry-auth-token": { 2739 | "version": "3.3.1", 2740 | "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.1.tgz", 2741 | "integrity": "sha1-+w0yie4Nmtosu1KvXf5mywcNMAY=", 2742 | "dev": true, 2743 | "requires": { 2744 | "rc": "1.2.2", 2745 | "safe-buffer": "5.1.1" 2746 | } 2747 | }, 2748 | "registry-url": { 2749 | "version": "3.1.0", 2750 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz", 2751 | "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", 2752 | "dev": true, 2753 | "requires": { 2754 | "rc": "1.2.2" 2755 | } 2756 | }, 2757 | "remove-trailing-separator": { 2758 | "version": "1.1.0", 2759 | "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", 2760 | "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", 2761 | "dev": true 2762 | }, 2763 | "repeating": { 2764 | "version": "2.0.1", 2765 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", 2766 | "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", 2767 | "dev": true, 2768 | "requires": { 2769 | "is-finite": "1.0.2" 2770 | } 2771 | }, 2772 | "replaceall": { 2773 | "version": "0.1.6", 2774 | "resolved": "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz", 2775 | "integrity": "sha1-gdgax663LX9cSUKt8ml6MiBojY4=", 2776 | "dev": true 2777 | }, 2778 | "request": { 2779 | "version": "2.83.0", 2780 | "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", 2781 | "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", 2782 | "requires": { 2783 | "aws-sign2": "0.7.0", 2784 | "aws4": "1.6.0", 2785 | "caseless": "0.12.0", 2786 | "combined-stream": "1.0.5", 2787 | "extend": "3.0.1", 2788 | "forever-agent": "0.6.1", 2789 | "form-data": "2.3.1", 2790 | "har-validator": "5.0.3", 2791 | "hawk": "6.0.2", 2792 | "http-signature": "1.2.0", 2793 | "is-typedarray": "1.0.0", 2794 | "isstream": "0.1.2", 2795 | "json-stringify-safe": "5.0.1", 2796 | "mime-types": "2.1.17", 2797 | "oauth-sign": "0.8.2", 2798 | "performance-now": "2.1.0", 2799 | "qs": "6.5.1", 2800 | "safe-buffer": "5.1.1", 2801 | "stringstream": "0.0.5", 2802 | "tough-cookie": "2.3.3", 2803 | "tunnel-agent": "0.6.0", 2804 | "uuid": "3.1.0" 2805 | } 2806 | }, 2807 | "requires-port": { 2808 | "version": "1.0.0", 2809 | "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", 2810 | "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", 2811 | "dev": true 2812 | }, 2813 | "restore-cursor": { 2814 | "version": "1.0.1", 2815 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", 2816 | "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", 2817 | "dev": true, 2818 | "requires": { 2819 | "exit-hook": "1.1.1", 2820 | "onetime": "1.1.0" 2821 | } 2822 | }, 2823 | "rimraf": { 2824 | "version": "2.6.2", 2825 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", 2826 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", 2827 | "dev": true, 2828 | "requires": { 2829 | "glob": "7.1.2" 2830 | } 2831 | }, 2832 | "run-async": { 2833 | "version": "2.3.0", 2834 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", 2835 | "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", 2836 | "dev": true, 2837 | "requires": { 2838 | "is-promise": "2.1.0" 2839 | } 2840 | }, 2841 | "rx": { 2842 | "version": "4.1.0", 2843 | "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", 2844 | "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=", 2845 | "dev": true 2846 | }, 2847 | "safe-buffer": { 2848 | "version": "5.1.1", 2849 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", 2850 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" 2851 | }, 2852 | "sax": { 2853 | "version": "1.2.1", 2854 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", 2855 | "integrity": "sha1-e45lYZCyKOgaZq6nSEgNgozS03o=", 2856 | "dev": true 2857 | }, 2858 | "seek-bzip": { 2859 | "version": "1.0.5", 2860 | "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", 2861 | "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", 2862 | "dev": true, 2863 | "requires": { 2864 | "commander": "2.8.1" 2865 | } 2866 | }, 2867 | "semver": { 2868 | "version": "5.4.1", 2869 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", 2870 | "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", 2871 | "dev": true 2872 | }, 2873 | "semver-diff": { 2874 | "version": "2.1.0", 2875 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz", 2876 | "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", 2877 | "dev": true, 2878 | "requires": { 2879 | "semver": "5.4.1" 2880 | } 2881 | }, 2882 | "semver-regex": { 2883 | "version": "1.0.0", 2884 | "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", 2885 | "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", 2886 | "dev": true 2887 | }, 2888 | "serverless": { 2889 | "version": "1.24.1", 2890 | "resolved": "https://registry.npmjs.org/serverless/-/serverless-1.24.1.tgz", 2891 | "integrity": "sha1-3QkqGG1ATcnkgVHR98wt99JwNVo=", 2892 | "dev": true, 2893 | "requires": { 2894 | "@serverless/fdk": "0.5.1", 2895 | "apollo-client": "1.9.3", 2896 | "archiver": "1.3.0", 2897 | "async": "1.5.2", 2898 | "aws-sdk": "2.156.0", 2899 | "bluebird": "3.5.1", 2900 | "chalk": "2.3.0", 2901 | "ci-info": "1.1.2", 2902 | "download": "5.0.3", 2903 | "filesize": "3.5.11", 2904 | "fs-extra": "0.26.7", 2905 | "get-stdin": "5.0.1", 2906 | "globby": "6.1.0", 2907 | "graceful-fs": "4.1.11", 2908 | "graphql": "0.10.5", 2909 | "graphql-tag": "2.5.0", 2910 | "https-proxy-agent": "1.0.0", 2911 | "is-docker": "1.1.0", 2912 | "js-yaml": "3.10.0", 2913 | "json-refs": "2.1.7", 2914 | "jwt-decode": "2.2.0", 2915 | "lodash": "4.17.4", 2916 | "minimist": "1.2.0", 2917 | "moment": "2.19.2", 2918 | "node-fetch": "1.7.3", 2919 | "node-forge": "0.7.1", 2920 | "opn": "5.1.0", 2921 | "raven": "1.2.1", 2922 | "rc": "1.2.2", 2923 | "replaceall": "0.1.6", 2924 | "semver": "5.4.1", 2925 | "semver-regex": "1.0.0", 2926 | "shelljs": "0.6.1", 2927 | "tabtab": "2.2.2", 2928 | "update-notifier": "2.3.0", 2929 | "uuid": "2.0.3", 2930 | "write-file-atomic": "2.3.0", 2931 | "yaml-ast-parser": "0.0.34" 2932 | }, 2933 | "dependencies": { 2934 | "uuid": { 2935 | "version": "2.0.3", 2936 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", 2937 | "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", 2938 | "dev": true 2939 | } 2940 | } 2941 | }, 2942 | "serverless-offline": { 2943 | "version": "3.16.0", 2944 | "resolved": "https://registry.npmjs.org/serverless-offline/-/serverless-offline-3.16.0.tgz", 2945 | "integrity": "sha512-lgew1Hyh9FW5uvQFO00375hBX2bNkb9VmP8LecrxMXtmbonO6vQuyKdzGFjFofuRGTS32r8FZ3HXUVOI8brhVw==", 2946 | "dev": true, 2947 | "requires": { 2948 | "babel-register": "6.26.0", 2949 | "boom": "4.3.1", 2950 | "h2o2": "5.4.0", 2951 | "hapi": "14.2.0", 2952 | "hapi-cors-headers": "1.0.3", 2953 | "js-string-escape": "1.0.1", 2954 | "jsonpath-plus": "0.16.0", 2955 | "jsonwebtoken": "7.4.3", 2956 | "lodash": "4.17.4", 2957 | "velocityjs": "0.9.6" 2958 | } 2959 | }, 2960 | "shebang-command": { 2961 | "version": "1.2.0", 2962 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 2963 | "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 2964 | "dev": true, 2965 | "requires": { 2966 | "shebang-regex": "1.0.0" 2967 | } 2968 | }, 2969 | "shebang-regex": { 2970 | "version": "1.0.0", 2971 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 2972 | "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 2973 | "dev": true 2974 | }, 2975 | "shelljs": { 2976 | "version": "0.6.1", 2977 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", 2978 | "integrity": "sha1-7GIRvtGSBEIIj+D3Cyg3Iy7SyKg=", 2979 | "dev": true 2980 | }, 2981 | "shot": { 2982 | "version": "3.4.2", 2983 | "resolved": "https://registry.npmjs.org/shot/-/shot-3.4.2.tgz", 2984 | "integrity": "sha1-Hlw/bysmZJrcQvfrNQIUpaApHWc=", 2985 | "dev": true, 2986 | "requires": { 2987 | "hoek": "4.2.0", 2988 | "joi": "10.6.0" 2989 | }, 2990 | "dependencies": { 2991 | "joi": { 2992 | "version": "10.6.0", 2993 | "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", 2994 | "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", 2995 | "dev": true, 2996 | "requires": { 2997 | "hoek": "4.2.0", 2998 | "isemail": "2.2.1", 2999 | "items": "2.1.1", 3000 | "topo": "2.0.2" 3001 | } 3002 | } 3003 | } 3004 | }, 3005 | "signal-exit": { 3006 | "version": "3.0.2", 3007 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", 3008 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", 3009 | "dev": true 3010 | }, 3011 | "slash": { 3012 | "version": "1.0.0", 3013 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", 3014 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", 3015 | "dev": true 3016 | }, 3017 | "sntp": { 3018 | "version": "2.1.0", 3019 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", 3020 | "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", 3021 | "requires": { 3022 | "hoek": "4.2.0" 3023 | } 3024 | }, 3025 | "source-map": { 3026 | "version": "0.5.7", 3027 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 3028 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", 3029 | "dev": true 3030 | }, 3031 | "source-map-support": { 3032 | "version": "0.4.18", 3033 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", 3034 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", 3035 | "dev": true, 3036 | "requires": { 3037 | "source-map": "0.5.7" 3038 | } 3039 | }, 3040 | "spawn-sync": { 3041 | "version": "1.0.15", 3042 | "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", 3043 | "integrity": "sha1-sAeZVX63+wyDdsKdROih6mfldHY=", 3044 | "dev": true, 3045 | "requires": { 3046 | "concat-stream": "1.6.0", 3047 | "os-shim": "0.1.3" 3048 | } 3049 | }, 3050 | "sprintf-js": { 3051 | "version": "1.0.3", 3052 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 3053 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", 3054 | "dev": true 3055 | }, 3056 | "sshpk": { 3057 | "version": "1.13.1", 3058 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", 3059 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", 3060 | "requires": { 3061 | "asn1": "0.2.3", 3062 | "assert-plus": "1.0.0", 3063 | "bcrypt-pbkdf": "1.0.1", 3064 | "dashdash": "1.14.1", 3065 | "ecc-jsbn": "0.1.1", 3066 | "getpass": "0.1.7", 3067 | "jsbn": "0.1.1", 3068 | "tweetnacl": "0.14.5" 3069 | } 3070 | }, 3071 | "stack-trace": { 3072 | "version": "0.0.9", 3073 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", 3074 | "integrity": "sha1-qPbq7KkGdMMz58Q5U/J1tFFRBpU=", 3075 | "dev": true 3076 | }, 3077 | "statehood": { 3078 | "version": "4.1.0", 3079 | "resolved": "https://registry.npmjs.org/statehood/-/statehood-4.1.0.tgz", 3080 | "integrity": "sha1-iih30T2YUKq2zod6VLd43w9DrNs=", 3081 | "dev": true, 3082 | "requires": { 3083 | "boom": "3.2.2", 3084 | "cryptiles": "3.1.2", 3085 | "hoek": "4.2.0", 3086 | "iron": "4.0.5", 3087 | "items": "2.1.1", 3088 | "joi": "9.2.0" 3089 | }, 3090 | "dependencies": { 3091 | "boom": { 3092 | "version": "3.2.2", 3093 | "resolved": "https://registry.npmjs.org/boom/-/boom-3.2.2.tgz", 3094 | "integrity": "sha1-DwzF0ErcUAO4x9cfQsynJx/vDng=", 3095 | "dev": true, 3096 | "requires": { 3097 | "hoek": "4.2.0" 3098 | } 3099 | } 3100 | } 3101 | }, 3102 | "string-width": { 3103 | "version": "1.0.2", 3104 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", 3105 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", 3106 | "dev": true, 3107 | "requires": { 3108 | "code-point-at": "1.1.0", 3109 | "is-fullwidth-code-point": "1.0.0", 3110 | "strip-ansi": "3.0.1" 3111 | } 3112 | }, 3113 | "string_decoder": { 3114 | "version": "1.0.3", 3115 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", 3116 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", 3117 | "dev": true, 3118 | "requires": { 3119 | "safe-buffer": "5.1.1" 3120 | } 3121 | }, 3122 | "stringstream": { 3123 | "version": "0.0.5", 3124 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", 3125 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" 3126 | }, 3127 | "strip-ansi": { 3128 | "version": "3.0.1", 3129 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", 3130 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", 3131 | "dev": true, 3132 | "requires": { 3133 | "ansi-regex": "2.1.1" 3134 | } 3135 | }, 3136 | "strip-dirs": { 3137 | "version": "2.1.0", 3138 | "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", 3139 | "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", 3140 | "dev": true, 3141 | "requires": { 3142 | "is-natural-number": "4.0.1" 3143 | } 3144 | }, 3145 | "strip-eof": { 3146 | "version": "1.0.0", 3147 | "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", 3148 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", 3149 | "dev": true 3150 | }, 3151 | "strip-json-comments": { 3152 | "version": "2.0.1", 3153 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 3154 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", 3155 | "dev": true 3156 | }, 3157 | "strip-outer": { 3158 | "version": "1.0.0", 3159 | "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", 3160 | "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", 3161 | "dev": true, 3162 | "requires": { 3163 | "escape-string-regexp": "1.0.5" 3164 | } 3165 | }, 3166 | "subtext": { 3167 | "version": "4.4.1", 3168 | "resolved": "https://registry.npmjs.org/subtext/-/subtext-4.4.1.tgz", 3169 | "integrity": "sha1-L87JRd5CkoPD0YsVH/D6HxuHrsk=", 3170 | "dev": true, 3171 | "requires": { 3172 | "boom": "5.2.0", 3173 | "content": "3.0.6", 3174 | "hoek": "4.2.0", 3175 | "pez": "2.1.5", 3176 | "wreck": "12.5.1" 3177 | }, 3178 | "dependencies": { 3179 | "boom": { 3180 | "version": "5.2.0", 3181 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", 3182 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", 3183 | "dev": true, 3184 | "requires": { 3185 | "hoek": "4.2.0" 3186 | } 3187 | }, 3188 | "wreck": { 3189 | "version": "12.5.1", 3190 | "resolved": "https://registry.npmjs.org/wreck/-/wreck-12.5.1.tgz", 3191 | "integrity": "sha512-l5DUGrc+yDyIflpty1x9XuMj1ehVjC/dTbF3/BasOO77xk0EdEa4M/DuOY8W88MQDAD0fEDqyjc8bkIMHd2E9A==", 3192 | "dev": true, 3193 | "requires": { 3194 | "boom": "5.2.0", 3195 | "hoek": "4.2.0" 3196 | } 3197 | } 3198 | } 3199 | }, 3200 | "superagent": { 3201 | "version": "3.8.1", 3202 | "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.1.tgz", 3203 | "integrity": "sha512-VMBFLYgFuRdfeNQSMLbxGSLfmXL/xc+OO+BZp41Za/NRDBet/BNbkRJrYzCUu0u4GU0i/ml2dtT8b9qgkw9z6Q==", 3204 | "dev": true, 3205 | "requires": { 3206 | "component-emitter": "1.2.1", 3207 | "cookiejar": "2.1.1", 3208 | "debug": "3.1.0", 3209 | "extend": "3.0.1", 3210 | "form-data": "2.3.1", 3211 | "formidable": "1.1.1", 3212 | "methods": "1.1.2", 3213 | "mime": "1.6.0", 3214 | "qs": "6.5.1", 3215 | "readable-stream": "2.3.3" 3216 | }, 3217 | "dependencies": { 3218 | "debug": { 3219 | "version": "3.1.0", 3220 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", 3221 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", 3222 | "dev": true, 3223 | "requires": { 3224 | "ms": "2.0.0" 3225 | } 3226 | } 3227 | } 3228 | }, 3229 | "supports-color": { 3230 | "version": "4.5.0", 3231 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", 3232 | "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", 3233 | "dev": true, 3234 | "requires": { 3235 | "has-flag": "2.0.0" 3236 | } 3237 | }, 3238 | "symbol-observable": { 3239 | "version": "1.0.4", 3240 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", 3241 | "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=", 3242 | "dev": true 3243 | }, 3244 | "tabtab": { 3245 | "version": "2.2.2", 3246 | "resolved": "https://registry.npmjs.org/tabtab/-/tabtab-2.2.2.tgz", 3247 | "integrity": "sha1-egR/FDsBC0y9MfhX6ClhUSy/ThQ=", 3248 | "dev": true, 3249 | "requires": { 3250 | "debug": "2.6.9", 3251 | "inquirer": "1.2.3", 3252 | "lodash.difference": "4.5.0", 3253 | "lodash.uniq": "4.5.0", 3254 | "minimist": "1.2.0", 3255 | "mkdirp": "0.5.1", 3256 | "npmlog": "2.0.4", 3257 | "object-assign": "4.1.1" 3258 | } 3259 | }, 3260 | "tar-stream": { 3261 | "version": "1.5.5", 3262 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", 3263 | "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", 3264 | "dev": true, 3265 | "requires": { 3266 | "bl": "1.2.1", 3267 | "end-of-stream": "1.4.0", 3268 | "readable-stream": "2.3.3", 3269 | "xtend": "4.0.1" 3270 | } 3271 | }, 3272 | "term-size": { 3273 | "version": "1.2.0", 3274 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", 3275 | "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", 3276 | "dev": true, 3277 | "requires": { 3278 | "execa": "0.7.0" 3279 | } 3280 | }, 3281 | "through": { 3282 | "version": "2.3.8", 3283 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", 3284 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", 3285 | "dev": true 3286 | }, 3287 | "timed-out": { 3288 | "version": "4.0.1", 3289 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", 3290 | "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", 3291 | "dev": true 3292 | }, 3293 | "tmp": { 3294 | "version": "0.0.29", 3295 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz", 3296 | "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=", 3297 | "dev": true, 3298 | "requires": { 3299 | "os-tmpdir": "1.0.2" 3300 | } 3301 | }, 3302 | "to-fast-properties": { 3303 | "version": "1.0.3", 3304 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", 3305 | "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", 3306 | "dev": true 3307 | }, 3308 | "topo": { 3309 | "version": "2.0.2", 3310 | "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz", 3311 | "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=", 3312 | "dev": true, 3313 | "requires": { 3314 | "hoek": "4.2.0" 3315 | } 3316 | }, 3317 | "tough-cookie": { 3318 | "version": "2.3.3", 3319 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", 3320 | "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", 3321 | "requires": { 3322 | "punycode": "1.4.1" 3323 | } 3324 | }, 3325 | "trim-repeated": { 3326 | "version": "1.0.0", 3327 | "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", 3328 | "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", 3329 | "dev": true, 3330 | "requires": { 3331 | "escape-string-regexp": "1.0.5" 3332 | } 3333 | }, 3334 | "trim-right": { 3335 | "version": "1.0.1", 3336 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 3337 | "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", 3338 | "dev": true 3339 | }, 3340 | "tunnel-agent": { 3341 | "version": "0.6.0", 3342 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 3343 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", 3344 | "requires": { 3345 | "safe-buffer": "5.1.1" 3346 | } 3347 | }, 3348 | "tweetnacl": { 3349 | "version": "0.14.5", 3350 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", 3351 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", 3352 | "optional": true 3353 | }, 3354 | "twit": { 3355 | "version": "2.2.9", 3356 | "resolved": "https://registry.npmjs.org/twit/-/twit-2.2.9.tgz", 3357 | "integrity": "sha1-ZxBXT4FkHaoDeWobS457eNPXVnY=", 3358 | "requires": { 3359 | "bluebird": "3.5.1", 3360 | "mime": "1.6.0", 3361 | "request": "2.83.0" 3362 | } 3363 | }, 3364 | "typedarray": { 3365 | "version": "0.0.6", 3366 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", 3367 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", 3368 | "dev": true 3369 | }, 3370 | "unbzip2-stream": { 3371 | "version": "1.2.5", 3372 | "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", 3373 | "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", 3374 | "dev": true, 3375 | "requires": { 3376 | "buffer": "3.6.0", 3377 | "through": "2.3.8" 3378 | }, 3379 | "dependencies": { 3380 | "base64-js": { 3381 | "version": "0.0.8", 3382 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", 3383 | "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", 3384 | "dev": true 3385 | }, 3386 | "buffer": { 3387 | "version": "3.6.0", 3388 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", 3389 | "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", 3390 | "dev": true, 3391 | "requires": { 3392 | "base64-js": "0.0.8", 3393 | "ieee754": "1.1.8", 3394 | "isarray": "1.0.0" 3395 | } 3396 | } 3397 | } 3398 | }, 3399 | "unique-string": { 3400 | "version": "1.0.0", 3401 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", 3402 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", 3403 | "dev": true, 3404 | "requires": { 3405 | "crypto-random-string": "1.0.0" 3406 | } 3407 | }, 3408 | "unzip-response": { 3409 | "version": "2.0.1", 3410 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz", 3411 | "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=", 3412 | "dev": true 3413 | }, 3414 | "update-notifier": { 3415 | "version": "2.3.0", 3416 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", 3417 | "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", 3418 | "dev": true, 3419 | "requires": { 3420 | "boxen": "1.2.2", 3421 | "chalk": "2.3.0", 3422 | "configstore": "3.1.1", 3423 | "import-lazy": "2.1.0", 3424 | "is-installed-globally": "0.1.0", 3425 | "is-npm": "1.0.0", 3426 | "latest-version": "3.1.0", 3427 | "semver-diff": "2.1.0", 3428 | "xdg-basedir": "3.0.0" 3429 | } 3430 | }, 3431 | "uri-js": { 3432 | "version": "3.0.2", 3433 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-3.0.2.tgz", 3434 | "integrity": "sha1-+QuFhQf4HepNz7s8TD2/orVX+qo=", 3435 | "dev": true, 3436 | "requires": { 3437 | "punycode": "2.1.0" 3438 | }, 3439 | "dependencies": { 3440 | "punycode": { 3441 | "version": "2.1.0", 3442 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", 3443 | "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0=", 3444 | "dev": true 3445 | } 3446 | } 3447 | }, 3448 | "url": { 3449 | "version": "0.10.3", 3450 | "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", 3451 | "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", 3452 | "dev": true, 3453 | "requires": { 3454 | "punycode": "1.3.2", 3455 | "querystring": "0.2.0" 3456 | }, 3457 | "dependencies": { 3458 | "punycode": { 3459 | "version": "1.3.2", 3460 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", 3461 | "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", 3462 | "dev": true 3463 | } 3464 | } 3465 | }, 3466 | "url-parse": { 3467 | "version": "1.2.0", 3468 | "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.2.0.tgz", 3469 | "integrity": "sha512-DT1XbYAfmQP65M/mE6OALxmXzZ/z1+e5zk2TcSKe/KiYbNGZxgtttzC0mR/sjopbpOXcbniq7eIKmocJnUWlEw==", 3470 | "dev": true, 3471 | "requires": { 3472 | "querystringify": "1.0.0", 3473 | "requires-port": "1.0.0" 3474 | } 3475 | }, 3476 | "url-parse-lax": { 3477 | "version": "1.0.0", 3478 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", 3479 | "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", 3480 | "dev": true, 3481 | "requires": { 3482 | "prepend-http": "1.0.4" 3483 | } 3484 | }, 3485 | "url-to-options": { 3486 | "version": "1.0.1", 3487 | "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", 3488 | "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=", 3489 | "dev": true 3490 | }, 3491 | "util-deprecate": { 3492 | "version": "1.0.2", 3493 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3494 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", 3495 | "dev": true 3496 | }, 3497 | "uuid": { 3498 | "version": "3.1.0", 3499 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", 3500 | "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" 3501 | }, 3502 | "velocityjs": { 3503 | "version": "0.9.6", 3504 | "resolved": "https://registry.npmjs.org/velocityjs/-/velocityjs-0.9.6.tgz", 3505 | "integrity": "sha1-bsgumaonSS0tYjYMFhr8T4LbieI=", 3506 | "dev": true 3507 | }, 3508 | "verror": { 3509 | "version": "1.10.0", 3510 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", 3511 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", 3512 | "requires": { 3513 | "assert-plus": "1.0.0", 3514 | "core-util-is": "1.0.2", 3515 | "extsprintf": "1.3.0" 3516 | } 3517 | }, 3518 | "vise": { 3519 | "version": "2.0.2", 3520 | "resolved": "https://registry.npmjs.org/vise/-/vise-2.0.2.tgz", 3521 | "integrity": "sha1-awjo+0y3bjpQzW3Q7DczjoEaDTk=", 3522 | "dev": true, 3523 | "requires": { 3524 | "hoek": "4.2.0" 3525 | } 3526 | }, 3527 | "walkdir": { 3528 | "version": "0.0.11", 3529 | "resolved": "https://registry.npmjs.org/walkdir/-/walkdir-0.0.11.tgz", 3530 | "integrity": "sha1-oW0CXrkxvQO1LzCMrtD0D86+lTI=", 3531 | "dev": true 3532 | }, 3533 | "whatwg-fetch": { 3534 | "version": "2.0.3", 3535 | "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", 3536 | "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=", 3537 | "dev": true 3538 | }, 3539 | "which": { 3540 | "version": "1.3.0", 3541 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", 3542 | "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", 3543 | "dev": true, 3544 | "requires": { 3545 | "isexe": "2.0.0" 3546 | } 3547 | }, 3548 | "widest-line": { 3549 | "version": "1.0.0", 3550 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", 3551 | "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", 3552 | "dev": true, 3553 | "requires": { 3554 | "string-width": "1.0.2" 3555 | } 3556 | }, 3557 | "wrappy": { 3558 | "version": "1.0.2", 3559 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3560 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", 3561 | "dev": true 3562 | }, 3563 | "wreck": { 3564 | "version": "9.0.0", 3565 | "resolved": "https://registry.npmjs.org/wreck/-/wreck-9.0.0.tgz", 3566 | "integrity": "sha1-HeY9SbsHuU/nGIZLi+YxduYzMew=", 3567 | "dev": true, 3568 | "requires": { 3569 | "boom": "3.2.2", 3570 | "hoek": "4.2.0" 3571 | }, 3572 | "dependencies": { 3573 | "boom": { 3574 | "version": "3.2.2", 3575 | "resolved": "https://registry.npmjs.org/boom/-/boom-3.2.2.tgz", 3576 | "integrity": "sha1-DwzF0ErcUAO4x9cfQsynJx/vDng=", 3577 | "dev": true, 3578 | "requires": { 3579 | "hoek": "4.2.0" 3580 | } 3581 | } 3582 | } 3583 | }, 3584 | "write-file-atomic": { 3585 | "version": "2.3.0", 3586 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", 3587 | "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", 3588 | "dev": true, 3589 | "requires": { 3590 | "graceful-fs": "4.1.11", 3591 | "imurmurhash": "0.1.4", 3592 | "signal-exit": "3.0.2" 3593 | } 3594 | }, 3595 | "xdg-basedir": { 3596 | "version": "3.0.0", 3597 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz", 3598 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", 3599 | "dev": true 3600 | }, 3601 | "xml2js": { 3602 | "version": "0.4.17", 3603 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", 3604 | "integrity": "sha1-F76T6q4/O3eTWceVtBlwWogX6Gg=", 3605 | "dev": true, 3606 | "requires": { 3607 | "sax": "1.2.1", 3608 | "xmlbuilder": "4.2.1" 3609 | } 3610 | }, 3611 | "xmlbuilder": { 3612 | "version": "4.2.1", 3613 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", 3614 | "integrity": "sha1-qlijBBoGb5DqoWwvU4n/GfP0YaU=", 3615 | "dev": true, 3616 | "requires": { 3617 | "lodash": "4.17.4" 3618 | } 3619 | }, 3620 | "xtend": { 3621 | "version": "4.0.1", 3622 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", 3623 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", 3624 | "dev": true 3625 | }, 3626 | "yallist": { 3627 | "version": "2.1.2", 3628 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", 3629 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", 3630 | "dev": true 3631 | }, 3632 | "yaml-ast-parser": { 3633 | "version": "0.0.34", 3634 | "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.34.tgz", 3635 | "integrity": "sha1-0A88+ddztyQUCa6SpnQNHbGfSeY=", 3636 | "dev": true 3637 | }, 3638 | "yauzl": { 3639 | "version": "2.9.1", 3640 | "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", 3641 | "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", 3642 | "dev": true, 3643 | "requires": { 3644 | "buffer-crc32": "0.2.13", 3645 | "fd-slicer": "1.0.1" 3646 | } 3647 | }, 3648 | "zen-observable-ts": { 3649 | "version": "0.4.4", 3650 | "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.4.4.tgz", 3651 | "integrity": "sha512-SNVY1sWWhoe7FwFmHpD9ERi+7Mhhj3+JdS0BGy2UxLIg7cY+3zQbyZauQCI6DN6YK4uoKNaIm3S7Qkqi1Lr+Fw==", 3652 | "dev": true 3653 | }, 3654 | "zip-stream": { 3655 | "version": "1.2.0", 3656 | "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", 3657 | "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", 3658 | "dev": true, 3659 | "requires": { 3660 | "archiver-utils": "1.3.0", 3661 | "compress-commons": "1.2.2", 3662 | "lodash": "4.17.4", 3663 | "readable-stream": "2.3.3" 3664 | } 3665 | } 3666 | } 3667 | } 3668 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "save-net-neutrality-bot", 3 | "version": "0.2.0", 4 | "description": "A bot built to reweet tweets containing #NetNeutrality, #SaveNetNeutrality, and other similar phrases with instructions on how to help #SaveNetNetruality.", 5 | "main": "handler.js", 6 | "author": "C3r1alK1ll3r, Cra5hOv3r1d3", 7 | "repository": { 8 | "type": "git", 9 | "url": "https://github.com/Save-Net-Neutrality/SaveNetNeutralityBot" 10 | }, 11 | "keywords": [ 12 | "lamba", 13 | "aws", 14 | "serverless", 15 | "twitter", 16 | "bot", 17 | "NetNeutrality" 18 | ], 19 | "scripts": { 20 | "start": "serverless invoke local --function saveTheWebBot", 21 | "deploy": "serverless deploy" 22 | }, 23 | "devDependencies": { 24 | "serverless": "^1.24.1", 25 | "serverless-offline": "^3.16.0" 26 | }, 27 | "dependencies": { 28 | "twit": "^2.2.9" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /serverless.yml: -------------------------------------------------------------------------------- 1 | # Welcome to Serverless! 2 | # 3 | # This file is the main config file for your service. 4 | # It's very minimal at this point and uses default values. 5 | # You can always add more config options for more control. 6 | # We've included some commented out config examples here. 7 | # Just uncomment any of them to get that config option. 8 | # 9 | # For full config options, check the docs: 10 | # docs.serverless.com 11 | # 12 | # This is the standard Serverless Init (slightly modified) 13 | # 14 | # Happy Coding! 15 | 16 | service: save-net-neutrality-bot 17 | 18 | # You can pin your service to only deploy with a specific Serverless version 19 | # Check out our docs for more details 20 | # frameworkVersion: "=X.X.X" 21 | 22 | plugins: 23 | - serverless-offline 24 | 25 | provider: 26 | name: aws 27 | runtime: nodejs6.10 28 | 29 | # you can overwrite defaults here 30 | stage: dev 31 | region: us-east-1 32 | 33 | # you can add statements to the Lambda function's IAM Role here 34 | # iamRoleStatements: 35 | # - Effect: "Allow" 36 | # Action: 37 | # - "s3:ListBucket" 38 | # Resource: { "Fn::Join" : ["", ["arn:aws:s3:::", { "Ref" : "ServerlessDeploymentBucket" } ] ] } 39 | # - Effect: "Allow" 40 | # Action: 41 | # - "s3:PutObject" 42 | # Resource: 43 | # Fn::Join: 44 | # - "" 45 | # - - "arn:aws:s3:::" 46 | # - "Ref" : "ServerlessDeploymentBucket" 47 | # - "/*" 48 | 49 | # you can define service wide environment variables here 50 | # environment: 51 | # variable1: value1 52 | 53 | # custom: 54 | # webpackIncludeModules: true 55 | # serverless-offline: 56 | # babelOptions: 57 | # presets: ["es2015", "stage-2"] 58 | 59 | # you can add packaging information here 60 | package: 61 | individually: true 62 | include: 63 | - handler.js 64 | - node_modules/** 65 | # exclude: 66 | # - exclude-me.js 67 | # - exclude-me-dir/** 68 | 69 | functions: 70 | saveTheWebBot: 71 | handler: handler.saveTheWebBot 72 | events: 73 | - schedule: 74 | rate: rate(30 minutes) 75 | enabled: true 76 | 77 | # The following are a few example events you can configure 78 | # NOTE: Please make sure to change your handler code to work with those events 79 | # Check the event documentation for details 80 | # events: 81 | # - http: 82 | # path: users/create 83 | # method: get 84 | # - s3: ${env:BUCKET} 85 | # - schedule: rate(10 minutes) 86 | # - sns: greeter-topic 87 | # - stream: arn:aws:dynamodb:region:XXXXXX:table/foo/stream/1970-01-01T00:00:00.000 88 | # - alexaSkill 89 | # - iot: 90 | # sql: "SELECT * FROM 'some_topic'" 91 | # - cloudwatchEvent: 92 | # event: 93 | # source: 94 | # - "aws.ec2" 95 | # detail-type: 96 | # - "EC2 Instance State-change Notification" 97 | # detail: 98 | # state: 99 | # - pending 100 | # - cloudwatchLog: '/aws/lambda/hello' 101 | # - cognitoUserPool: 102 | # pool: MyUserPool 103 | # trigger: PreSignUp 104 | 105 | # Define function environment variables here 106 | # environment: 107 | # variable2: value2 108 | 109 | # you can add CloudFormation resource templates here 110 | #resources: 111 | # Resources: 112 | # NewResource: 113 | # Type: AWS::S3::Bucket 114 | # Properties: 115 | # BucketName: my-new-bucket 116 | # Outputs: 117 | # NewOutput: 118 | # Description: "Description for the output" 119 | # Value: "Some output value" 120 | -------------------------------------------------------------------------------- /temp.twit.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | //Your Twitter credentials go in this file 3 | consumer_key: '', 4 | consumer_secret: '', 5 | access_token: '', 6 | access_token_secret: '' 7 | }; 8 | -------------------------------------------------------------------------------- /tweet.actions.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const API = require("./api"); 3 | const preparedTweets = require("./tweets"); 4 | 5 | const tweets = { 6 | retweetHashTags: (numberOfRetweets) => { 7 | for(let i = 0; i < numberOfRetweets; i++) { 8 | const randomHashtag = Math.floor(Math.random() * preparedTweets.hashtags.length); 9 | API.search(preparedTweets.hashtags[randomHashtag], 1).then((tweets) => { 10 | var randomTweet = 0; 11 | if(tweets.length > 1) { 12 | randomTweet = Math.floor(Math.random() * tweets.length) 13 | } 14 | // I found I have to us id_str instead of just id. For some reseaon the 15 | // two vars can very. id_str seems to the the original 16 | if(tweets[randomTweet].retweeted_status) { 17 | API.retweet(tweets[randomTweet].retweeted_status.id_str); 18 | } else { 19 | API.retweet(tweets[randomTweet].id_str); 20 | } 21 | }).catch((err) => { 22 | console.log("ERROR: ", err); 23 | }); 24 | } 25 | }, 26 | howToFight: (numberOfTweets) => { 27 | if(numberOfTweets > preparedTweets.knowledgeTweets.length) { 28 | numberOfTweets = preparedTweets.knowledgeTweets.length; 29 | } 30 | for(let i = 0; i < numberOfTweets; i++) { 31 | API.tweet(preparedTweets.knowledgeTweets[Math.floor(Math.random() * preparedTweets.knowledgeTweets.length)]); 32 | } 33 | }, 34 | rageRageAgainstTheDyingOfTheLight: (numberOfTweets, all) => { 35 | if(all) { 36 | numberOfTweets = preparedTweets.rageTweets.length; 37 | } else if(numberOfTweets > preparedTweets.rageTweets.length) { 38 | numberOfTweets = preparedTweets.rageTweets.length; 39 | } 40 | for(let i = 0; i < numberOfTweets; i++) { 41 | if(all) { 42 | API.tweet(preparedTweets.rageTweets[i]); 43 | } else { 44 | API.tweet(preparedTweets.rageTweets[Math.floor(Math.random() * preparedTweets.rageTweets.length)]); 45 | } 46 | } 47 | }, 48 | tweetMedia: (numberOfTweets) => { 49 | if(numberOfTweets > preparedTweets.mediaTweets.length) { 50 | numberOfTweets = preparedTweets.mediaTweets.length; 51 | } 52 | for(let i = 0; i < numberOfTweets; i++) { 53 | API.tweet(preparedTweets.mediaTweets[Math.floor(Math.random() * preparedTweets.mediaTweets.length)]); 54 | } 55 | } 56 | } 57 | 58 | module.exports = tweets; 59 | -------------------------------------------------------------------------------- /tweets.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | /** 3 | 4 | In this file you can add or remove tweets your bot will use. 5 | 6 | */ 7 | 8 | const isps = ["Comcast", "AT&T", "Verzion", "Charter Sprectrum", "Cricket", "CenturyLink", "Sprint", "T-Mobile"]; 9 | 10 | module.exports = { 11 | hashtags: ["#NetNeutrality", "#SaveNetNeutrality", "#BattleForTheNet", "#AjitPaiSucks", "#DefendNetNeutrality", "#SaveTheInternet", "#DoNotGoGentle", "#RageAgainstTheDyingOfTheLight"], 12 | knowledgeTweets: [ 13 | "Do you really want to start paying " + isps[Math.floor(Math.random() * isps.length)] + " an ADDITIONAL fee just to check your twitter feed? No? Then write and call your representatives now https://www.battleforthenet.com/ and tell them you want to keep #NetNeutrality #SaveNetNeutrality #BattleForTheNet", 14 | "Tell the White House That You Want To Remove Ajit Pai from Chairman of the FCC! #NetNeutrality https://petitions.whitehouse.gov/petition/replace-ajit-pai-fcc-restore-net-neutrality-make-last-mile-networking-public-utility-and-stop-corporate-abuse-0", 15 | "Tell the White House That You Want To Keep #NetNeutrality! Sign this White House petition and retweet to your followers! https://petitions.whitehouse.gov/petition/do-not-repeal-net-neutrality #DoNotGoGentleIntoThatGoodNight", 16 | "Tell the White House to Fire Ajit Pai! #NetNeutrality! Sign this White House petition and retweet to your followers! https://petitions.whitehouse.gov/petition/we-people-call-resignation-fcc-chairman-ajit-varadaraj-pai #DoNotGoGentleIntoThatGoodNight", 17 | "Get Ready, December 7th is the Don't Kill the Net Protest at Verzion stores. You can find one in your area here: http://verizonprotests.com/. Get everyone you know, this isn't a partisan issue. This is keeping the Net an open space for innovation! #NetNeutrality #BattleForTheNet", 18 | "Only five people at the FCC get to vote on #NetNeutrality. Three plan on voting to repeal. One of these men MUST change his vote: Ajit Pai: 202-518-7399 Michael O'Rielly: 301-657-9092 Brendan Carr: 202-719-7305 #NetNeutrality #BattleForTheNet #Rage #RageAgainstTheDyingOfTheLight", 19 | "There are several ways to tell the FCC You Want To Keep #NetNeutrality FAX: 1-866-418-0232 CALL: 1-888-CALL-FCC emails for the members planning to vote to dismantle Ajit.Pai@fcc.gov, Mike.O'Rielly@fcc.gov, Brendan.Carr@fcc.gov #BattleForTheNet #Rage #RageAgainstTheDyingOfTheLight", 20 | "Have you called Congress today? https://www.battleforthenet.com/ Take Action Now Before It's To Late! Call and Retweet to #SaveTheNet #SaveNetNeutrality #NetNeutrality #SaveTheNetBot #DoNotGoGentleIntoThatGoodNight #Rage #RageAgainstTheDyingOfTheLight #CyberMonday", 21 | "Add your own #NetNeutrality Campaign Bot to Your Twitter Account. https://github.com/Save-Net-Neutrality/SaveNetNeutralityBot Keep the word moving with #SaveTheNetBot #SaveNetNeutrality #DoNotGoGentle #Rage #RageAgainstTheDyingOfTheLight #CyberMonday", 22 | "The FCC tried to hide their #NetNeutrality complaint form behind pages of BS! John Oliver had a redirect created so YOU can go straight to it! http://www.gofccyourself.com/ #SaveTheNetBot #DoNotGoGentle https://youtu.be/92vuuZt7wak" 23 | ], 24 | rageTweets: [ 25 | "Do not go gentle into that good night,\nOld age should burn and rave at close of day;\nRage, rage against the dying of the light.\n#DoNotGoGentle\n\n#BattleForTheNet #NetNeutrality #SaveNetNeutrality #SaveTheNetBot #CyberMonday https://www.battleforthenet.com/", 26 | "Though wise men at their end know dark is right,\nBecause their words had forked no lightning they\nDo not go gentle into that good night.\n#DoNotGoGentle\n\n#BattleForTheNet #NetNeutrality #SaveNetNeutrality #SaveTheNetBot #CyberMonday https://www.battleforthenet.com/", 27 | "Good men, the last wave by, crying how bright\nTheir frail deeds might have danced in a green bay,\nRage, rage against the dying of the light.\n#DoNotGoGentle\n\n#BattleForTheNet #NetNeutrality #SaveTheNetBot #CyberMonday https://www.battleforthenet.com/ ", 28 | "Wild men who caught and sang the sun in flight,\nAnd learn, too late, they grieved it on its way,\nRage, Do not go gentle into that good night.\n#DoNotGoGentle\n\n#BattleForTheNet #NetNeutrality #SaveTheNetBot #CyberMonday https://www.battleforthenet.com/ ", 29 | "Grave men, near death, who see with blinding sight\nBlind eyes could blaze like meteors and be gay,\nRage, rage against the dying of the light.\n#DoNotGoGentle\n\n#BattleForTheNet #NetNeutrality #SaveTheNetBot #CyberMonday https://www.battleforthenet.com/", 30 | "And you, my father, there on the sad height,\nCurse, bless, me now with your fierce tears, I pray.\nDo not go gentle into that good night.\nRage, rage against the dying of the light.\n#DoNotGoGentle\n\n #NetNeutrality #SaveTheNetBot https://www.battleforthenet.com/", 31 | ], 32 | mediaTweets: [ 33 | "Save the Net! Protect #NetNeutrality https://www.battleforthenet.com/ #BattleForTheNet #SaveTheNetBot #DoNotGoGentle #CyberMonday \n https://youtu.be/wQtiIazfoQM ", 34 | "How many times do we have to do this? Here's John Oliver from 6 months ago, the last time we had to do this! Go complain --> http://www.gofccyourself.com/ #NetNeutrality #BattleForTheNet #SaveTheNetBot #DoNotGoGentle #CyberMonday \n https://youtu.be/92vuuZt7wak", 35 | "Really? And we did this 3 years ago too! Don't stop standing up for your right to equal access of information! #NetNeutrality #BattleForTheNet #DoNotGoGentle #CyberMonday\n http://www.gofccyourself.com/ \n https://www.battleforthenet.com/ \n https://youtu.be/fpbOEoRrHyU", 36 | "Take it from the Wall Street Journal, #NetNeutrality is good thing! Go here and tell your congressman you agree today --> https://www.battleforthenet.com/ #SaveTheNetBot #BattleForTheNet #DoNotGoGentle #CyberMonday \n https://youtu.be/p90McT24Z6w", 37 | "Take it from #AdamKnowsEverything, we need #NetNeutrality Go here and tell your congress people you agree --> https://www.battleforthenet.com/ #SaveNetNeutrality #SaveTheNetBot #DoNotGoGentle #CyberMonday \n https://youtu.be/xjOxNiHUsZw", 38 | "Join the Battle on Twitter! Turn your Twitter account into a #NetNeutrality Campaign Bot today! #SaveTheNetBot \n https://github.com/Save-Net-Neutrality/SaveNetNeutralityBot \n #BattleForTheNet #DoNotGoGentle \n https://youtu.be/u3CKgkyc7Qo" 39 | ] 40 | } 41 | --------------------------------------------------------------------------------