]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Switch to uber/npm-shrinkwrap for npm-shrinkwrap.json generation 13877/head
authorChris Rebert <code@rebertia.com>
Thu, 19 Jun 2014 17:47:55 +0000 (10:47 -0700)
committerChris Rebert <code@rebertia.com>
Thu, 19 Jun 2014 18:46:37 +0000 (11:46 -0700)
Instead of our homegrown grunt/shrinkwrap.js
Fixes #13483.
New npm-shrinkwrap.json is human-readable but still in a consistent/stable format.
Should aid debugging, produce better diffs, and be less prone to merge conflicts

Gruntfile.js
grunt/shrinkwrap.js [deleted file]
package.json
test-infra/README.md
test-infra/S3Cachefile.json
test-infra/npm-shrinkwrap.canonical.json [deleted file]
test-infra/npm-shrinkwrap.json [new file with mode: 0644]
test-infra/uncached-npm-install.sh

index 9577cc04fd25fb69e882bf041e2fc8107d2960a6..31f287960f252b4f5cde30fd6e0d16eef3a8d99d 100644 (file)
@@ -17,10 +17,10 @@ module.exports = function (grunt) {
 
   var fs = require('fs');
   var path = require('path');
+  var npmShrinkwrap = require('npm-shrinkwrap');
   var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js');
   var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js');
   var generateRawFiles = require('./grunt/bs-raw-files-generator.js');
-  var updateShrinkwrap = require('./grunt/shrinkwrap.js');
 
   // Project configuration.
   grunt.initConfig({
@@ -387,9 +387,6 @@ module.exports = function (grunt) {
     exec: {
       npmUpdate: {
         command: 'npm update'
-      },
-      npmShrinkWrap: {
-        command: 'npm shrinkwrap --dev'
       }
     }
   });
@@ -463,7 +460,19 @@ module.exports = function (grunt) {
     generateRawFiles(grunt, banner);
   });
 
-  // Task for updating the npm packages used by the Travis build.
-  grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', 'exec:npmShrinkWrap', '_update-shrinkwrap']);
-  grunt.registerTask('_update-shrinkwrap', function () { updateShrinkwrap.call(this, grunt); });
+  // Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json).
+  // This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
+  grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', '_update-shrinkwrap']);
+  grunt.registerTask('_update-shrinkwrap', function () {
+    var done = this.async();
+    npmShrinkwrap({ dev: true, dirname: __dirname }, function (err) {
+      if (err) {
+        grunt.fail.warn(err)
+      }
+      var dest = 'test-infra/npm-shrinkwrap.json';
+      fs.renameSync('npm-shrinkwrap.json', dest);
+      grunt.log.writeln('File ' + dest.cyan + ' updated.');
+      done();
+    });
+  });
 };
