├── .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
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 |
--------------------------------------------------------------------------------