diff --git a/grunt/shrinkwrap.js b/grunt/shrinkwrap.js
deleted file mode 100644 (file)
index 270fcb7..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*!
- * Bootstrap Grunt task for generating npm-shrinkwrap.canonical.json
- * http://getbootstrap.com
- * Copyright 2014 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-/*
-This Grunt task updates the npm-shrinkwrap.canonical.json file that's used as the key for Bootstrap's npm packages cache.
-This task should be run and the updated file should be committed whenever Bootstrap's dependencies change.
-*/
-'use strict';
-var canonicallyJsonStringify = require('canonical-json');
-var NON_CANONICAL_FILE = 'npm-shrinkwrap.json';
-var DEST_FILE = 'test-infra/npm-shrinkwrap.canonical.json';
-
-
-function cleanup(shrinkwrap) {
-  // Remove `resolved` property to avoid irrelevant changes
-  // See https://github.com/npm/npm/issues/3581
-  if (typeof shrinkwrap === 'string') {
-    return shrinkwrap;
-  }
-  delete shrinkwrap.resolved;
-  for (var key in shrinkwrap) {
-    shrinkwrap[key] = cleanup(shrinkwrap[key]);
-  }
-  return shrinkwrap;
-}
-
-function updateShrinkwrap(grunt) {
-  // Assumption: Non-canonical shrinkwrap already generated by prerequisite Grunt task
-  var shrinkwrapData = grunt.file.readJSON(NON_CANONICAL_FILE);
-  grunt.log.writeln('Deleting ' + NON_CANONICAL_FILE.cyan + '...');
-  grunt.file.delete(NON_CANONICAL_FILE);
-  // Output as Canonical JSON in correct location
-  grunt.file.write(DEST_FILE, canonicallyJsonStringify(cleanup(shrinkwrapData)));
-  grunt.log.writeln('File ' + DEST_FILE.cyan + ' updated.');
-}
-
-
-module.exports = updateShrinkwrap;
index dbb7f21e0b51539ecda1e3dc42af7118c4a58339..40feb944fd2c1911950b35435b040404b4f5fb0f 100644 (file)
@@ -31,7 +31,6 @@
   },
   "devDependencies": {
     "btoa": "~1.1.2",
-    "canonical-json": "~0.0.4",
     "glob": "~4.0.2",
     "grunt": "~0.4.5",
     "grunt-autoprefixer": "~0.7.5",
@@ -57,6 +56,7 @@
     "grunt-sed": "~0.1.1",
     "load-grunt-tasks": "~0.5.0",
     "markdown": "~0.5.0",
+    "npm-shrinkwrap": "~3.1.3",
     "time-grunt": "~0.3.2"
   },
   "engines": {
index 2ee7ed9ab4ed6f9109f3c6121cc42bb55a83b08f..70043fa39007631a9788f4d25e712602dad2fb02 100644 (file)
@@ -15,7 +15,7 @@ Similar to git, `s3_cache.py` makes the assumption that [SHA-256 will effectivel
 ### For Bootstrap specifically
 `s3_cache.py` is used to cache the npm packages that our Grunt tasks depend on and the RubyGems that Jekyll depends on. (Jekyll is needed to compile our docs to HTML so that we can run them thru an HTML5 validator.)
 
-For npm, the `node_modules` directory is cached based on our `npm-shrinkwrap.canonical.json` file.
+For npm, the `node_modules` directory is cached based on our `npm-shrinkwrap.json` file.
 
 For RubyGems, the `gemdir` of the current RVM-selected Ruby is cached based on the `pseudo_Gemfile.lock` file generated by our Travis build script.
 `pseudo_Gemfile.lock` contains the versions of Ruby and Jekyll that we're using (read our `.travis.yml` for details).
index f5c011939574cdbd25fa05e4020472c862dc268c..5335b2866dc1a8468a457723d5b85216d5543dfc 100644 (file)
@@ -1,6 +1,6 @@
 {
     "npm-modules": {
-        "key": "./npm-shrinkwrap.canonical.json",
+        "key": "./npm-shrinkwrap.json",
         "cache": "../node_modules",
         "generate": "./uncached-npm-install.sh"
     },
diff --git a/test-infra/npm-shrinkwrap.canonical.json b/test-infra/npm-shrinkwrap.canonical.json
deleted file mode 100644 (file)
index 392a554..0000000
+++ /dev/null
@@ -1 +0,0 @@
-{"dependencies":{"btoa":{"from":"btoa@~1.1.1","version":"1.1.2"},"canonical-json":{"from":"canonical-json@~0.0.4","version":"0.0.4"},"glob":{"dependencies":{"inherits":{"from":"inherits@2","version":"2.0.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@^0.3.0","version":"0.3.0"},"once":{"from":"once@^1.3.0","version":"1.3.0"}},"from":"glob@^4.0.0","version":"4.0.2"},"grunt":{"dependencies":{"async":{"from":"async@0.1.22","version":"0.1.22"},"coffee-script":{"from":"coffee-script@1.3.3","version":"1.3.3"},"colors":{"from":"colors@~0.6.2","version":"0.6.2"},"dateformat":{"from":"dateformat@1.0.2-1.2.3","version":"1.0.2-1.2.3"},"eventemitter2":{"from":"eventemitter2@~0.4.13","version":"0.4.13"},"exit":{"from":"exit@~0.1.1","version":"0.1.2"},"findup-sync":{"dependencies":{"glob":{"dependencies":{"inherits":{"from":"inherits@2","version":"2.0.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.3","version":"0.3.0"}},"from":"glob@3.2.11","version":"3.2.11"},"lodash":{"from":"lodash@~2.4.1","version":"2.4.1"}},"from":"findup-sync@~0.1.2","version":"0.1.3"},"getobject":{"from":"getobject@~0.1.0","version":"0.1.0"},"glob":{"dependencies":{"graceful-fs":{"from":"graceful-fs@~1.2.0","version":"1.2.3"},"inherits":{"from":"inherits@1","version":"1.0.0"}},"from":"glob@3.1.21","version":"3.1.21"},"grunt-legacy-log":{"dependencies":{"lodash":{"from":"lodash@~2.4.1","version":"2.4.1"},"underscore.string":{"from":"underscore.string@~2.3.3","version":"2.3.3"}},"from":"grunt-legacy-log@~0.1.0","version":"0.1.1"},"grunt-legacy-util":{"dependencies":{"async":{"from":"async@0.1.22","version":"0.1.22"},"lodash":{"from":"lodash@0.9.2","version":"0.9.2"},"underscore.string":{"from":"underscore.string@2.2.1","version":"2.2.1"}},"from":"grunt-legacy-util@~0.2.0","version":"0.2.0"},"hooker":{"from":"hooker@~0.2.3","version":"0.2.3"},"iconv-lite":{"from":"iconv-lite@0.2.11","version":"0.2.11"},"js-yaml":{"dependencies":{"argparse":{"dependencies":{"underscore":{"from":"underscore@~1.4.3","version":"1.4.4"},"underscore.string":{"from":"underscore.string@~2.3.1","version":"2.3.3"}},"from":"argparse@~ 0.1.11","version":"0.1.15"},"esprima":{"from":"esprima@~ 1.0.2","version":"1.0.4"}},"from":"js-yaml@2.0.5","version":"2.0.5"},"lodash":{"from":"lodash@0.9.2","version":"0.9.2"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.2.14","version":"0.2.14"},"nopt":{"dependencies":{"abbrev":{"from":"abbrev@1","version":"1.0.5"}},"from":"nopt@1.0.10","version":"1.0.10"},"rimraf":{"from":"rimraf@~2.2.8","version":"2.2.8"},"underscore.string":{"from":"underscore.string@2.2.1","version":"2.2.1"},"which":{"from":"which@~1.0.5","version":"1.0.5"}},"from":"grunt@~0.4.4","version":"0.4.5"},"grunt-autoprefixer":{"dependencies":{"autoprefixer":{"dependencies":{"caniuse-db":{"from":"caniuse-db@1.0.20140616","version":"1.0.20140616"},"fs-extra":{"dependencies":{"jsonfile":{"from":"jsonfile@~1.1.0","version":"1.1.1"},"mkdirp":{"dependencies":{"minimist":{"from":"minimist@0.0.8","version":"0.0.8"}},"from":"mkdirp@^0.5.0","version":"0.5.0"},"ncp":{"from":"ncp@^0.5.1","version":"0.5.1"},"rimraf":{"from":"rimraf@^2.2.8","version":"2.2.8"}},"from":"fs-extra@~0.9.1","version":"0.9.1"},"postcss":{"dependencies":{"base64-js":{"from":"base64-js@~0.0.6","version":"0.0.7"},"source-map":{"dependencies":{"amdefine":{"from":"amdefine@>=0.0.4","version":"0.1.0"}},"from":"source-map@~0.1.33","version":"0.1.34"}},"from":"postcss@~0.3.5","version":"0.3.5"}},"from":"autoprefixer@~1.2.0","version":"1.2.0"},"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@~0.4.0","version":"0.4.0"},"diff":{"from":"diff@~1.0.8","version":"1.0.8"}},"from":"grunt-autoprefixer@~0.7.2","version":"0.7.5"},"grunt-banner":{"from":"grunt-banner@~0.2.2","version":"0.2.3"},"grunt-contrib-clean":{"dependencies":{"rimraf":{"from":"rimraf@~2.2.1","version":"2.2.8"}},"from":"grunt-contrib-clean@~0.5.0","version":"0.5.0"},"grunt-contrib-concat":{"dependencies":{"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@~0.4.0","version":"0.4.0"}},"from":"grunt-contrib-concat@~0.4.0","version":"0.4.0"},"grunt-contrib-connect":{"dependencies":{"async":{"from":"async@~0.9.0","version":"0.9.0"},"connect":{"dependencies":{"basic-auth-connect":{"from":"basic-auth-connect@1.0.0","version":"1.0.0"},"body-parser":{"dependencies":{"raw-body":{"dependencies":{"bytes":{"from":"bytes@1","version":"1.0.0"}},"from":"raw-body@1.1.6","version":"1.1.6"}},"from":"body-parser@1.3.1","version":"1.3.1"},"bytes":{"from":"bytes@1.0.0","version":"1.0.0"},"compression":{"dependencies":{"accepts":{"dependencies":{"mime":{"from":"mime@1.2.11","version":"1.2.11"},"negotiator":{"from":"negotiator@0.4.6","version":"0.4.6"}},"from":"accepts@1.0.3","version":"1.0.3"},"compressible":{"from":"compressible@1.1.0","version":"1.1.0"},"vary":{"from":"vary@0.1.0","version":"0.1.0"}},"from":"compression@1.0.7","version":"1.0.7"},"connect-timeout":{"dependencies":{"debug":{"from":"debug@0.8.1","version":"0.8.1"}},"from":"connect-timeout@1.1.0","version":"1.1.0"},"cookie":{"from":"cookie@0.1.2","version":"0.1.2"},"cookie-parser":{"from":"cookie-parser@1.1.0","version":"1.1.0"},"cookie-signature":{"from":"cookie-signature@1.0.3","version":"1.0.3"},"csurf":{"dependencies":{"csrf-tokens":{"dependencies":{"rndm":{"from":"rndm@1","version":"1.0.0"},"scmp":{"from":"scmp@~0.0.3","version":"0.0.3"},"uid2":{"from":"uid2@~0.0.2","version":"0.0.3"}},"from":"csrf-tokens@~1.0.2","version":"1.0.4"}},"from":"csurf@1.2.1","version":"1.2.1"},"debug":{"dependencies":{"ms":{"from":"ms@0.6.2","version":"0.6.2"}},"from":"debug@1.0.2","version":"1.0.2"},"errorhandler":{"from":"errorhandler@1.0.2","version":"1.0.2"},"escape-html":{"from":"escape-html@1.0.1","version":"1.0.1"},"express-session":{"dependencies":{"buffer-crc32":{"from":"buffer-crc32@0.2.1","version":"0.2.1"},"debug":{"from":"debug@0.8.1","version":"0.8.1"},"uid2":{"from":"uid2@0.0.3","version":"0.0.3"},"utils-merge":{"from":"utils-merge@1.0.0","version":"1.0.0"}},"from":"express-session@1.2.1","version":"1.2.1"},"fresh":{"from":"fresh@0.2.2","version":"0.2.2"},"method-override":{"dependencies":{"methods":{"from":"methods@1.0.1","version":"1.0.1"},"vary":{"from":"vary@0.1.0","version":"0.1.0"}},"from":"method-override@2.0.2","version":"2.0.2"},"morgan":{"from":"morgan@1.1.1","version":"1.1.1"},"multiparty":{"dependencies":{"readable-stream":{"dependencies":{"core-util-is":{"from":"core-util-is@~1.0.0","version":"1.0.1"},"inherits":{"from":"inherits@~2.0.1","version":"2.0.1"},"isarray":{"from":"isarray@0.0.1","version":"0.0.1"},"string_decoder":{"from":"string_decoder@~0.10.x","version":"0.10.25-1"}},"from":"readable-stream@~1.1.9","version":"1.1.13-1"},"stream-counter":{"from":"stream-counter@~0.2.0","version":"0.2.0"}},"from":"multiparty@3.2.8","version":"3.2.8"},"on-headers":{"from":"on-headers@0.0.0","version":"0.0.0"},"parseurl":{"from":"parseurl@1.0.1","version":"1.0.1"},"pause":{"from":"pause@0.0.1","version":"0.0.1"},"qs":{"from":"qs@~0.6.0","version":"0.6.6"},"response-time":{"from":"response-time@2.0.0","version":"2.0.0"},"serve-favicon":{"from":"serve-favicon@2.0.1","version":"2.0.1"},"serve-index":{"dependencies":{"accepts":{"dependencies":{"mime":{"from":"mime@~1.2.11","version":"1.2.11"},"negotiator":{"from":"negotiator@0.4.6","version":"0.4.6"}},"from":"accepts@1.0.3","version":"1.0.3"},"batch":{"from":"batch@0.5.0","version":"0.5.0"}},"from":"serve-index@1.1.1","version":"1.1.1"},"serve-static":{"dependencies":{"send":{"dependencies":{"finished":{"dependencies":{"ee-first":{"from":"ee-first@1.0.3","version":"1.0.3"}},"from":"finished@1.2.2","version":"1.2.2"},"mime":{"from":"mime@1.2.11","version":"1.2.11"},"range-parser":{"from":"range-parser@~1.0.0","version":"1.0.0"}},"from":"send@0.4.3","version":"0.4.3"}},"from":"serve-static@1.2.3","version":"1.2.3"},"type-is":{"dependencies":{"mime-types":{"from":"mime-types@1.0.0","version":"1.0.0"}},"from":"type-is@1.2.1","version":"1.2.1"},"vhost":{"from":"vhost@1.0.0","version":"1.0.0"}},"from":"connect@2.19.6","version":"2.19.6"},"connect-livereload":{"from":"connect-livereload@~0.4.0","version":"0.4.0"},"open":{"from":"open@0.0.5","version":"0.0.5"},"portscanner":{"dependencies":{"async":{"from":"async@0.1.15","version":"0.1.15"}},"from":"portscanner@~0.2.3","version":"0.2.3"}},"from":"grunt-contrib-connect@~0.8.0","version":"0.8.0"},"grunt-contrib-copy":{"from":"grunt-contrib-copy@~0.5.0","version":"0.5.0"},"grunt-contrib-csslint":{"dependencies":{"csslint":{"dependencies":{"parserlib":{"from":"parserlib@~0.2.2","version":"0.2.5"}},"from":"csslint@~0.10.0","version":"0.10.0"}},"from":"grunt-contrib-csslint@~0.2.0","version":"0.2.0"},"grunt-contrib-cssmin":{"dependencies":{"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@~0.4.0","version":"0.4.0"},"clean-css":{"dependencies":{"commander":{"from":"commander@2.2.x","version":"2.2.0"}},"from":"clean-css@~2.2.0","version":"2.2.1"},"maxmin":{"dependencies":{"gzip-size":{"dependencies":{"browserify-zlib":{"dependencies":{"pako":{"from":"pako@~0.2.0","version":"0.2.3"}},"from":"browserify-zlib@^0.1.4","version":"0.1.4"},"concat-stream":{"dependencies":{"inherits":{"from":"inherits@~2.0.1","version":"2.0.1"},"readable-stream":{"dependencies":{"core-util-is":{"from":"core-util-is@~1.0.0","version":"1.0.1"},"isarray":{"from":"isarray@0.0.1","version":"0.0.1"},"string_decoder":{"from":"string_decoder@~0.10.x","version":"0.10.25-1"}},"from":"readable-stream@1.1.13-1","version":"1.1.13-1"},"typedarray":{"from":"typedarray@~0.0.5","version":"0.0.6"}},"from":"concat-stream@^1.4.1","version":"1.4.6"}},"from":"gzip-size@^0.2.0","version":"0.2.0"},"pretty-bytes":{"from":"pretty-bytes@^0.1.0","version":"0.1.1"}},"from":"maxmin@~0.2.0","version":"0.2.0"}},"from":"grunt-contrib-cssmin@~0.10.0","version":"0.10.0"},"grunt-contrib-jade":{"dependencies":{"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@~0.4.0","version":"0.4.0"},"grunt-lib-contrib":{"dependencies":{"zlib-browserify":{"from":"zlib-browserify@0.0.1","version":"0.0.1"}},"from":"grunt-lib-contrib@0.6.1","version":"0.6.1"},"jade":{"dependencies":{"character-parser":{"from":"character-parser@1.2.0","version":"1.2.0"},"commander":{"from":"commander@2.1.0","version":"2.1.0"},"constantinople":{"dependencies":{"uglify-js":{"dependencies":{"async":{"from":"async@0.2.10","version":"0.2.10"},"optimist":{"dependencies":{"wordwrap":{"from":"wordwrap@~0.0.2","version":"0.0.2"}},"from":"optimist@0.3.7","version":"0.3.7"},"source-map":{"dependencies":{"amdefine":{"from":"amdefine@>=0.0.4","version":"0.1.0"}},"from":"source-map@~0.1.33","version":"0.1.34"},"uglify-to-browserify":{"from":"uglify-to-browserify@~1.0.0","version":"1.0.2"}},"from":"uglify-js@2.4.14","version":"2.4.14"}},"from":"constantinople@~2.0.0","version":"2.0.0"},"mkdirp":{"from":"mkdirp@0.3.5","version":"0.3.5"},"monocle":{"dependencies":{"readdirp":{"dependencies":{"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@>=0.2.4","version":"0.3.0"}},"from":"readdirp@0.2.5","version":"0.2.5"}},"from":"monocle@1.1.51","version":"1.1.51"},"transformers":{"dependencies":{"css":{"dependencies":{"css-parse":{"from":"css-parse@1.0.4","version":"1.0.4"},"css-stringify":{"from":"css-stringify@1.0.5","version":"1.0.5"}},"from":"css@~1.0.8","version":"1.0.8"},"promise":{"dependencies":{"is-promise":{"from":"is-promise@~1","version":"1.0.1"}},"from":"promise@~2.0","version":"2.0.0"},"uglify-js":{"dependencies":{"optimist":{"dependencies":{"wordwrap":{"from":"wordwrap@~0.0.2","version":"0.0.2"}},"from":"optimist@~0.3.5","version":"0.3.7"},"source-map":{"dependencies":{"amdefine":{"from":"amdefine@>=0.0.4","version":"0.1.0"}},"from":"source-map@~0.1.7","version":"0.1.34"}},"from":"uglify-js@~2.2.5","version":"2.2.5"}},"from":"transformers@2.1.0","version":"2.1.0"},"with":{"dependencies":{"uglify-js":{"dependencies":{"async":{"from":"async@0.2.10","version":"0.2.10"},"optimist":{"dependencies":{"wordwrap":{"from":"wordwrap@~0.0.2","version":"0.0.2"}},"from":"optimist@0.3.7","version":"0.3.7"},"source-map":{"dependencies":{"amdefine":{"from":"amdefine@>=0.0.4","version":"0.1.0"}},"from":"source-map@~0.1.33","version":"0.1.34"},"uglify-to-browserify":{"from":"uglify-to-browserify@~1.0.0","version":"1.0.2"}},"from":"uglify-js@2.4.14","version":"2.4.14"}},"from":"with@~3.0.0","version":"3.0.0"}},"from":"jade@~1.3.0","version":"1.3.1"}},"from":"grunt-contrib-jade@~0.12.0","version":"0.12.0"},"grunt-contrib-jshint":{"dependencies":{"hooker":{"from":"hooker@~0.2.3","version":"0.2.3"},"jshint":{"dependencies":{"cli":{"dependencies":{"glob":{"dependencies":{"inherits":{"from":"inherits@2","version":"2.0.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.3","version":"0.3.0"}},"from":"glob@3.2.11","version":"3.2.11"}},"from":"cli@0.6.x","version":"0.6.3"},"console-browserify":{"dependencies":{"date-now":{"from":"date-now@0.1.4","version":"0.1.4"}},"from":"console-browserify@1.1.x","version":"1.1.0"},"exit":{"from":"exit@0.1.x","version":"0.1.2"},"htmlparser2":{"dependencies":{"domelementtype":{"from":"domelementtype@1","version":"1.1.1"},"domhandler":{"from":"domhandler@2.2","version":"2.2.0"},"domutils":{"from":"domutils@1.5","version":"1.5.0"},"entities":{"from":"entities@1.0.0","version":"1.0.0"},"readable-stream":{"dependencies":{"core-util-is":{"from":"core-util-is@~1.0.0","version":"1.0.1"},"inherits":{"from":"inherits@~2.0.1","version":"2.0.1"},"isarray":{"from":"isarray@0.0.1","version":"0.0.1"},"string_decoder":{"from":"string_decoder@~0.10.x","version":"0.10.25-1"}},"from":"readable-stream@1.1.13-1","version":"1.1.13-1"}},"from":"htmlparser2@3.7.x","version":"3.7.2"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.x.x","version":"0.3.0"},"shelljs":{"from":"shelljs@0.3.x","version":"0.3.0"},"strip-json-comments":{"from":"strip-json-comments@0.1.x","version":"0.1.3"},"underscore":{"from":"underscore@1.6.x","version":"1.6.0"}},"from":"jshint@~2.5.0","version":"2.5.1"}},"from":"grunt-contrib-jshint@~0.10.0","version":"0.10.0"},"grunt-contrib-less":{"dependencies":{"async":{"from":"async@0.2.10","version":"0.2.10"},"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@^0.4.0","version":"0.4.0"},"less":{"dependencies":{"clean-css":{"dependencies":{"commander":{"from":"commander@2.1.x","version":"2.1.0"}},"from":"clean-css@2.1.x","version":"2.1.8"},"mime":{"from":"mime@1.2.x","version":"1.2.11"},"mkdirp":{"from":"mkdirp@~0.3.5","version":"0.3.5"},"request":{"dependencies":{"aws-sign2":{"from":"aws-sign2@~0.5.0","version":"0.5.0"},"forever-agent":{"from":"forever-agent@~0.5.0","version":"0.5.2"},"form-data":{"dependencies":{"async":{"from":"async@~0.9.0","version":"0.9.0"},"combined-stream":{"dependencies":{"delayed-stream":{"from":"delayed-stream@0.0.5","version":"0.0.5"}},"from":"combined-stream@~0.0.4","version":"0.0.4"}},"from":"form-data@~0.1.0","version":"0.1.3"},"hawk":{"dependencies":{"boom":{"from":"boom@0.4.x","version":"0.4.2"},"cryptiles":{"from":"cryptiles@0.2.x","version":"0.2.2"},"hoek":{"from":"hoek@0.9.x","version":"0.9.1"},"sntp":{"from":"sntp@0.2.x","version":"0.2.4"}},"from":"hawk@~1.0.0","version":"1.0.0"},"http-signature":{"dependencies":{"asn1":{"from":"asn1@0.1.11","version":"0.1.11"},"assert-plus":{"from":"assert-plus@0.1.2","version":"0.1.2"},"ctype":{"from":"ctype@0.5.2","version":"0.5.2"}},"from":"http-signature@~0.10.0","version":"0.10.0"},"json-stringify-safe":{"from":"json-stringify-safe@~5.0.0","version":"5.0.0"},"node-uuid":{"from":"node-uuid@~1.4.0","version":"1.4.1"},"oauth-sign":{"from":"oauth-sign@~0.3.0","version":"0.3.0"},"qs":{"from":"qs@~0.6.0","version":"0.6.6"},"tough-cookie":{"dependencies":{"punycode":{"from":"punycode@>=0.2.0","version":"1.2.4"}},"from":"tough-cookie@>=0.12.0","version":"0.12.1"},"tunnel-agent":{"from":"tunnel-agent@~0.4.0","version":"0.4.0"}},"from":"request@>=2.33.0","version":"2.36.0"},"source-map":{"dependencies":{"amdefine":{"from":"amdefine@>=0.0.4","version":"0.1.0"}},"from":"source-map@0.1.x","version":"0.1.34"}},"from":"less@1.7.0","version":"1.7.0"},"lodash":{"from":"lodash@^2.4.1","version":"2.4.1"},"maxmin":{"dependencies":{"gzip-size":{"dependencies":{"concat-stream":{"dependencies":{"inherits":{"from":"inherits@~2.0.1","version":"2.0.1"},"readable-stream":{"dependencies":{"core-util-is":{"from":"core-util-is@~1.0.0","version":"1.0.1"},"isarray":{"from":"isarray@0.0.1","version":"0.0.1"},"string_decoder":{"from":"string_decoder@~0.10.x","version":"0.10.25-1"}},"from":"readable-stream@~1.1.9","version":"1.1.13-1"},"typedarray":{"from":"typedarray@~0.0.5","version":"0.0.6"}},"from":"concat-stream@^1.4.1","version":"1.4.6"},"zlib-browserify":{"dependencies":{"tape":{"dependencies":{"deep-equal":{"from":"deep-equal@~0.0.0","version":"0.0.0"},"defined":{"from":"defined@~0.0.0","version":"0.0.0"},"jsonify":{"from":"jsonify@~0.0.0","version":"0.0.0"}},"from":"tape@~0.2.2","version":"0.2.2"}},"from":"zlib-browserify@^0.0.3","version":"0.0.3"}},"from":"gzip-size@^0.1.0","version":"0.1.1"},"pretty-bytes":{"from":"pretty-bytes@^0.1.0","version":"0.1.1"}},"from":"maxmin@0.1.0","version":"0.1.0"}},"from":"grunt-contrib-less@0.11.2","version":"0.11.2"},"grunt-contrib-qunit":{"dependencies":{"grunt-lib-phantomjs":{"dependencies":{"eventemitter2":{"from":"eventemitter2@~0.4.13","version":"0.4.13"},"phantomjs":{"dependencies":{"adm-zip":{"from":"adm-zip@0.2.1","version":"0.2.1"},"kew":{"from":"kew@0.1.7","version":"0.1.7"},"mkdirp":{"from":"mkdirp@0.3.5","version":"0.3.5"},"ncp":{"from":"ncp@0.4.2","version":"0.4.2"},"npmconf":{"dependencies":{"config-chain":{"dependencies":{"proto-list":{"from":"proto-list@~1.2.1","version":"1.2.3"}},"from":"config-chain@~1.1.1","version":"1.1.8"},"inherits":{"from":"inherits@~1.0.0","version":"1.0.0"},"ini":{"from":"ini@~1.1.0","version":"1.1.0"},"nopt":{"dependencies":{"abbrev":{"from":"abbrev@1","version":"1.0.5"}},"from":"nopt@2","version":"2.2.1"},"once":{"from":"once@~1.1.1","version":"1.1.1"},"osenv":{"from":"osenv@0.0.3","version":"0.0.3"},"semver":{"from":"semver@~1.1.0","version":"1.1.4"}},"from":"npmconf@0.0.24","version":"0.0.24"},"request":{"dependencies":{"aws-sign2":{"from":"aws-sign2@~0.5.0","version":"0.5.0"},"forever-agent":{"from":"forever-agent@~0.5.0","version":"0.5.2"},"form-data":{"dependencies":{"async":{"from":"async@~0.9.0","version":"0.9.0"},"combined-stream":{"dependencies":{"delayed-stream":{"from":"delayed-stream@0.0.5","version":"0.0.5"}},"from":"combined-stream@~0.0.4","version":"0.0.4"}},"from":"form-data@~0.1.0","version":"0.1.3"},"hawk":{"dependencies":{"boom":{"from":"boom@0.4.x","version":"0.4.2"},"cryptiles":{"from":"cryptiles@0.2.x","version":"0.2.2"},"hoek":{"from":"hoek@0.9.x","version":"0.9.1"},"sntp":{"from":"sntp@0.2.x","version":"0.2.4"}},"from":"hawk@1.0.0","version":"1.0.0"},"http-signature":{"dependencies":{"asn1":{"from":"asn1@0.1.11","version":"0.1.11"},"assert-plus":{"from":"assert-plus@0.1.2","version":"0.1.2"},"ctype":{"from":"ctype@0.5.2","version":"0.5.2"}},"from":"http-signature@~0.10.0","version":"0.10.0"},"json-stringify-safe":{"from":"json-stringify-safe@~5.0.0","version":"5.0.0"},"mime":{"from":"mime@~1.2.9","version":"1.2.11"},"node-uuid":{"from":"node-uuid@~1.4.0","version":"1.4.1"},"oauth-sign":{"from":"oauth-sign@0.3.0","version":"0.3.0"},"qs":{"from":"qs@~0.6.0","version":"0.6.6"},"tough-cookie":{"dependencies":{"punycode":{"from":"punycode@>=0.2.0","version":"1.2.4"}},"from":"tough-cookie@>=0.12.0","version":"0.12.1"},"tunnel-agent":{"from":"tunnel-agent@~0.4.0","version":"0.4.0"}},"from":"request@2.36.0","version":"2.36.0"},"rimraf":{"from":"rimraf@~2.2.2","version":"2.2.8"},"which":{"from":"which@~1.0.5","version":"1.0.5"}},"from":"phantomjs@~1.9.0-1","version":"1.9.7-8"},"semver":{"from":"semver@1.0.14","version":"1.0.14"},"temporary":{"dependencies":{"package":{"from":"package@>= 1.0.0 < 1.2.0","version":"1.0.1"}},"from":"temporary@~0.0.4","version":"0.0.8"}},"from":"grunt-lib-phantomjs@~0.6.0","version":"0.6.0"}},"from":"grunt-contrib-qunit@~0.5.1","version":"0.5.1"},"grunt-contrib-uglify":{"dependencies":{"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@~0.4.0","version":"0.4.0"},"lodash":{"from":"lodash@^2.4.1","version":"2.4.1"},"maxmin":{"dependencies":{"gzip-size":{"dependencies":{"concat-stream":{"dependencies":{"inherits":{"from":"inherits@~2.0.1","version":"2.0.1"},"readable-stream":{"dependencies":{"core-util-is":{"from":"core-util-is@~1.0.0","version":"1.0.1"},"isarray":{"from":"isarray@0.0.1","version":"0.0.1"},"string_decoder":{"from":"string_decoder@~0.10.x","version":"0.10.25-1"}},"from":"readable-stream@~1.1.9","version":"1.1.13-1"},"typedarray":{"from":"typedarray@~0.0.5","version":"0.0.6"}},"from":"concat-stream@^1.4.1","version":"1.4.6"},"zlib-browserify":{"dependencies":{"tape":{"dependencies":{"deep-equal":{"from":"deep-equal@~0.0.0","version":"0.0.0"},"defined":{"from":"defined@~0.0.0","version":"0.0.0"},"jsonify":{"from":"jsonify@~0.0.0","version":"0.0.0"}},"from":"tape@~0.2.2","version":"0.2.2"}},"from":"zlib-browserify@^0.0.3","version":"0.0.3"}},"from":"gzip-size@^0.1.0","version":"0.1.1"},"pretty-bytes":{"from":"pretty-bytes@^0.1.0","version":"0.1.1"}},"from":"maxmin@0.1.0","version":"0.1.0"},"uglify-js":{"dependencies":{"async":{"from":"async@0.2.10","version":"0.2.10"},"optimist":{"dependencies":{"wordwrap":{"from":"wordwrap@~0.0.2","version":"0.0.2"}},"from":"optimist@0.3.7","version":"0.3.7"},"source-map":{"dependencies":{"amdefine":{"from":"amdefine@>=0.0.4","version":"0.1.0"}},"from":"source-map@~0.1.33","version":"0.1.34"},"uglify-to-browserify":{"from":"uglify-to-browserify@~1.0.0","version":"1.0.2"}},"from":"uglify-js@^2.4.0","version":"2.4.14"}},"from":"grunt-contrib-uglify@~0.5.0","version":"0.5.0"},"grunt-contrib-watch":{"dependencies":{"async":{"from":"async@0.2.10","version":"0.2.10"},"gaze":{"dependencies":{"globule":{"dependencies":{"glob":{"dependencies":{"graceful-fs":{"from":"graceful-fs@~1.2.0","version":"1.2.3"},"inherits":{"from":"inherits@1","version":"1.0.0"}},"from":"glob@~3.1.21","version":"3.1.21"},"lodash":{"from":"lodash@~1.0.1","version":"1.0.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@~0.2.11","version":"0.2.14"}},"from":"globule@~0.1.0","version":"0.1.0"}},"from":"gaze@0.5.1","version":"0.5.1"},"lodash":{"from":"lodash@~2.4.1","version":"2.4.1"},"tiny-lr-fork":{"dependencies":{"debug":{"from":"debug@0.7.4","version":"0.7.4"},"faye-websocket":{"from":"faye-websocket@0.4.4","version":"0.4.4"},"noptify":{"dependencies":{"nopt":{"dependencies":{"abbrev":{"from":"abbrev@1","version":"1.0.5"}},"from":"nopt@2.0.0","version":"2.0.0"}},"from":"noptify@~0.0.3","version":"0.0.3"},"qs":{"from":"qs@0.5.6","version":"0.5.6"}},"from":"tiny-lr-fork@0.0.5","version":"0.0.5"}},"from":"grunt-contrib-watch@~0.6.1","version":"0.6.1"},"grunt-csscomb":{"dependencies":{"csscomb":{"dependencies":{"commander":{"from":"commander@2.0.0","version":"2.0.0"},"gonzales-pe":{"from":"gonzales-pe@2.0.x","version":"2.0.2"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.2.12","version":"0.2.12"},"vow":{"from":"vow@0.4.4","version":"0.4.4"},"vow-fs":{"dependencies":{"glob":{"dependencies":{"inherits":{"from":"inherits@2","version":"2.0.1"}},"from":"glob@3.2.8","version":"3.2.8"},"node-uuid":{"from":"node-uuid@1.4.0","version":"1.4.0"},"vow-queue":{"from":"vow-queue@0.3.1","version":"0.3.1"}},"from":"vow-fs@0.3.2","version":"0.3.2"}},"from":"csscomb@~2.0.0","version":"2.0.5"}},"from":"grunt-csscomb@2.0.1","version":"2.0.1"},"grunt-exec":{"from":"grunt-exec@~0.4.5","version":"0.4.5"},"grunt-html-validation":{"dependencies":{"colors":{"from":"colors@~0.6.0","version":"0.6.2"},"request":{"dependencies":{"aws-sign2":{"from":"aws-sign2@~0.5.0","version":"0.5.0"},"forever-agent":{"from":"forever-agent@~0.5.0","version":"0.5.2"},"form-data":{"dependencies":{"async":{"from":"async@~0.9.0","version":"0.9.0"},"combined-stream":{"dependencies":{"delayed-stream":{"from":"delayed-stream@0.0.5","version":"0.0.5"}},"from":"combined-stream@~0.0.4","version":"0.0.4"}},"from":"form-data@~0.1.0","version":"0.1.3"},"hawk":{"dependencies":{"boom":{"from":"boom@0.4.x","version":"0.4.2"},"cryptiles":{"from":"cryptiles@0.2.x","version":"0.2.2"},"hoek":{"from":"hoek@0.9.x","version":"0.9.1"},"sntp":{"from":"sntp@0.2.x","version":"0.2.4"}},"from":"hawk@~1.0.0","version":"1.0.0"},"http-signature":{"dependencies":{"asn1":{"from":"asn1@0.1.11","version":"0.1.11"},"assert-plus":{"from":"assert-plus@0.1.2","version":"0.1.2"},"ctype":{"from":"ctype@0.5.2","version":"0.5.2"}},"from":"http-signature@~0.10.0","version":"0.10.0"},"json-stringify-safe":{"from":"json-stringify-safe@~5.0.0","version":"5.0.0"},"mime":{"from":"mime@~1.2.9","version":"1.2.11"},"node-uuid":{"from":"node-uuid@~1.4.0","version":"1.4.1"},"oauth-sign":{"from":"oauth-sign@~0.3.0","version":"0.3.0"},"qs":{"from":"qs@~0.6.0","version":"0.6.6"},"tough-cookie":{"dependencies":{"punycode":{"from":"punycode@>=0.2.0","version":"1.2.4"}},"from":"tough-cookie@>=0.12.0","version":"0.12.1"},"tunnel-agent":{"from":"tunnel-agent@~0.3.0","version":"0.3.0"}},"from":"request@2.34.0","version":"2.34.0"},"w3cjs":{"dependencies":{"commander":{"from":"commander@2.0.0","version":"2.0.0"},"superagent":{"dependencies":{"cookiejar":{"from":"cookiejar@1.3.0","version":"1.3.0"},"debug":{"from":"debug@~0.7.2","version":"0.7.4"},"emitter-component":{"from":"emitter-component@1.0.0","version":"1.0.0"},"formidable":{"from":"formidable@1.0.14","version":"1.0.14"},"methods":{"from":"methods@0.0.1","version":"0.0.1"},"mime":{"from":"mime@1.2.5","version":"1.2.5"},"qs":{"from":"qs@0.6.5","version":"0.6.5"},"reduce-component":{"from":"reduce-component@1.0.1","version":"1.0.1"}},"from":"superagent@0.15.7","version":"0.15.7"},"superagent-proxy":{"dependencies":{"proxy-agent":{"dependencies":{"http-proxy-agent":{"dependencies":{"agent-base":{"from":"agent-base@~1.0.1","version":"1.0.1"},"debug":{"dependencies":{"ms":{"from":"ms@0.6.2","version":"0.6.2"}},"from":"debug@~1.0.0","version":"1.0.2"},"extend":{"from":"extend@~1.2.1","version":"1.2.1"}},"from":"http-proxy-agent@0","version":"0.2.6"},"https-proxy-agent":{"dependencies":{"agent-base":{"from":"agent-base@~1.0.1","version":"1.0.1"},"debug":{"dependencies":{"ms":{"from":"ms@0.6.2","version":"0.6.2"}},"from":"debug@~1.0.0","version":"1.0.2"},"extend":{"from":"extend@~1.2.1","version":"1.2.1"}},"from":"https-proxy-agent@0","version":"0.3.5"},"lru-cache":{"from":"lru-cache@~2.3.1","version":"2.3.1"},"socks-proxy-agent":{"dependencies":{"agent-base":{"from":"agent-base@~1.0.1","version":"1.0.1"},"extend":{"from":"extend@~1.2.1","version":"1.2.1"},"rainbowsocks":{"dependencies":{"debug":{"dependencies":{"ms":{"from":"ms@0.6.2","version":"0.6.2"}},"from":"debug@~1.0.0","version":"1.0.2"}},"from":"rainbowsocks@~0.1.2","version":"0.1.2"}},"from":"socks-proxy-agent@0","version":"0.1.2"}},"from":"proxy-agent@~0.0.2","version":"0.0.2"}},"from":"superagent-proxy@0.2.0","version":"0.2.0"}},"from":"w3cjs@~0.1.25","version":"0.1.25"}},"from":"grunt-html-validation@~0.1.15","version":"0.1.18"},"grunt-jekyll":{"dependencies":{"tmp":{"from":"tmp@~0.0.23","version":"0.0.23"}},"from":"grunt-jekyll@~0.4.1","version":"0.4.2"},"grunt-jscs-checker":{"dependencies":{"hooker":{"from":"hooker@~0.2.3","version":"0.2.3"},"jscs":{"dependencies":{"colors":{"from":"colors@~0.6.2","version":"0.6.2"},"commander":{"from":"commander@~2.2.0","version":"2.2.0"},"esprima":{"from":"esprima@~1.1.1","version":"1.1.1"},"glob":{"dependencies":{"inherits":{"from":"inherits@2","version":"2.0.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.3","version":"0.3.0"}},"from":"glob@~3.2.9","version":"3.2.11"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@~0.2.14","version":"0.2.14"},"strip-json-comments":{"from":"strip-json-comments@~0.1.1","version":"0.1.3"},"vow":{"from":"vow@~0.3.12","version":"0.3.13"},"vow-fs":{"dependencies":{"node-uuid":{"from":"node-uuid@1.4.0","version":"1.4.0"},"vow-queue":{"from":"vow-queue@0.0.2","version":"0.0.2"}},"from":"vow-fs@~0.2.3","version":"0.2.3"},"xmlbuilder":{"dependencies":{"lodash-node":{"from":"lodash-node@~2.4.1","version":"2.4.1"}},"from":"xmlbuilder@~2.2.1","version":"2.2.1"}},"from":"jscs@~1.4.5","version":"1.4.5"},"lodash.assign":{"dependencies":{"lodash._basecreatecallback":{"dependencies":{"lodash._setbinddata":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash.noop":{"from":"lodash.noop@~2.4.1","version":"2.4.1"}},"from":"lodash._setbinddata@~2.4.1","version":"2.4.1"},"lodash.bind":{"dependencies":{"lodash._createwrapper":{"dependencies":{"lodash._basebind":{"dependencies":{"lodash._basecreate":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash.noop":{"from":"lodash.noop@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreate@~2.4.1","version":"2.4.1"},"lodash.isobject":{"from":"lodash.isobject@~2.4.1","version":"2.4.1"}},"from":"lodash._basebind@~2.4.1","version":"2.4.1"},"lodash._basecreatewrapper":{"dependencies":{"lodash._basecreate":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash.noop":{"from":"lodash.noop@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreate@~2.4.1","version":"2.4.1"},"lodash.isobject":{"from":"lodash.isobject@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreatewrapper@~2.4.1","version":"2.4.1"},"lodash.isfunction":{"from":"lodash.isfunction@~2.4.1","version":"2.4.1"}},"from":"lodash._createwrapper@~2.4.1","version":"2.4.1"},"lodash._slice":{"from":"lodash._slice@~2.4.1","version":"2.4.1"}},"from":"lodash.bind@~2.4.1","version":"2.4.1"},"lodash.identity":{"from":"lodash.identity@~2.4.1","version":"2.4.1"},"lodash.support":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"}},"from":"lodash.support@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreatecallback@~2.4.1","version":"2.4.1"},"lodash._objecttypes":{"from":"lodash._objecttypes@~2.4.1","version":"2.4.1"},"lodash.keys":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash._shimkeys":{"from":"lodash._shimkeys@~2.4.1","version":"2.4.1"},"lodash.isobject":{"from":"lodash.isobject@~2.4.1","version":"2.4.1"}},"from":"lodash.keys@~2.4.1","version":"2.4.1"}},"from":"lodash.assign@~2.4.1","version":"2.4.1"},"vow":{"from":"vow@~0.4.1","version":"0.4.4"}},"from":"grunt-jscs-checker@0.4.4","version":"0.4.4"},"grunt-saucelabs":{"dependencies":{"colors":{"from":"colors@~0.6.2","version":"0.6.2"},"lodash":{"from":"lodash@~2.4.1","version":"2.4.1"},"q":{"from":"q@~1.0.0","version":"1.0.1"},"request":{"dependencies":{"aws-sign2":{"from":"aws-sign2@~0.5.0","version":"0.5.0"},"forever-agent":{"from":"forever-agent@~0.5.0","version":"0.5.2"},"form-data":{"dependencies":{"async":{"from":"async@~0.9.0","version":"0.9.0"},"combined-stream":{"dependencies":{"delayed-stream":{"from":"delayed-stream@0.0.5","version":"0.0.5"}},"from":"combined-stream@~0.0.4","version":"0.0.4"}},"from":"form-data@~0.1.0","version":"0.1.3"},"hawk":{"dependencies":{"boom":{"from":"boom@0.4.x","version":"0.4.2"},"cryptiles":{"from":"cryptiles@0.2.x","version":"0.2.2"},"hoek":{"from":"hoek@0.9.x","version":"0.9.1"},"sntp":{"from":"sntp@0.2.x","version":"0.2.4"}},"from":"hawk@~1.0.0","version":"1.0.0"},"http-signature":{"dependencies":{"asn1":{"from":"asn1@0.1.11","version":"0.1.11"},"assert-plus":{"from":"assert-plus@0.1.2","version":"0.1.2"},"ctype":{"from":"ctype@0.5.2","version":"0.5.2"}},"from":"http-signature@~0.10.0","version":"0.10.0"},"json-stringify-safe":{"from":"json-stringify-safe@~5.0.0","version":"5.0.0"},"lodash.merge":{"dependencies":{"lodash._basecreatecallback":{"dependencies":{"lodash._setbinddata":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash.noop":{"from":"lodash.noop@~2.4.1","version":"2.4.1"}},"from":"lodash._setbinddata@~2.4.1","version":"2.4.1"},"lodash.bind":{"dependencies":{"lodash._createwrapper":{"dependencies":{"lodash._basebind":{"dependencies":{"lodash._basecreate":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash.noop":{"from":"lodash.noop@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreate@~2.4.1","version":"2.4.1"}},"from":"lodash._basebind@~2.4.1","version":"2.4.1"},"lodash._basecreatewrapper":{"dependencies":{"lodash._basecreate":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash.noop":{"from":"lodash.noop@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreate@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreatewrapper@~2.4.1","version":"2.4.1"},"lodash.isfunction":{"from":"lodash.isfunction@~2.4.1","version":"2.4.1"}},"from":"lodash._createwrapper@~2.4.1","version":"2.4.1"}},"from":"lodash.bind@~2.4.1","version":"2.4.1"},"lodash.identity":{"from":"lodash.identity@~2.4.1","version":"2.4.1"},"lodash.support":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"}},"from":"lodash.support@~2.4.1","version":"2.4.1"}},"from":"lodash._basecreatecallback@~2.4.1","version":"2.4.1"},"lodash._basemerge":{"dependencies":{"lodash.foreach":{"from":"lodash.foreach@~2.4.1","version":"2.4.1"},"lodash.forown":{"dependencies":{"lodash._objecttypes":{"from":"lodash._objecttypes@~2.4.1","version":"2.4.1"},"lodash.keys":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash._shimkeys":{"from":"lodash._shimkeys@~2.4.1","version":"2.4.1"}},"from":"lodash.keys@~2.4.1","version":"2.4.1"}},"from":"lodash.forown@~2.4.1","version":"2.4.1"},"lodash.isarray":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"}},"from":"lodash.isarray@~2.4.1","version":"2.4.1"},"lodash.isplainobject":{"dependencies":{"lodash._isnative":{"from":"lodash._isnative@~2.4.1","version":"2.4.1"},"lodash._shimisplainobject":{"dependencies":{"lodash.forin":{"dependencies":{"lodash._objecttypes":{"from":"lodash._objecttypes@~2.4.1","version":"2.4.1"}},"from":"lodash.forin@~2.4.1","version":"2.4.1"},"lodash.isfunction":{"from":"lodash.isfunction@~2.4.1","version":"2.4.1"}},"from":"lodash._shimisplainobject@~2.4.1","version":"2.4.1"}},"from":"lodash.isplainobject@~2.4.1","version":"2.4.1"}},"from":"lodash._basemerge@~2.4.1","version":"2.4.1"},"lodash._getarray":{"dependencies":{"lodash._arraypool":{"from":"lodash._arraypool@~2.4.1","version":"2.4.1"}},"from":"lodash._getarray@~2.4.1","version":"2.4.1"},"lodash._releasearray":{"dependencies":{"lodash._arraypool":{"from":"lodash._arraypool@~2.4.1","version":"2.4.1"},"lodash._maxpoolsize":{"from":"lodash._maxpoolsize@~2.4.1","version":"2.4.1"}},"from":"lodash._releasearray@~2.4.1","version":"2.4.1"},"lodash._slice":{"from":"lodash._slice@~2.4.1","version":"2.4.1"},"lodash.isobject":{"dependencies":{"lodash._objecttypes":{"from":"lodash._objecttypes@~2.4.1","version":"2.4.1"}},"from":"lodash.isobject@~2.4.1","version":"2.4.1"}},"from":"lodash.merge@~2.4.1","version":"2.4.1"},"mime":{"from":"mime@~1.2.9","version":"1.2.11"},"node-uuid":{"from":"node-uuid@~1.4.0","version":"1.4.1"},"oauth-sign":{"from":"oauth-sign@~0.3.0","version":"0.3.0"},"qs":{"from":"qs@~0.6.0","version":"0.6.6"},"tough-cookie":{"dependencies":{"punycode":{"from":"punycode@>=0.2.0","version":"1.2.4"}},"from":"tough-cookie@>=0.12.0","version":"0.12.1"},"tunnel-agent":{"from":"tunnel-agent@~0.4.0","version":"0.4.0"}},"from":"request@2.35.0","version":"2.35.0"},"sauce-tunnel":{"dependencies":{"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@~0.4.0","version":"0.4.0"},"request":{"dependencies":{"aws-sign":{"from":"aws-sign@~0.3.0","version":"0.3.0"},"cookie-jar":{"from":"cookie-jar@~0.3.0","version":"0.3.0"},"forever-agent":{"from":"forever-agent@~0.5.0","version":"0.5.2"},"form-data":{"dependencies":{"async":{"from":"async@~0.2.7","version":"0.2.10"},"combined-stream":{"dependencies":{"delayed-stream":{"from":"delayed-stream@0.0.5","version":"0.0.5"}},"from":"combined-stream@~0.0.4","version":"0.0.4"}},"from":"form-data@0.0.8","version":"0.0.8"},"hawk":{"dependencies":{"boom":{"dependencies":{"hoek":{"from":"hoek@0.9.x","version":"0.9.1"}},"from":"boom@0.4.x","version":"0.4.2"},"cryptiles":{"from":"cryptiles@0.2.x","version":"0.2.2"},"hoek":{"from":"hoek@0.8.x","version":"0.8.5"},"sntp":{"dependencies":{"hoek":{"from":"hoek@0.9.x","version":"0.9.1"}},"from":"sntp@0.2.x","version":"0.2.4"}},"from":"hawk@~0.13.0","version":"0.13.1"},"http-signature":{"dependencies":{"asn1":{"from":"asn1@0.1.11","version":"0.1.11"},"assert-plus":{"from":"assert-plus@0.1.2","version":"0.1.2"},"ctype":{"from":"ctype@0.5.2","version":"0.5.2"}},"from":"http-signature@~0.9.11","version":"0.9.11"},"json-stringify-safe":{"from":"json-stringify-safe@~4.0.0","version":"4.0.0"},"mime":{"from":"mime@~1.2.9","version":"1.2.11"},"node-uuid":{"from":"node-uuid@~1.4.0","version":"1.4.1"},"oauth-sign":{"from":"oauth-sign@~0.3.0","version":"0.3.0"},"qs":{"from":"qs@~0.6.0","version":"0.6.6"},"tunnel-agent":{"from":"tunnel-agent@~0.3.0","version":"0.3.0"}},"from":"request@2.21.0","version":"2.21.0"}},"from":"sauce-tunnel@~2.0.6","version":"2.0.6"},"saucelabs":{"from":"saucelabs@~0.1.1","version":"0.1.1"}},"from":"grunt-saucelabs@~8.0.2","version":"8.0.2"},"grunt-sed":{"dependencies":{"replace":{"dependencies":{"colors":{"from":"colors@0.5.1","version":"0.5.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.2.14","version":"0.2.14"},"nomnom":{"dependencies":{"underscore":{"from":"underscore@~1.4.4","version":"1.4.4"}},"from":"nomnom@1.6.2","version":"1.6.2"}},"from":"replace@~0.2.4","version":"0.2.9"}},"from":"grunt-sed@~0.1.1","version":"0.1.1"},"load-grunt-tasks":{"dependencies":{"findup-sync":{"dependencies":{"glob":{"dependencies":{"inherits":{"from":"inherits@2","version":"2.0.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@0.3","version":"0.3.0"}},"from":"glob@3.2.11","version":"3.2.11"},"lodash":{"from":"lodash@~2.4.1","version":"2.4.1"}},"from":"findup-sync@^0.1.2","version":"0.1.3"},"multimatch":{"dependencies":{"lodash":{"from":"lodash@^2.4.1","version":"2.4.1"},"minimatch":{"dependencies":{"lru-cache":{"from":"lru-cache@2","version":"2.5.0"},"sigmund":{"from":"sigmund@~1.0.0","version":"1.0.0"}},"from":"minimatch@^0.3.0","version":"0.3.0"}},"from":"multimatch@^0.2.0","version":"0.2.0"}},"from":"load-grunt-tasks@0.5.0","version":"0.5.0"},"markdown":{"dependencies":{"nopt":{"dependencies":{"abbrev":{"from":"abbrev@1","version":"1.0.5"}},"from":"nopt@2.1.2","version":"2.1.2"}},"from":"markdown@~0.5.0","version":"0.5.0"},"time-grunt":{"dependencies":{"chalk":{"dependencies":{"ansi-styles":{"from":"ansi-styles@1.0.0","version":"1.0.0"},"has-color":{"from":"has-color@~0.1.0","version":"0.1.7"},"strip-ansi":{"from":"strip-ansi@0.1.1","version":"0.1.1"}},"from":"chalk@~0.4.0","version":"0.4.0"},"date-time":{"from":"date-time@^0.1.0","version":"0.1.1"},"hooker":{"from":"hooker@~0.2.3","version":"0.2.3"},"pretty-ms":{"from":"pretty-ms@0.1.0","version":"0.1.0"},"text-table":{"from":"text-table@^0.2.0","version":"0.2.0"}},"from":"time-grunt@~0.3.1","version":"0.3.2"}},"name":"bootstrap","version":"3.1.1"}
\ No newline at end of file
diff --git a/test-infra/npm-shrinkwrap.json b/test-infra/npm-shrinkwrap.json
new file mode 100644 (file)
index 0000000..bc60be2
--- /dev/null
@@ -0,0 +1,3587 @@
+{
+  "name": "bootstrap",
+  "version": "3.1.1",
+  "npm-shrinkwrap-version": "3.1.3",
+  "dependencies": {
+    "btoa": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/btoa/-/btoa-1.1.2.tgz"
+    },
+    "glob": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.2.tgz",
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+        },
+        "minimatch": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+          "dependencies": {
+            "lru-cache": {
+              "version": "2.5.0",
+              "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+            },
+            "sigmund": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+            }
+          }
+        },
+        "once": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/once/-/once-1.3.0.tgz"
+        }
+      }
+    },
+    "grunt": {
+      "version": "0.4.5",
+      "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
+      "dependencies": {
+        "async": {
+          "version": "0.1.22",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz"
+        },
+        "coffee-script": {
+          "version": "1.3.3",
+          "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz"
+        },
+        "colors": {
+          "version": "0.6.2",
+          "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz"
+        },
+        "dateformat": {
+          "version": "1.0.2-1.2.3",
+          "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz"
+        },
+        "eventemitter2": {
+          "version": "0.4.13",
+          "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz"
+        },
+        "exit": {
+          "version": "0.1.2",
+          "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
+        },
+        "findup-sync": {
+          "version": "0.1.3",
+          "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
+          "dependencies": {
+            "glob": {
+              "version": "3.2.11",
+              "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+              "dependencies": {
+                "inherits": {
+                  "version": "2.0.1",
+                  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                },
+                "minimatch": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+                  "dependencies": {
+                    "lru-cache": {
+                      "version": "2.5.0",
+                      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                    },
+                    "sigmund": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "lodash": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+            }
+          }
+        },
+        "getobject": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz"
+        },
+        "glob": {
+          "version": "3.1.21",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+          "dependencies": {
+            "graceful-fs": {
+              "version": "1.2.3",
+              "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz"
+            },
+            "inherits": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz"
+            }
+          }
+        },
+        "grunt-legacy-log": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.1.tgz",
+          "dependencies": {
+            "lodash": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+            },
+            "underscore.string": {
+              "version": "2.3.3",
+              "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz"
+            }
+          }
+        },
+        "grunt-legacy-util": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
+          "dependencies": {
+            "async": {
+              "version": "0.1.22",
+              "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz"
+            },
+            "lodash": {
+              "version": "0.9.2",
+              "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz"
+            },
+            "underscore.string": {
+              "version": "2.2.1",
+              "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz"
+            }
+          }
+        },
+        "hooker": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"
+        },
+        "iconv-lite": {
+          "version": "0.2.11",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz"
+        },
+        "js-yaml": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
+          "dependencies": {
+            "argparse": {
+              "version": "0.1.15",
+              "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz",
+              "dependencies": {
+                "underscore": {
+                  "version": "1.4.4",
+                  "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"
+                },
+                "underscore.string": {
+                  "version": "2.3.3",
+                  "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz"
+                }
+              }
+            },
+            "esprima": {
+              "version": "1.0.4",
+              "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz"
+            }
+          }
+        },
+        "lodash": {
+          "version": "0.9.2",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz"
+        },
+        "minimatch": {
+          "version": "0.2.14",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+          "dependencies": {
+            "lru-cache": {
+              "version": "2.5.0",
+              "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+            },
+            "sigmund": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+            }
+          }
+        },
+        "nopt": {
+          "version": "1.0.10",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+          "dependencies": {
+            "abbrev": {
+              "version": "1.0.5",
+              "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
+            }
+          }
+        },
+        "rimraf": {
+          "version": "2.2.8",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
+        },
+        "underscore.string": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz"
+        },
+        "which": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz"
+        }
+      }
+    },
+    "grunt-autoprefixer": {
+      "version": "0.7.5",
+      "resolved": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-0.7.5.tgz",
+      "dependencies": {
+        "autoprefixer": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-1.2.0.tgz",
+          "dependencies": {
+            "caniuse-db": {
+              "version": "1.0.20140618",
+              "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.20140618.tgz"
+            },
+            "fs-extra": {
+              "version": "0.9.1",
+              "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.9.1.tgz",
+              "dependencies": {
+                "jsonfile": {
+                  "version": "1.1.1",
+                  "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz"
+                },
+                "mkdirp": {
+                  "version": "0.5.0",
+                  "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz",
+                  "dependencies": {
+                    "minimist": {
+                      "version": "0.0.8",
+                      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+                    }
+                  }
+                },
+                "ncp": {
+                  "version": "0.5.1",
+                  "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.5.1.tgz"
+                },
+                "rimraf": {
+                  "version": "2.2.8",
+                  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
+                }
+              }
+            },
+            "postcss": {
+              "version": "0.3.5",
+              "resolved": "https://registry.npmjs.org/postcss/-/postcss-0.3.5.tgz",
+              "dependencies": {
+                "base64-js": {
+                  "version": "0.0.7",
+                  "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.7.tgz"
+                },
+                "source-map": {
+                  "version": "0.1.34",
+                  "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+                  "dependencies": {
+                    "amdefine": {
+                      "version": "0.1.0",
+                      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
+        "chalk": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+          "dependencies": {
+            "ansi-styles": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+            },
+            "has-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+            },
+            "strip-ansi": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+            }
+          }
+        },
+        "diff": {
+          "version": "1.0.8",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz"
+        }
+      }
+    },
+    "grunt-banner": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/grunt-banner/-/grunt-banner-0.2.3.tgz"
+    },
+    "grunt-contrib-clean": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz",
+      "dependencies": {
+        "rimraf": {
+          "version": "2.2.8",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
+        }
+      }
+    },
+    "grunt-contrib-concat": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.4.0.tgz",
+      "dependencies": {
+        "chalk": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+          "dependencies": {
+            "ansi-styles": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+            },
+            "has-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+            },
+            "strip-ansi": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-connect": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.8.0.tgz",
+      "dependencies": {
+        "async": {
+          "version": "0.9.0",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz"
+        },
+        "connect": {
+          "version": "2.19.6",
+          "resolved": "https://registry.npmjs.org/connect/-/connect-2.19.6.tgz",
+          "dependencies": {
+            "basic-auth-connect": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz"
+            },
+            "body-parser": {
+              "version": "1.3.1",
+              "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.3.1.tgz",
+              "dependencies": {
+                "raw-body": {
+                  "version": "1.1.6",
+                  "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.6.tgz",
+                  "dependencies": {
+                    "bytes": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "bytes": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz"
+            },
+            "compression": {
+              "version": "1.0.7",
+              "resolved": "https://registry.npmjs.org/compression/-/compression-1.0.7.tgz",
+              "dependencies": {
+                "accepts": {
+                  "version": "1.0.3",
+                  "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.0.3.tgz",
+                  "dependencies": {
+                    "mime": {
+                      "version": "1.2.11",
+                      "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+                    },
+                    "negotiator": {
+                      "version": "0.4.6",
+                      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.6.tgz"
+                    }
+                  }
+                },
+                "compressible": {
+                  "version": "1.1.0",
+                  "resolved": "https://registry.npmjs.org/compressible/-/compressible-1.1.0.tgz"
+                },
+                "vary": {
+                  "version": "0.1.0",
+                  "resolved": "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz"
+                }
+              }
+            },
+            "connect-timeout": {
+              "version": "1.1.0",
+              "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.1.0.tgz",
+              "dependencies": {
+                "debug": {
+                  "version": "0.8.1",
+                  "resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz"
+                }
+              }
+            },
+            "cookie": {
+              "version": "0.1.2",
+              "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz"
+            },
+            "cookie-parser": {
+              "version": "1.1.0",
+              "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.1.0.tgz"
+            },
+            "cookie-signature": {
+              "version": "1.0.3",
+              "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz"
+            },
+            "csurf": {
+              "version": "1.2.1",
+              "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.2.1.tgz",
+              "dependencies": {
+                "csrf-tokens": {
+                  "version": "1.0.4",
+                  "resolved": "https://registry.npmjs.org/csrf-tokens/-/csrf-tokens-1.0.4.tgz",
+                  "dependencies": {
+                    "rndm": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.0.0.tgz"
+                    },
+                    "scmp": {
+                      "version": "0.0.3",
+                      "resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz"
+                    },
+                    "uid2": {
+                      "version": "0.0.3",
+                      "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "debug": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.2.tgz",
+              "dependencies": {
+                "ms": {
+                  "version": "0.6.2",
+                  "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz"
+                }
+              }
+            },
+            "errorhandler": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.0.2.tgz"
+            },
+            "escape-html": {
+              "version": "1.0.1",
+              "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz"
+            },
+            "express-session": {
+              "version": "1.2.1",
+              "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.2.1.tgz",
+              "dependencies": {
+                "buffer-crc32": {
+                  "version": "0.2.1",
+                  "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz"
+                },
+                "debug": {
+                  "version": "0.8.1",
+                  "resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz"
+                },
+                "uid2": {
+                  "version": "0.0.3",
+                  "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz"
+                },
+                "utils-merge": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
+                }
+              }
+            },
+            "fresh": {
+              "version": "0.2.2",
+              "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz"
+            },
+            "method-override": {
+              "version": "2.0.2",
+              "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.0.2.tgz",
+              "dependencies": {
+                "methods": {
+                  "version": "1.0.1",
+                  "resolved": "https://registry.npmjs.org/methods/-/methods-1.0.1.tgz"
+                },
+                "vary": {
+                  "version": "0.1.0",
+                  "resolved": "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz"
+                }
+              }
+            },
+            "morgan": {
+              "version": "1.1.1",
+              "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.1.1.tgz"
+            },
+            "multiparty": {
+              "version": "3.2.8",
+              "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.2.8.tgz",
+              "dependencies": {
+                "readable-stream": {
+                  "version": "1.1.13-1",
+                  "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz",
+                  "dependencies": {
+                    "core-util-is": {
+                      "version": "1.0.1",
+                      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+                    },
+                    "inherits": {
+                      "version": "2.0.1",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                    },
+                    "isarray": {
+                      "version": "0.0.1",
+                      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+                    },
+                    "string_decoder": {
+                      "version": "0.10.25-1",
+                      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                    }
+                  }
+                },
+                "stream-counter": {
+                  "version": "0.2.0",
+                  "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz"
+                }
+              }
+            },
+            "on-headers": {
+              "version": "0.0.0",
+              "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-0.0.0.tgz"
+            },
+            "parseurl": {
+              "version": "1.0.1",
+              "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz"
+            },
+            "pause": {
+              "version": "0.0.1",
+              "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz"
+            },
+            "qs": {
+              "version": "0.6.6",
+              "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+            },
+            "response-time": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.0.0.tgz"
+            },
+            "serve-favicon": {
+              "version": "2.0.1",
+              "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.0.1.tgz"
+            },
+            "serve-index": {
+              "version": "1.1.1",
+              "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.1.1.tgz",
+              "dependencies": {
+                "accepts": {
+                  "version": "1.0.3",
+                  "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.0.3.tgz",
+                  "dependencies": {
+                    "mime": {
+                      "version": "1.2.11",
+                      "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+                    },
+                    "negotiator": {
+                      "version": "0.4.6",
+                      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.6.tgz"
+                    }
+                  }
+                },
+                "batch": {
+                  "version": "0.5.0",
+                  "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz"
+                }
+              }
+            },
+            "serve-static": {
+              "version": "1.2.3",
+              "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.2.3.tgz",
+              "dependencies": {
+                "send": {
+                  "version": "0.4.3",
+                  "resolved": "https://registry.npmjs.org/send/-/send-0.4.3.tgz",
+                  "dependencies": {
+                    "finished": {
+                      "version": "1.2.2",
+                      "resolved": "https://registry.npmjs.org/finished/-/finished-1.2.2.tgz",
+                      "dependencies": {
+                        "ee-first": {
+                          "version": "1.0.3",
+                          "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz"
+                        }
+                      }
+                    },
+                    "mime": {
+                      "version": "1.2.11",
+                      "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+                    },
+                    "range-parser": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "type-is": {
+              "version": "1.2.1",
+              "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.2.1.tgz",
+              "dependencies": {
+                "mime-types": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.0.tgz"
+                }
+              }
+            },
+            "vhost": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/vhost/-/vhost-1.0.0.tgz"
+            }
+          }
+        },
+        "connect-livereload": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.4.0.tgz"
+        },
+        "open": {
+          "version": "0.0.5",
+          "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz"
+        },
+        "portscanner": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-0.2.3.tgz",
+          "dependencies": {
+            "async": {
+              "version": "0.1.15",
+              "resolved": "https://registry.npmjs.org/async/-/async-0.1.15.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-copy": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz"
+    },
+    "grunt-contrib-csslint": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-csslint/-/grunt-contrib-csslint-0.2.0.tgz",
+      "dependencies": {
+        "csslint": {
+          "version": "0.10.0",
+          "resolved": "https://registry.npmjs.org/csslint/-/csslint-0.10.0.tgz",
+          "dependencies": {
+            "parserlib": {
+              "version": "0.2.5",
+              "resolved": "https://registry.npmjs.org/parserlib/-/parserlib-0.2.5.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-cssmin": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.10.0.tgz",
+      "dependencies": {
+        "chalk": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+          "dependencies": {
+            "ansi-styles": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+            },
+            "has-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+            },
+            "strip-ansi": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+            }
+          }
+        },
+        "clean-css": {
+          "version": "2.2.2",
+          "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.2.2.tgz",
+          "dependencies": {
+            "commander": {
+              "version": "2.2.0",
+              "resolved": "https://registry.npmjs.org/commander/-/commander-2.2.0.tgz"
+            }
+          }
+        },
+        "maxmin": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-0.2.0.tgz",
+          "dependencies": {
+            "gzip-size": {
+              "version": "0.2.0",
+              "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-0.2.0.tgz",
+              "dependencies": {
+                "browserify-zlib": {
+                  "version": "0.1.4",
+                  "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz",
+                  "dependencies": {
+                    "pako": {
+                      "version": "0.2.3",
+                      "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.3.tgz"
+                    }
+                  }
+                },
+                "concat-stream": {
+                  "version": "1.4.6",
+                  "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz",
+                  "dependencies": {
+                    "inherits": {
+                      "version": "2.0.1",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                    },
+                    "readable-stream": {
+                      "version": "1.1.13-1",
+                      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz",
+                      "dependencies": {
+                        "core-util-is": {
+                          "version": "1.0.1",
+                          "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+                        },
+                        "isarray": {
+                          "version": "0.0.1",
+                          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+                        },
+                        "string_decoder": {
+                          "version": "0.10.25-1",
+                          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                        }
+                      }
+                    },
+                    "typedarray": {
+                      "version": "0.0.6",
+                      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "pretty-bytes": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.1.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-jade": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-jade/-/grunt-contrib-jade-0.12.0.tgz",
+      "dependencies": {
+        "chalk": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+          "dependencies": {
+            "ansi-styles": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+            },
+            "has-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+            },
+            "strip-ansi": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+            }
+          }
+        },
+        "grunt-lib-contrib": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/grunt-lib-contrib/-/grunt-lib-contrib-0.6.1.tgz",
+          "dependencies": {
+            "zlib-browserify": {
+              "version": "0.0.1",
+              "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz"
+            }
+          }
+        },
+        "jade": {
+          "version": "1.3.1",
+          "resolved": "https://registry.npmjs.org/jade/-/jade-1.3.1.tgz",
+          "dependencies": {
+            "character-parser": {
+              "version": "1.2.0",
+              "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-1.2.0.tgz"
+            },
+            "commander": {
+              "version": "2.1.0",
+              "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz"
+            },
+            "constantinople": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-2.0.0.tgz",
+              "dependencies": {
+                "uglify-js": {
+                  "version": "2.4.14",
+                  "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.14.tgz",
+                  "dependencies": {
+                    "async": {
+                      "version": "0.2.10",
+                      "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
+                    },
+                    "optimist": {
+                      "version": "0.3.7",
+                      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+                      "dependencies": {
+                        "wordwrap": {
+                          "version": "0.0.2",
+                          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+                        }
+                      }
+                    },
+                    "source-map": {
+                      "version": "0.1.34",
+                      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+                      "dependencies": {
+                        "amdefine": {
+                          "version": "0.1.0",
+                          "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
+                        }
+                      }
+                    },
+                    "uglify-to-browserify": {
+                      "version": "1.0.2",
+                      "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "mkdirp": {
+              "version": "0.3.5",
+              "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"
+            },
+            "monocle": {
+              "version": "1.1.51",
+              "resolved": "https://registry.npmjs.org/monocle/-/monocle-1.1.51.tgz",
+              "dependencies": {
+                "readdirp": {
+                  "version": "0.2.5",
+                  "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-0.2.5.tgz",
+                  "dependencies": {
+                    "minimatch": {
+                      "version": "0.3.0",
+                      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+                      "dependencies": {
+                        "lru-cache": {
+                          "version": "2.5.0",
+                          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                        },
+                        "sigmund": {
+                          "version": "1.0.0",
+                          "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "transformers": {
+              "version": "2.1.0",
+              "resolved": "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz",
+              "dependencies": {
+                "css": {
+                  "version": "1.0.8",
+                  "resolved": "https://registry.npmjs.org/css/-/css-1.0.8.tgz",
+                  "dependencies": {
+                    "css-parse": {
+                      "version": "1.0.4",
+                      "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz"
+                    },
+                    "css-stringify": {
+                      "version": "1.0.5",
+                      "resolved": "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz"
+                    }
+                  }
+                },
+                "promise": {
+                  "version": "2.0.0",
+                  "resolved": "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz",
+                  "dependencies": {
+                    "is-promise": {
+                      "version": "1.0.1",
+                      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz"
+                    }
+                  }
+                },
+                "uglify-js": {
+                  "version": "2.2.5",
+                  "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz",
+                  "dependencies": {
+                    "optimist": {
+                      "version": "0.3.7",
+                      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+                      "dependencies": {
+                        "wordwrap": {
+                          "version": "0.0.2",
+                          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+                        }
+                      }
+                    },
+                    "source-map": {
+                      "version": "0.1.34",
+                      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+                      "dependencies": {
+                        "amdefine": {
+                          "version": "0.1.0",
+                          "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "with": {
+              "version": "3.0.0",
+              "resolved": "https://registry.npmjs.org/with/-/with-3.0.0.tgz",
+              "dependencies": {
+                "uglify-js": {
+                  "version": "2.4.14",
+                  "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.14.tgz",
+                  "dependencies": {
+                    "async": {
+                      "version": "0.2.10",
+                      "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
+                    },
+                    "optimist": {
+                      "version": "0.3.7",
+                      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+                      "dependencies": {
+                        "wordwrap": {
+                          "version": "0.0.2",
+                          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+                        }
+                      }
+                    },
+                    "source-map": {
+                      "version": "0.1.34",
+                      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+                      "dependencies": {
+                        "amdefine": {
+                          "version": "0.1.0",
+                          "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
+                        }
+                      }
+                    },
+                    "uglify-to-browserify": {
+                      "version": "1.0.2",
+                      "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-jshint": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz",
+      "dependencies": {
+        "hooker": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"
+        },
+        "jshint": {
+          "version": "2.5.1",
+          "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.5.1.tgz",
+          "dependencies": {
+            "cli": {
+              "version": "0.6.3",
+              "resolved": "https://registry.npmjs.org/cli/-/cli-0.6.3.tgz",
+              "dependencies": {
+                "glob": {
+                  "version": "3.2.11",
+                  "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+                  "dependencies": {
+                    "inherits": {
+                      "version": "2.0.1",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                    },
+                    "minimatch": {
+                      "version": "0.3.0",
+                      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+                      "dependencies": {
+                        "lru-cache": {
+                          "version": "2.5.0",
+                          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                        },
+                        "sigmund": {
+                          "version": "1.0.0",
+                          "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "console-browserify": {
+              "version": "1.1.0",
+              "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+              "dependencies": {
+                "date-now": {
+                  "version": "0.1.4",
+                  "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz"
+                }
+              }
+            },
+            "exit": {
+              "version": "0.1.2",
+              "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz"
+            },
+            "htmlparser2": {
+              "version": "3.7.2",
+              "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.2.tgz",
+              "dependencies": {
+                "domelementtype": {
+                  "version": "1.1.1",
+                  "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.1.tgz"
+                },
+                "domhandler": {
+                  "version": "2.2.0",
+                  "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.0.tgz"
+                },
+                "domutils": {
+                  "version": "1.5.0",
+                  "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.0.tgz"
+                },
+                "entities": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz"
+                },
+                "readable-stream": {
+                  "version": "1.1.13-1",
+                  "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz",
+                  "dependencies": {
+                    "core-util-is": {
+                      "version": "1.0.1",
+                      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+                    },
+                    "inherits": {
+                      "version": "2.0.1",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                    },
+                    "isarray": {
+                      "version": "0.0.1",
+                      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+                    },
+                    "string_decoder": {
+                      "version": "0.10.25-1",
+                      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "minimatch": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+              "dependencies": {
+                "lru-cache": {
+                  "version": "2.5.0",
+                  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                },
+                "sigmund": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                }
+              }
+            },
+            "shelljs": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz"
+            },
+            "strip-json-comments": {
+              "version": "0.1.3",
+              "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz"
+            },
+            "underscore": {
+              "version": "1.6.0",
+              "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-less": {
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-0.11.2.tgz",
+      "dependencies": {
+        "async": {
+          "version": "0.2.10",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
+        },
+        "chalk": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+          "dependencies": {
+            "ansi-styles": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+            },
+            "has-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+            },
+            "strip-ansi": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+            }
+          }
+        },
+        "less": {
+          "version": "1.7.0",
+          "resolved": "https://registry.npmjs.org/less/-/less-1.7.0.tgz",
+          "dependencies": {
+            "clean-css": {
+              "version": "2.1.8",
+              "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.1.8.tgz",
+              "dependencies": {
+                "commander": {
+                  "version": "2.1.0",
+                  "resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz"
+                }
+              }
+            },
+            "mime": {
+              "version": "1.2.11",
+              "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+            },
+            "mkdirp": {
+              "version": "0.3.5",
+              "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"
+            },
+            "request": {
+              "version": "2.36.0",
+              "resolved": "https://registry.npmjs.org/request/-/request-2.36.0.tgz",
+              "dependencies": {
+                "aws-sign2": {
+                  "version": "0.5.0",
+                  "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
+                },
+                "forever-agent": {
+                  "version": "0.5.2",
+                  "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
+                },
+                "form-data": {
+                  "version": "0.1.3",
+                  "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz",
+                  "dependencies": {
+                    "async": {
+                      "version": "0.9.0",
+                      "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz"
+                    },
+                    "combined-stream": {
+                      "version": "0.0.4",
+                      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz",
+                      "dependencies": {
+                        "delayed-stream": {
+                          "version": "0.0.5",
+                          "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
+                        }
+                      }
+                    }
+                  }
+                },
+                "hawk": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
+                  "dependencies": {
+                    "boom": {
+                      "version": "0.4.2",
+                      "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
+                    },
+                    "cryptiles": {
+                      "version": "0.2.2",
+                      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
+                    },
+                    "hoek": {
+                      "version": "0.9.1",
+                      "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
+                    },
+                    "sntp": {
+                      "version": "0.2.4",
+                      "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
+                    }
+                  }
+                },
+                "http-signature": {
+                  "version": "0.10.0",
+                  "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz",
+                  "dependencies": {
+                    "asn1": {
+                      "version": "0.1.11",
+                      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
+                    },
+                    "assert-plus": {
+                      "version": "0.1.2",
+                      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"
+                    },
+                    "ctype": {
+                      "version": "0.5.2",
+                      "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"
+                    }
+                  }
+                },
+                "json-stringify-safe": {
+                  "version": "5.0.0",
+                  "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
+                },
+                "node-uuid": {
+                  "version": "1.4.1",
+                  "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"
+                },
+                "oauth-sign": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"
+                },
+                "qs": {
+                  "version": "0.6.6",
+                  "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+                },
+                "tough-cookie": {
+                  "version": "0.12.1",
+                  "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz",
+                  "dependencies": {
+                    "punycode": {
+                      "version": "1.2.4",
+                      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz"
+                    }
+                  }
+                },
+                "tunnel-agent": {
+                  "version": "0.4.0",
+                  "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz"
+                }
+              }
+            },
+            "source-map": {
+              "version": "0.1.34",
+              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+              "dependencies": {
+                "amdefine": {
+                  "version": "0.1.0",
+                  "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
+                }
+              }
+            }
+          }
+        },
+        "lodash": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+        },
+        "maxmin": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz",
+          "dependencies": {
+            "gzip-size": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz",
+              "dependencies": {
+                "concat-stream": {
+                  "version": "1.4.6",
+                  "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz",
+                  "dependencies": {
+                    "inherits": {
+                      "version": "2.0.1",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                    },
+                    "readable-stream": {
+                      "version": "1.1.13-1",
+                      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz",
+                      "dependencies": {
+                        "core-util-is": {
+                          "version": "1.0.1",
+                          "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+                        },
+                        "isarray": {
+                          "version": "0.0.1",
+                          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+                        },
+                        "string_decoder": {
+                          "version": "0.10.25-1",
+                          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                        }
+                      }
+                    },
+                    "typedarray": {
+                      "version": "0.0.6",
+                      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+                    }
+                  }
+                },
+                "zlib-browserify": {
+                  "version": "0.0.3",
+                  "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz",
+                  "dependencies": {
+                    "tape": {
+                      "version": "0.2.2",
+                      "resolved": "https://registry.npmjs.org/tape/-/tape-0.2.2.tgz",
+                      "dependencies": {
+                        "deep-equal": {
+                          "version": "0.0.0",
+                          "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz"
+                        },
+                        "defined": {
+                          "version": "0.0.0",
+                          "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz"
+                        },
+                        "jsonify": {
+                          "version": "0.0.0",
+                          "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "pretty-bytes": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.1.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-qunit": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-0.5.1.tgz",
+      "dependencies": {
+        "grunt-lib-phantomjs": {
+          "version": "0.6.0",
+          "resolved": "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-0.6.0.tgz",
+          "dependencies": {
+            "eventemitter2": {
+              "version": "0.4.13",
+              "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.13.tgz"
+            },
+            "phantomjs": {
+              "version": "1.9.7-9",
+              "resolved": "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-9.tgz",
+              "dependencies": {
+                "adm-zip": {
+                  "version": "0.2.1",
+                  "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz"
+                },
+                "kew": {
+                  "version": "0.1.7",
+                  "resolved": "https://registry.npmjs.org/kew/-/kew-0.1.7.tgz"
+                },
+                "mkdirp": {
+                  "version": "0.3.5",
+                  "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"
+                },
+                "ncp": {
+                  "version": "0.4.2",
+                  "resolved": "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz"
+                },
+                "npmconf": {
+                  "version": "0.0.24",
+                  "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz",
+                  "dependencies": {
+                    "config-chain": {
+                      "version": "1.1.8",
+                      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz",
+                      "dependencies": {
+                        "proto-list": {
+                          "version": "1.2.3",
+                          "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.3.tgz"
+                        }
+                      }
+                    },
+                    "inherits": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz"
+                    },
+                    "ini": {
+                      "version": "1.1.0",
+                      "resolved": "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz"
+                    },
+                    "nopt": {
+                      "version": "2.2.1",
+                      "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz",
+                      "dependencies": {
+                        "abbrev": {
+                          "version": "1.0.5",
+                          "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
+                        }
+                      }
+                    },
+                    "once": {
+                      "version": "1.1.1",
+                      "resolved": "https://registry.npmjs.org/once/-/once-1.1.1.tgz"
+                    },
+                    "osenv": {
+                      "version": "0.0.3",
+                      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz"
+                    },
+                    "semver": {
+                      "version": "1.1.4",
+                      "resolved": "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz"
+                    }
+                  }
+                },
+                "request": {
+                  "version": "2.36.0",
+                  "resolved": "https://registry.npmjs.org/request/-/request-2.36.0.tgz",
+                  "dependencies": {
+                    "aws-sign2": {
+                      "version": "0.5.0",
+                      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
+                    },
+                    "forever-agent": {
+                      "version": "0.5.2",
+                      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
+                    },
+                    "form-data": {
+                      "version": "0.1.3",
+                      "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz",
+                      "dependencies": {
+                        "async": {
+                          "version": "0.9.0",
+                          "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz"
+                        },
+                        "combined-stream": {
+                          "version": "0.0.4",
+                          "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz",
+                          "dependencies": {
+                            "delayed-stream": {
+                              "version": "0.0.5",
+                              "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "hawk": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
+                      "dependencies": {
+                        "boom": {
+                          "version": "0.4.2",
+                          "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
+                        },
+                        "cryptiles": {
+                          "version": "0.2.2",
+                          "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
+                        },
+                        "hoek": {
+                          "version": "0.9.1",
+                          "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
+                        },
+                        "sntp": {
+                          "version": "0.2.4",
+                          "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
+                        }
+                      }
+                    },
+                    "http-signature": {
+                      "version": "0.10.0",
+                      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz",
+                      "dependencies": {
+                        "asn1": {
+                          "version": "0.1.11",
+                          "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
+                        },
+                        "assert-plus": {
+                          "version": "0.1.2",
+                          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"
+                        },
+                        "ctype": {
+                          "version": "0.5.2",
+                          "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"
+                        }
+                      }
+                    },
+                    "json-stringify-safe": {
+                      "version": "5.0.0",
+                      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
+                    },
+                    "mime": {
+                      "version": "1.2.11",
+                      "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+                    },
+                    "node-uuid": {
+                      "version": "1.4.1",
+                      "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"
+                    },
+                    "oauth-sign": {
+                      "version": "0.3.0",
+                      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"
+                    },
+                    "qs": {
+                      "version": "0.6.6",
+                      "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+                    },
+                    "tough-cookie": {
+                      "version": "0.12.1",
+                      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz",
+                      "dependencies": {
+                        "punycode": {
+                          "version": "1.2.4",
+                          "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz"
+                        }
+                      }
+                    },
+                    "tunnel-agent": {
+                      "version": "0.4.0",
+                      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz"
+                    }
+                  }
+                },
+                "rimraf": {
+                  "version": "2.2.8",
+                  "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
+                },
+                "which": {
+                  "version": "1.0.5",
+                  "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz"
+                }
+              }
+            },
+            "semver": {
+              "version": "1.0.14",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-1.0.14.tgz"
+            },
+            "temporary": {
+              "version": "0.0.8",
+              "resolved": "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz",
+              "dependencies": {
+                "package": {
+                  "version": "1.0.1",
+                  "resolved": "https://registry.npmjs.org/package/-/package-1.0.1.tgz"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-uglify": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.0.tgz",
+      "dependencies": {
+        "chalk": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+          "dependencies": {
+            "ansi-styles": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+            },
+            "has-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+            },
+            "strip-ansi": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+            }
+          }
+        },
+        "lodash": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+        },
+        "maxmin": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz",
+          "dependencies": {
+            "gzip-size": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz",
+              "dependencies": {
+                "concat-stream": {
+                  "version": "1.4.6",
+                  "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.6.tgz",
+                  "dependencies": {
+                    "inherits": {
+                      "version": "2.0.1",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                    },
+                    "readable-stream": {
+                      "version": "1.1.13-1",
+                      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13-1.tgz",
+                      "dependencies": {
+                        "core-util-is": {
+                          "version": "1.0.1",
+                          "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+                        },
+                        "isarray": {
+                          "version": "0.0.1",
+                          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+                        },
+                        "string_decoder": {
+                          "version": "0.10.25-1",
+                          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                        }
+                      }
+                    },
+                    "typedarray": {
+                      "version": "0.0.6",
+                      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+                    }
+                  }
+                },
+                "zlib-browserify": {
+                  "version": "0.0.3",
+                  "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz",
+                  "dependencies": {
+                    "tape": {
+                      "version": "0.2.2",
+                      "resolved": "https://registry.npmjs.org/tape/-/tape-0.2.2.tgz",
+                      "dependencies": {
+                        "deep-equal": {
+                          "version": "0.0.0",
+                          "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz"
+                        },
+                        "defined": {
+                          "version": "0.0.0",
+                          "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz"
+                        },
+                        "jsonify": {
+                          "version": "0.0.0",
+                          "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            },
+            "pretty-bytes": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.1.tgz"
+            }
+          }
+        },
+        "uglify-js": {
+          "version": "2.4.14",
+          "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.14.tgz",
+          "dependencies": {
+            "async": {
+              "version": "0.2.10",
+              "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
+            },
+            "optimist": {
+              "version": "0.3.7",
+              "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
+              "dependencies": {
+                "wordwrap": {
+                  "version": "0.0.2",
+                  "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+                }
+              }
+            },
+            "source-map": {
+              "version": "0.1.34",
+              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz",
+              "dependencies": {
+                "amdefine": {
+                  "version": "0.1.0",
+                  "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.1.0.tgz"
+                }
+              }
+            },
+            "uglify-to-browserify": {
+              "version": "1.0.2",
+              "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-contrib-watch": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz",
+      "dependencies": {
+        "async": {
+          "version": "0.2.10",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
+        },
+        "gaze": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz",
+          "dependencies": {
+            "globule": {
+              "version": "0.1.0",
+              "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
+              "dependencies": {
+                "glob": {
+                  "version": "3.1.21",
+                  "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+                  "dependencies": {
+                    "graceful-fs": {
+                      "version": "1.2.3",
+                      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz"
+                    },
+                    "inherits": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz"
+                    }
+                  }
+                },
+                "lodash": {
+                  "version": "1.0.1",
+                  "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.1.tgz"
+                },
+                "minimatch": {
+                  "version": "0.2.14",
+                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+                  "dependencies": {
+                    "lru-cache": {
+                      "version": "2.5.0",
+                      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                    },
+                    "sigmund": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
+        "lodash": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+        },
+        "tiny-lr-fork": {
+          "version": "0.0.5",
+          "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz",
+          "dependencies": {
+            "debug": {
+              "version": "0.7.4",
+              "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz"
+            },
+            "faye-websocket": {
+              "version": "0.4.4",
+              "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz"
+            },
+            "noptify": {
+              "version": "0.0.3",
+              "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz",
+              "dependencies": {
+                "nopt": {
+                  "version": "2.0.0",
+                  "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz",
+                  "dependencies": {
+                    "abbrev": {
+                      "version": "1.0.5",
+                      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "qs": {
+              "version": "0.5.6",
+              "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz"
+            }
+          }
+        }
+      }
+    },
+    "grunt-csscomb": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/grunt-csscomb/-/grunt-csscomb-2.0.1.tgz",
+      "dependencies": {
+        "csscomb": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/csscomb/-/csscomb-2.0.5.tgz",
+          "dependencies": {
+            "commander": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz"
+            },
+            "gonzales-pe": {
+              "version": "2.0.2",
+              "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-2.0.2.tgz"
+            },
+            "minimatch": {
+              "version": "0.2.12",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.12.tgz",
+              "dependencies": {
+                "lru-cache": {
+                  "version": "2.5.0",
+                  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                },
+                "sigmund": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                }
+              }
+            },
+            "vow": {
+              "version": "0.4.4",
+              "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz"
+            },
+            "vow-fs": {
+              "version": "0.3.2",
+              "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.2.tgz",
+              "dependencies": {
+                "glob": {
+                  "version": "3.2.8",
+                  "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.8.tgz",
+                  "dependencies": {
+                    "inherits": {
+                      "version": "2.0.1",
+                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                    }
+                  }
+                },
+                "node-uuid": {
+                  "version": "1.4.0",
+                  "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz"
+                },
+                "vow-queue": {
+                  "version": "0.3.1",
+                  "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.3.1.tgz"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "grunt-exec": {
+      "version": "0.4.5",
+      "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-0.4.5.tgz"
+    },
+    "grunt-html-validation": {
+      "version": "0.1.18",
+      "resolved": "https://registry.npmjs.org/grunt-html-validation/-/grunt-html-validation-0.1.18.tgz",
+      "dependencies": {
+        "colors": {
+          "version": "0.6.2",
+          "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz"
+        },
+        "request": {
+          "version": "2.34.0",
+          "resolved": "https://registry.npmjs.org/request/-/request-2.34.0.tgz",
+          "dependencies": {
+            "aws-sign2": {
+              "version": "0.5.0",
+              "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
+            },
+            "forever-agent": {
+              "version": "0.5.2",
+              "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
+            },
+            "form-data": {
+              "version": "0.1.3",
+              "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz",
+              "dependencies": {
+                "async": {
+                  "version": "0.9.0",
+                  "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz"
+                },
+                "combined-stream": {
+                  "version": "0.0.4",
+                  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz",
+                  "dependencies": {
+                    "delayed-stream": {
+                      "version": "0.0.5",
+                      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "hawk": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
+              "dependencies": {
+                "boom": {
+                  "version": "0.4.2",
+                  "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
+                },
+                "cryptiles": {
+                  "version": "0.2.2",
+                  "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
+                },
+                "hoek": {
+                  "version": "0.9.1",
+                  "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
+                },
+                "sntp": {
+                  "version": "0.2.4",
+                  "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
+                }
+              }
+            },
+            "http-signature": {
+              "version": "0.10.0",
+              "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz",
+              "dependencies": {
+                "asn1": {
+                  "version": "0.1.11",
+                  "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
+                },
+                "assert-plus": {
+                  "version": "0.1.2",
+                  "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"
+                },
+                "ctype": {
+                  "version": "0.5.2",
+                  "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"
+                }
+              }
+            },
+            "json-stringify-safe": {
+              "version": "5.0.0",
+              "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
+            },
+            "mime": {
+              "version": "1.2.11",
+              "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+            },
+            "node-uuid": {
+              "version": "1.4.1",
+              "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"
+            },
+            "oauth-sign": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"
+            },
+            "qs": {
+              "version": "0.6.6",
+              "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+            },
+            "tough-cookie": {
+              "version": "0.12.1",
+              "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz",
+              "dependencies": {
+                "punycode": {
+                  "version": "1.2.4",
+                  "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz"
+                }
+              }
+            },
+            "tunnel-agent": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz"
+            }
+          }
+        },
+        "w3cjs": {
+          "version": "0.1.25",
+          "resolved": "https://registry.npmjs.org/w3cjs/-/w3cjs-0.1.25.tgz",
+          "dependencies": {
+            "commander": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz"
+            },
+            "superagent": {
+              "version": "0.15.7",
+              "resolved": "https://registry.npmjs.org/superagent/-/superagent-0.15.7.tgz",
+              "dependencies": {
+                "cookiejar": {
+                  "version": "1.3.0",
+                  "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-1.3.0.tgz"
+                },
+                "debug": {
+                  "version": "0.7.4",
+                  "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz"
+                },
+                "emitter-component": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.0.0.tgz"
+                },
+                "formidable": {
+                  "version": "1.0.14",
+                  "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz"
+                },
+                "methods": {
+                  "version": "0.0.1",
+                  "resolved": "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz"
+                },
+                "mime": {
+                  "version": "1.2.5",
+                  "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.5.tgz"
+                },
+                "qs": {
+                  "version": "0.6.5",
+                  "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz"
+                },
+                "reduce-component": {
+                  "version": "1.0.1",
+                  "resolved": "https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz"
+                }
+              }
+            },
+            "superagent-proxy": {
+              "version": "0.2.0",
+              "resolved": "https://registry.npmjs.org/superagent-proxy/-/superagent-proxy-0.2.0.tgz",
+              "dependencies": {
+                "proxy-agent": {
+                  "version": "0.0.2",
+                  "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-0.0.2.tgz",
+                  "dependencies": {
+                    "http-proxy-agent": {
+                      "version": "0.2.6",
+                      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-0.2.6.tgz",
+                      "dependencies": {
+                        "agent-base": {
+                          "version": "1.0.1",
+                          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.1.tgz"
+                        },
+                        "debug": {
+                          "version": "1.0.2",
+                          "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.2.tgz",
+                          "dependencies": {
+                            "ms": {
+                              "version": "0.6.2",
+                              "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz"
+                            }
+                          }
+                        },
+                        "extend": {
+                          "version": "1.2.1",
+                          "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz"
+                        }
+                      }
+                    },
+                    "https-proxy-agent": {
+                      "version": "0.3.5",
+                      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.5.tgz",
+                      "dependencies": {
+                        "agent-base": {
+                          "version": "1.0.1",
+                          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.1.tgz"
+                        },
+                        "debug": {
+                          "version": "1.0.2",
+                          "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.2.tgz",
+                          "dependencies": {
+                            "ms": {
+                              "version": "0.6.2",
+                              "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz"
+                            }
+                          }
+                        },
+                        "extend": {
+                          "version": "1.2.1",
+                          "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz"
+                        }
+                      }
+                    },
+                    "lru-cache": {
+                      "version": "2.3.1",
+                      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz"
+                    },
+                    "socks-proxy-agent": {
+                      "version": "0.1.2",
+                      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-0.1.2.tgz",
+                      "dependencies": {
+                        "agent-base": {
+                          "version": "1.0.1",
+                          "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-1.0.1.tgz"
+                        },
+                        "extend": {
+                          "version": "1.2.1",
+                          "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz"
+                        },
+                        "rainbowsocks": {
+                          "version": "0.1.2",
+                          "resolved": "https://registry.npmjs.org/rainbowsocks/-/rainbowsocks-0.1.2.tgz",
+                          "dependencies": {
+                            "debug": {
+                              "version": "1.0.2",
+                              "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.2.tgz",
+                              "dependencies": {
+                                "ms": {
+                                  "version": "0.6.2",
+                                  "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz"
+                                }
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "grunt-jekyll": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmjs.org/grunt-jekyll/-/grunt-jekyll-0.4.2.tgz",
+      "dependencies": {
+        "tmp": {
+          "version": "0.0.23",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz"
+        }
+      }
+    },
+    "grunt-jscs-checker": {
+      "version": "0.4.4",
+      "resolved": "https://registry.npmjs.org/grunt-jscs-checker/-/grunt-jscs-checker-0.4.4.tgz",
+      "dependencies": {
+        "hooker": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"
+        },
+        "jscs": {
+          "version": "1.4.5",
+          "resolved": "https://registry.npmjs.org/jscs/-/jscs-1.4.5.tgz",
+          "dependencies": {
+            "colors": {
+              "version": "0.6.2",
+              "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz"
+            },
+            "commander": {
+              "version": "2.2.0",
+              "resolved": "https://registry.npmjs.org/commander/-/commander-2.2.0.tgz"
+            },
+            "esprima": {
+              "version": "1.1.1",
+              "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz"
+            },
+            "glob": {
+              "version": "3.2.11",
+              "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+              "dependencies": {
+                "inherits": {
+                  "version": "2.0.1",
+                  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                },
+                "minimatch": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+                  "dependencies": {
+                    "lru-cache": {
+                      "version": "2.5.0",
+                      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                    },
+                    "sigmund": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "minimatch": {
+              "version": "0.2.14",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+              "dependencies": {
+                "lru-cache": {
+                  "version": "2.5.0",
+                  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                },
+                "sigmund": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                }
+              }
+            },
+            "strip-json-comments": {
+              "version": "0.1.3",
+              "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz"
+            },
+            "vow": {
+              "version": "0.3.13",
+              "resolved": "https://registry.npmjs.org/vow/-/vow-0.3.13.tgz"
+            },
+            "vow-fs": {
+              "version": "0.2.3",
+              "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.2.3.tgz",
+              "dependencies": {
+                "node-uuid": {
+                  "version": "1.4.0",
+                  "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.0.tgz"
+                },
+                "vow-queue": {
+                  "version": "0.0.2",
+                  "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.0.2.tgz"
+                }
+              }
+            },
+            "xmlbuilder": {
+              "version": "2.2.1",
+              "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.2.1.tgz",
+              "dependencies": {
+                "lodash-node": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash-node/-/lodash-node-2.4.1.tgz"
+                }
+              }
+            }
+          }
+        },
+        "lodash.assign": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-2.4.1.tgz",
+          "dependencies": {
+            "lodash._basecreatecallback": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz",
+              "dependencies": {
+                "lodash._setbinddata": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash._isnative": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                    },
+                    "lodash.noop": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz"
+                    }
+                  }
+                },
+                "lodash.bind": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash._createwrapper": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz",
+                      "dependencies": {
+                        "lodash._basebind": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz",
+                          "dependencies": {
+                            "lodash._basecreate": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz",
+                              "dependencies": {
+                                "lodash._isnative": {
+                                  "version": "2.4.1",
+                                  "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                                },
+                                "lodash.noop": {
+                                  "version": "2.4.1",
+                                  "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz"
+                                }
+                              }
+                            },
+                            "lodash.isobject": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
+                            }
+                          }
+                        },
+                        "lodash._basecreatewrapper": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz",
+                          "dependencies": {
+                            "lodash._basecreate": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz",
+                              "dependencies": {
+                                "lodash._isnative": {
+                                  "version": "2.4.1",
+                                  "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                                },
+                                "lodash.noop": {
+                                  "version": "2.4.1",
+                                  "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz"
+                                }
+                              }
+                            },
+                            "lodash.isobject": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
+                            }
+                          }
+                        },
+                        "lodash.isfunction": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz"
+                        }
+                      }
+                    },
+                    "lodash._slice": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz"
+                    }
+                  }
+                },
+                "lodash.identity": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz"
+                },
+                "lodash.support": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash._isnative": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "lodash._objecttypes": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
+            },
+            "lodash.keys": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+              "dependencies": {
+                "lodash._isnative": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                },
+                "lodash._shimkeys": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz"
+                },
+                "lodash.isobject": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
+                }
+              }
+            }
+          }
+        },
+        "vow": {
+          "version": "0.4.4",
+          "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.4.tgz"
+        }
+      }
+    },
+    "grunt-saucelabs": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/grunt-saucelabs/-/grunt-saucelabs-8.0.2.tgz",
+      "dependencies": {
+        "colors": {
+          "version": "0.6.2",
+          "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz"
+        },
+        "lodash": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+        },
+        "q": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz"
+        },
+        "request": {
+          "version": "2.35.0",
+          "resolved": "https://registry.npmjs.org/request/-/request-2.35.0.tgz",
+          "dependencies": {
+            "aws-sign2": {
+              "version": "0.5.0",
+              "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
+            },
+            "forever-agent": {
+              "version": "0.5.2",
+              "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
+            },
+            "form-data": {
+              "version": "0.1.3",
+              "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz",
+              "dependencies": {
+                "async": {
+                  "version": "0.9.0",
+                  "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz"
+                },
+                "combined-stream": {
+                  "version": "0.0.4",
+                  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz",
+                  "dependencies": {
+                    "delayed-stream": {
+                      "version": "0.0.5",
+                      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "hawk": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
+              "dependencies": {
+                "boom": {
+                  "version": "0.4.2",
+                  "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
+                },
+                "cryptiles": {
+                  "version": "0.2.2",
+                  "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
+                },
+                "hoek": {
+                  "version": "0.9.1",
+                  "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
+                },
+                "sntp": {
+                  "version": "0.2.4",
+                  "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
+                }
+              }
+            },
+            "http-signature": {
+              "version": "0.10.0",
+              "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz",
+              "dependencies": {
+                "asn1": {
+                  "version": "0.1.11",
+                  "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
+                },
+                "assert-plus": {
+                  "version": "0.1.2",
+                  "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"
+                },
+                "ctype": {
+                  "version": "0.5.2",
+                  "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"
+                }
+              }
+            },
+            "json-stringify-safe": {
+              "version": "5.0.0",
+              "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
+            },
+            "lodash.merge": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-2.4.1.tgz",
+              "dependencies": {
+                "lodash._basecreatecallback": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._basecreatecallback/-/lodash._basecreatecallback-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash._setbinddata": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._setbinddata/-/lodash._setbinddata-2.4.1.tgz",
+                      "dependencies": {
+                        "lodash._isnative": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                        },
+                        "lodash.noop": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz"
+                        }
+                      }
+                    },
+                    "lodash.bind": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-2.4.1.tgz",
+                      "dependencies": {
+                        "lodash._createwrapper": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._createwrapper/-/lodash._createwrapper-2.4.1.tgz",
+                          "dependencies": {
+                            "lodash._basebind": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash._basebind/-/lodash._basebind-2.4.1.tgz",
+                              "dependencies": {
+                                "lodash._basecreate": {
+                                  "version": "2.4.1",
+                                  "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz",
+                                  "dependencies": {
+                                    "lodash._isnative": {
+                                      "version": "2.4.1",
+                                      "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                                    },
+                                    "lodash.noop": {
+                                      "version": "2.4.1",
+                                      "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz"
+                                    }
+                                  }
+                                }
+                              }
+                            },
+                            "lodash._basecreatewrapper": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash._basecreatewrapper/-/lodash._basecreatewrapper-2.4.1.tgz",
+                              "dependencies": {
+                                "lodash._basecreate": {
+                                  "version": "2.4.1",
+                                  "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-2.4.1.tgz",
+                                  "dependencies": {
+                                    "lodash._isnative": {
+                                      "version": "2.4.1",
+                                      "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                                    },
+                                    "lodash.noop": {
+                                      "version": "2.4.1",
+                                      "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-2.4.1.tgz"
+                                    }
+                                  }
+                                }
+                              }
+                            },
+                            "lodash.isfunction": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz"
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "lodash.identity": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-2.4.1.tgz"
+                    },
+                    "lodash.support": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.support/-/lodash.support-2.4.1.tgz",
+                      "dependencies": {
+                        "lodash._isnative": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                        }
+                      }
+                    }
+                  }
+                },
+                "lodash._basemerge": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._basemerge/-/lodash._basemerge-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash.foreach": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.4.1.tgz"
+                    },
+                    "lodash.forown": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.forown/-/lodash.forown-2.4.1.tgz",
+                      "dependencies": {
+                        "lodash._objecttypes": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
+                        },
+                        "lodash.keys": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz",
+                          "dependencies": {
+                            "lodash._isnative": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                            },
+                            "lodash._shimkeys": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz"
+                            }
+                          }
+                        }
+                      }
+                    },
+                    "lodash.isarray": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-2.4.1.tgz",
+                      "dependencies": {
+                        "lodash._isnative": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                        }
+                      }
+                    },
+                    "lodash.isplainobject": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-2.4.1.tgz",
+                      "dependencies": {
+                        "lodash._isnative": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
+                        },
+                        "lodash._shimisplainobject": {
+                          "version": "2.4.1",
+                          "resolved": "https://registry.npmjs.org/lodash._shimisplainobject/-/lodash._shimisplainobject-2.4.1.tgz",
+                          "dependencies": {
+                            "lodash.forin": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash.forin/-/lodash.forin-2.4.1.tgz",
+                              "dependencies": {
+                                "lodash._objecttypes": {
+                                  "version": "2.4.1",
+                                  "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
+                                }
+                              }
+                            },
+                            "lodash.isfunction": {
+                              "version": "2.4.1",
+                              "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz"
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                },
+                "lodash._getarray": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._getarray/-/lodash._getarray-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash._arraypool": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz"
+                    }
+                  }
+                },
+                "lodash._releasearray": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._releasearray/-/lodash._releasearray-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash._arraypool": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._arraypool/-/lodash._arraypool-2.4.1.tgz"
+                    },
+                    "lodash._maxpoolsize": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._maxpoolsize/-/lodash._maxpoolsize-2.4.1.tgz"
+                    }
+                  }
+                },
+                "lodash._slice": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash._slice/-/lodash._slice-2.4.1.tgz"
+                },
+                "lodash.isobject": {
+                  "version": "2.4.1",
+                  "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz",
+                  "dependencies": {
+                    "lodash._objecttypes": {
+                      "version": "2.4.1",
+                      "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "mime": {
+              "version": "1.2.11",
+              "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+            },
+            "node-uuid": {
+              "version": "1.4.1",
+              "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"
+            },
+            "oauth-sign": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"
+            },
+            "qs": {
+              "version": "0.6.6",
+              "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+            },
+            "tough-cookie": {
+              "version": "0.12.1",
+              "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz",
+              "dependencies": {
+                "punycode": {
+                  "version": "1.2.4",
+                  "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz"
+                }
+              }
+            },
+            "tunnel-agent": {
+              "version": "0.4.0",
+              "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz"
+            }
+          }
+        },
+        "sauce-tunnel": {
+          "version": "2.0.6",
+          "resolved": "https://registry.npmjs.org/sauce-tunnel/-/sauce-tunnel-2.0.6.tgz",
+          "dependencies": {
+            "chalk": {
+              "version": "0.4.0",
+              "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+              "dependencies": {
+                "ansi-styles": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+                },
+                "has-color": {
+                  "version": "0.1.7",
+                  "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+                },
+                "strip-ansi": {
+                  "version": "0.1.1",
+                  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+                }
+              }
+            },
+            "request": {
+              "version": "2.21.0",
+              "resolved": "https://registry.npmjs.org/request/-/request-2.21.0.tgz",
+              "dependencies": {
+                "aws-sign": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz"
+                },
+                "cookie-jar": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz"
+                },
+                "forever-agent": {
+                  "version": "0.5.2",
+                  "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
+                },
+                "form-data": {
+                  "version": "0.0.8",
+                  "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.0.8.tgz",
+                  "dependencies": {
+                    "async": {
+                      "version": "0.2.10",
+                      "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz"
+                    },
+                    "combined-stream": {
+                      "version": "0.0.4",
+                      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz",
+                      "dependencies": {
+                        "delayed-stream": {
+                          "version": "0.0.5",
+                          "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
+                        }
+                      }
+                    }
+                  }
+                },
+                "hawk": {
+                  "version": "0.13.1",
+                  "resolved": "https://registry.npmjs.org/hawk/-/hawk-0.13.1.tgz",
+                  "dependencies": {
+                    "boom": {
+                      "version": "0.4.2",
+                      "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz",
+                      "dependencies": {
+                        "hoek": {
+                          "version": "0.9.1",
+                          "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
+                        }
+                      }
+                    },
+                    "cryptiles": {
+                      "version": "0.2.2",
+                      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
+                    },
+                    "hoek": {
+                      "version": "0.8.5",
+                      "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.8.5.tgz"
+                    },
+                    "sntp": {
+                      "version": "0.2.4",
+                      "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz",
+                      "dependencies": {
+                        "hoek": {
+                          "version": "0.9.1",
+                          "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
+                        }
+                      }
+                    }
+                  }
+                },
+                "http-signature": {
+                  "version": "0.9.11",
+                  "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.9.11.tgz",
+                  "dependencies": {
+                    "asn1": {
+                      "version": "0.1.11",
+                      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
+                    },
+                    "assert-plus": {
+                      "version": "0.1.2",
+                      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"
+                    },
+                    "ctype": {
+                      "version": "0.5.2",
+                      "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"
+                    }
+                  }
+                },
+                "json-stringify-safe": {
+                  "version": "4.0.0",
+                  "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-4.0.0.tgz"
+                },
+                "mime": {
+                  "version": "1.2.11",
+                  "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+                },
+                "node-uuid": {
+                  "version": "1.4.1",
+                  "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"
+                },
+                "oauth-sign": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"
+                },
+                "qs": {
+                  "version": "0.6.6",
+                  "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+                },
+                "tunnel-agent": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz"
+                }
+              }
+            }
+          }
+        },
+        "saucelabs": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-0.1.1.tgz"
+        }
+      }
+    },
+    "grunt-sed": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz",
+      "dependencies": {
+        "replace": {
+          "version": "0.2.9",
+          "resolved": "https://registry.npmjs.org/replace/-/replace-0.2.9.tgz",
+          "dependencies": {
+            "colors": {
+              "version": "0.5.1",
+              "resolved": "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz"
+            },
+            "minimatch": {
+              "version": "0.2.14",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+              "dependencies": {
+                "lru-cache": {
+                  "version": "2.5.0",
+                  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                },
+                "sigmund": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                }
+              }
+            },
+            "nomnom": {
+              "version": "1.6.2",
+              "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz",
+              "dependencies": {
+                "underscore": {
+                  "version": "1.4.4",
+                  "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "load-grunt-tasks": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-0.5.0.tgz",
+      "dependencies": {
+        "findup-sync": {
+          "version": "0.1.3",
+          "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
+          "dependencies": {
+            "glob": {
+              "version": "3.2.11",
+              "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+              "dependencies": {
+                "inherits": {
+                  "version": "2.0.1",
+                  "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+                },
+                "minimatch": {
+                  "version": "0.3.0",
+                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+                  "dependencies": {
+                    "lru-cache": {
+                      "version": "2.5.0",
+                      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                    },
+                    "sigmund": {
+                      "version": "1.0.0",
+                      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "lodash": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+            }
+          }
+        },
+        "multimatch": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-0.2.0.tgz",
+          "dependencies": {
+            "lodash": {
+              "version": "2.4.1",
+              "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.1.tgz"
+            },
+            "minimatch": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+              "dependencies": {
+                "lru-cache": {
+                  "version": "2.5.0",
+                  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+                },
+                "sigmund": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+                }
+              }
+            }
+          }
+        }
+      }
+    },
+    "markdown": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz",
+      "dependencies": {
+        "nopt": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz",
+          "dependencies": {
+            "abbrev": {
+              "version": "1.0.5",
+              "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
+            }
+          }
+        }
+      }
+    },
+    "npm": {
+      "version": "1.4.16",
+      "resolved": "https://registry.npmjs.org/npm/-/npm-1.4.16.tgz",
+      "dependencies": {
+        "abbrev": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
+        },
+        "ansi": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz"
+        },
+        "ansicolors": {
+          "version": "0.3.2",
+          "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz"
+        },
+        "ansistyles": {
+          "version": "0.1.3",
+          "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
+        },
+        "archy": {
+          "version": "0.0.2",
+          "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz"
+        },
+        "block-stream": {
+          "version": "0.0.7",
+          "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz"
+        },
+        "char-spinner": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz"
+        },
+        "child-process-close": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/child-process-close/-/child-process-close-0.1.1.tgz"
+        },
+        "chmodr": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz"
+        },
+        "chownr": {
+          "version": "0.0.1",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-0.0.1.tgz"
+        },
+        "cmd-shim": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-1.1.1.tgz"
+        },
+        "columnify": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.1.0.tgz",
+          "dependencies": {
+            "strip-ansi": {
+              "version": "0.2.2",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz",
+              "dependencies": {
+                "ansi-regex": {
+                  "version": "0.1.0",
+                  "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz"
+                }
+              }
+            },
+            "wcwidth.js": {
+              "version": "0.0.4",
+              "resolved": "https://registry.npmjs.org/wcwidth.js/-/wcwidth.js-0.0.4.tgz",
+              "dependencies": {
+                "underscore": {
+                  "version": "1.6.0",
+                  "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz"
+                }
+              }
+            }
+          }
+        },
+        "editor": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/editor/-/editor-0.1.0.tgz"
+        },
+        "fstream": {
+          "version": "0.1.27",
+          "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.27.tgz"
+        },
+        "fstream-npm": {
+          "version": "0.1.7",
+          "resolved": "https://registry.npmjs.org/fstream-npm/-/fstream-npm-0.1.7.tgz",
+          "dependencies": {
+            "fstream-ignore": {
+              "version": "0.0.8",
+              "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-0.0.8.tgz"
+            }
+          }
+        },
+        "github-url-from-git": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.1.1.tgz"
+        },
+        "github-url-from-username-repo": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-0.2.0.tgz"
+        },
+        "glob": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.2.tgz"
+        },
+        "graceful-fs": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz"
+        },
+        "inflight": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.1.tgz"
+        },
+        "inherits": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+        },
+        "ini": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/ini/-/ini-1.2.1.tgz"
+        },
+        "init-package-json": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-0.1.0.tgz",
+          "dependencies": {
+            "promzard": {
+              "version": "0.2.2",
+              "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.2.2.tgz"
+            }
+          }
+        },
+        "lockfile": {
+          "version": "0.4.2",
+          "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-0.4.2.tgz"
+        },
+        "lru-cache": {
+          "version": "2.5.0",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.0.tgz"
+        },
+        "minimatch": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+          "dependencies": {
+            "sigmund": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.0.tgz"
+            }
+          }
+        },
+        "mkdirp": {
+          "version": "0.3.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz"
+        },
+        "node-gyp": {
+          "version": "0.13.1",
+          "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-0.13.1.tgz"
+        },
+        "nopt": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.0.tgz"
+        },
+        "npm-cache-filename": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.1.tgz"
+        },
+        "npm-install-checks": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.2.tgz"
+        },
+        "npm-registry-client": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-2.0.2.tgz"
+        },
+        "npm-user-validate": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.0.tgz"
+        },
+        "npmconf": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-1.0.5.tgz",
+          "dependencies": {
+            "config-chain": {
+              "version": "1.1.8",
+              "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.8.tgz",
+              "dependencies": {
+                "proto-list": {
+                  "version": "1.2.3",
+                  "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.3.tgz"
+                }
+              }
+            }
+          }
+        },
+        "npmlog": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-0.1.1.tgz"
+        },
+        "once": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/once/-/once-1.3.0.tgz"
+        },
+        "opener": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/opener/-/opener-1.3.0.tgz"
+        },
+        "osenv": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz"
+        },
+        "path-is-inside": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"
+        },
+        "read": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmjs.org/read/-/read-1.0.5.tgz",
+          "dependencies": {
+            "mute-stream": {
+              "version": "0.0.4",
+              "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz"
+            }
+          }
+        },
+        "read-installed": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-2.0.5.tgz",
+          "dependencies": {
+            "util-extend": {
+              "version": "1.0.1",
+              "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz"
+            }
+          }
+        },
+        "read-package-json": {
+          "version": "1.2.2",
+          "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-1.2.2.tgz",
+          "dependencies": {
+            "normalize-package-data": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-0.3.0.tgz"
+            }
+          }
+        },
+        "request": {
+          "version": "2.30.0",
+          "resolved": "https://registry.npmjs.org/request/-/request-2.30.0.tgz",
+          "dependencies": {
+            "aws-sign2": {
+              "version": "0.5.0",
+              "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
+            },
+            "forever-agent": {
+              "version": "0.5.0",
+              "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.0.tgz"
+            },
+            "form-data": {
+              "version": "0.1.2",
+              "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.2.tgz",
+              "dependencies": {
+                "async": {
+                  "version": "0.2.9",
+                  "resolved": "https://registry.npmjs.org/async/-/async-0.2.9.tgz"
+                },
+                "combined-stream": {
+                  "version": "0.0.4",
+                  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.4.tgz",
+                  "dependencies": {
+                    "delayed-stream": {
+                      "version": "0.0.5",
+                      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "hawk": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz",
+              "dependencies": {
+                "boom": {
+                  "version": "0.4.2",
+                  "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz"
+                },
+                "cryptiles": {
+                  "version": "0.2.2",
+                  "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz"
+                },
+                "hoek": {
+                  "version": "0.9.1",
+                  "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz"
+                },
+                "sntp": {
+                  "version": "0.2.4",
+                  "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz"
+                }
+              }
+            },
+            "http-signature": {
+              "version": "0.10.0",
+              "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz",
+              "dependencies": {
+                "asn1": {
+                  "version": "0.1.11",
+                  "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
+                },
+                "assert-plus": {
+                  "version": "0.1.2",
+                  "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz"
+                },
+                "ctype": {
+                  "version": "0.5.2",
+                  "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz"
+                }
+              }
+            },
+            "json-stringify-safe": {
+              "version": "5.0.0",
+              "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz"
+            },
+            "mime": {
+              "version": "1.2.11",
+              "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
+            },
+            "node-uuid": {
+              "version": "1.4.1",
+              "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz"
+            },
+            "oauth-sign": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz"
+            },
+            "qs": {
+              "version": "0.6.6",
+              "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz"
+            },
+            "tough-cookie": {
+              "version": "0.9.15",
+              "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.9.15.tgz",
+              "dependencies": {
+                "punycode": {
+                  "version": "1.2.3",
+                  "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.3.tgz"
+                }
+              }
+            },
+            "tunnel-agent": {
+              "version": "0.3.0",
+              "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz"
+            }
+          }
+        },
+        "retry": {
+          "version": "0.6.0",
+          "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz"
+        },
+        "rimraf": {
+          "version": "2.2.8",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
+        },
+        "semver": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.0.tgz"
+        },
+        "sha": {
+          "version": "1.2.4",
+          "resolved": "https://registry.npmjs.org/sha/-/sha-1.2.4.tgz",
+          "dependencies": {
+            "readable-stream": {
+              "version": "1.0.27-1",
+              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz",
+              "dependencies": {
+                "core-util-is": {
+                  "version": "1.0.1",
+                  "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
+                },
+                "isarray": {
+                  "version": "0.0.1",
+                  "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
+                },
+                "string_decoder": {
+                  "version": "0.10.25-1",
+                  "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.25-1.tgz"
+                }
+              }
+            }
+          }
+        },
+        "slide": {
+          "version": "1.1.5",
+          "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.5.tgz"
+        },
+        "sorted-object": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz"
+        },
+        "tar": {
+          "version": "0.1.19",
+          "resolved": "https://registry.npmjs.org/tar/-/tar-0.1.19.tgz"
+        },
+        "text-table": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
+        },
+        "uid-number": {
+          "version": "0.0.5",
+          "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz"
+        },
+        "which": {
+          "version": "1.0.5",
+          "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz"
+        }
+      }
+    },
+    "npm-shrinkwrap": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/npm-shrinkwrap/-/npm-shrinkwrap-3.1.3.tgz",
+      "dependencies": {
+        "array-find": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/array-find/-/array-find-0.1.1.tgz"
+        },
+        "error": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/error/-/error-3.0.0.tgz",
+          "dependencies": {
+            "xtend": {
+              "version": "2.1.2",
+              "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+              "dependencies": {
+                "object-keys": {
+                  "version": "0.4.0",
+                  "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
+                }
+              }
+            }
+          }
+        },
+        "json-diff": {
+          "version": "0.3.1",
+          "resolved": "https://registry.npmjs.org/json-diff/-/json-diff-0.3.1.tgz",
+          "dependencies": {
+            "cli-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-0.1.7.tgz",
+              "dependencies": {
+                "es5-ext": {
+                  "version": "0.8.2",
+                  "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.8.2.tgz"
+                }
+              }
+            },
+            "difflib": {
+              "version": "0.2.4",
+              "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz",
+              "dependencies": {
+                "heap": {
+                  "version": "0.2.3",
+                  "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.3.tgz"
+                }
+              }
+            },
+            "dreamopt": {
+              "version": "0.6.0",
+              "resolved": "https://registry.npmjs.org/dreamopt/-/dreamopt-0.6.0.tgz",
+              "dependencies": {
+                "wordwrap": {
+                  "version": "0.0.2",
+                  "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz"
+                }
+              }
+            }
+          }
+        },
+        "minimist": {
+          "version": "0.0.8",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
+        },
+        "msee": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/msee/-/msee-0.1.1.tgz",
+          "dependencies": {
+            "cardinal": {
+              "version": "0.4.4",
+              "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.4.tgz",
+              "dependencies": {
+                "ansicolors": {
+                  "version": "0.2.1",
+                  "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz"
+                },
+                "redeyed": {
+                  "version": "0.4.4",
+                  "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz",
+                  "dependencies": {
+                    "esprima": {
+                      "version": "1.0.4",
+                      "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz"
+                    }
+                  }
+                }
+              }
+            },
+            "chalk": {
+              "version": "0.4.0",
+              "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+              "dependencies": {
+                "ansi-styles": {
+                  "version": "1.0.0",
+                  "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+                },
+                "has-color": {
+                  "version": "0.1.7",
+                  "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+                },
+                "strip-ansi": {
+                  "version": "0.1.1",
+                  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+                }
+              }
+            },
+            "marked": {
+              "version": "0.3.2",
+              "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz"
+            },
+            "nopt": {
+              "version": "2.1.2",
+              "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz",
+              "dependencies": {
+                "abbrev": {
+                  "version": "1.0.5",
+                  "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.5.tgz"
+                }
+              }
+            },
+            "xtend": {
+              "version": "2.1.2",
+              "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
+              "dependencies": {
+                "object-keys": {
+                  "version": "0.4.0",
+                  "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz"
+                }
+              }
+            }
+          }
+        },
+        "read-json": {
+          "version": "0.0.0",
+          "resolved": "https://registry.npmjs.org/read-json/-/read-json-0.0.0.tgz"
+        },
+        "rimraf": {
+          "version": "2.2.8",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz"
+        },
+        "run-parallel": {
+          "version": "0.3.0",
+          "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-0.3.0.tgz"
+        },
+        "run-series": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/run-series/-/run-series-1.0.2.tgz"
+        },
+        "safe-json-parse": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz"
+        },
+        "semver": {
+          "version": "2.3.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.1.tgz"
+        },
+        "sorted-object": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/sorted-object/-/sorted-object-1.0.0.tgz"
+        },
+        "string-template": {
+          "version": "0.1.3",
+          "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.1.3.tgz"
+        }
+      }
+    },
+    "time-grunt": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/time-grunt/-/time-grunt-0.3.2.tgz",
+      "dependencies": {
+        "chalk": {
+          "version": "0.4.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+          "dependencies": {
+            "ansi-styles": {
+              "version": "1.0.0",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz"
+            },
+            "has-color": {
+              "version": "0.1.7",
+              "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+            },
+            "strip-ansi": {
+              "version": "0.1.1",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz"
+            }
+          }
+        },
+        "date-time": {
+          "version": "0.1.1",
+          "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz"
+        },
+        "hooker": {
+          "version": "0.2.3",
+          "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz"
+        },
+        "pretty-ms": {
+          "version": "0.1.0",
+          "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-0.1.0.tgz"
+        },
+        "text-table": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
index 1950ff967fe9a43d83db1bb3615e469d112ab71f..7c728aa645bca146fe413caf869a6420e86b6fc2 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/bash
 set -e
 cd ..  # /bootstrap/
-cp test-infra/npm-shrinkwrap.canonical.json npm-shrinkwrap.json
+cp test-infra/npm-shrinkwrap.json npm-shrinkwrap.json
 npm install
 rm npm-shrinkwrap.json