dotos 7 years ago
parent
commit
95b1398845
3 changed files with 1346 additions and 1 deletions
  1. 4 1
      app.js
  2. 1341 0
      package-lock.json
  3. 1 0
      package.json

+ 4 - 1
app.js

@@ -5,6 +5,7 @@ var favicon = require('serve-favicon');
 var logger = require('morgan');
 var logger = require('morgan');
 var cookieParser = require('cookie-parser');
 var cookieParser = require('cookie-parser');
 var bodyParser = require('body-parser');
 var bodyParser = require('body-parser');
+var ga = require('node-ga');
 //Welcome Page
 //Welcome Page
 var welcome = require('./routes/welcome');
 var welcome = require('./routes/welcome');
 //日志输出
 //日志输出
@@ -54,7 +55,9 @@ app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({ extended: true }));
 app.use(bodyParser.urlencoded({ extended: true }));
 
 
 app.use(cookieParser());
 app.use(cookieParser());
-
+app.use(ga('UA-61934506-2', {
+    safe: true
+}));
 //静态文件访问路径
 //静态文件访问路径
 app.use('/static', express.static(path.join(__dirname, 'static')));
 app.use('/static', express.static(path.join(__dirname, 'static')));
 app.use(favicon(__dirname + '/static/images/favicon.ico'));
 app.use(favicon(__dirname + '/static/images/favicon.ico'));

+ 1341 - 0
package-lock.json

@@ -0,0 +1,1341 @@
+{
+  "name": "JsonBird",
+  "version": "1.4.0",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "accepts": {
+      "version": "http://r.cnpmjs.org/accepts/download/accepts-1.2.13.tgz",
+      "integrity": "sha1-5fHzkoxtlf2WVYw27D2dDeSm7Oo=",
+      "requires": {
+        "mime-types": "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.16.tgz",
+        "negotiator": "http://r.cnpmjs.org/negotiator/download/negotiator-0.5.3.tgz"
+      }
+    },
+    "acorn": {
+      "version": "http://r.cnpmjs.org/acorn/download/acorn-3.3.0.tgz",
+      "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo="
+    },
+    "acorn-globals": {
+      "version": "http://r.cnpmjs.org/acorn-globals/download/acorn-globals-3.1.0.tgz",
+      "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=",
+      "requires": {
+        "acorn": "http://r.cnpmjs.org/acorn/download/acorn-4.0.13.tgz"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "http://r.cnpmjs.org/acorn/download/acorn-4.0.13.tgz",
+          "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
+        }
+      }
+    },
+    "ajv": {
+      "version": "http://r.cnpmjs.org/ajv/download/ajv-4.11.8.tgz",
+      "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+      "requires": {
+        "co": "http://r.cnpmjs.org/co/download/co-4.6.0.tgz",
+        "json-stable-stringify": "http://r.cnpmjs.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz"
+      }
+    },
+    "align-text": {
+      "version": "http://r.cnpmjs.org/align-text/download/align-text-0.1.4.tgz",
+      "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+      "requires": {
+        "kind-of": "http://r.cnpmjs.org/kind-of/download/kind-of-3.2.2.tgz",
+        "longest": "http://r.cnpmjs.org/longest/download/longest-1.0.1.tgz",
+        "repeat-string": "http://r.cnpmjs.org/repeat-string/download/repeat-string-1.6.1.tgz"
+      }
+    },
+    "amdefine": {
+      "version": "http://r.cnpmjs.org/amdefine/download/amdefine-1.0.1.tgz",
+      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+    },
+    "array-flatten": {
+      "version": "http://r.cnpmjs.org/array-flatten/download/array-flatten-1.1.1.tgz",
+      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+    },
+    "asap": {
+      "version": "http://r.cnpmjs.org/asap/download/asap-2.0.6.tgz",
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+    },
+    "asn1": {
+      "version": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
+    },
+    "assert-plus": {
+      "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+      "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
+    },
+    "async": {
+      "version": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+      "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
+    },
+    "asynckit": {
+      "version": "http://r.cnpmjs.org/asynckit/download/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+    },
+    "aws-sign2": {
+      "version": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+      "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
+    },
+    "aws4": {
+      "version": "http://r.cnpmjs.org/aws4/download/aws4-1.6.0.tgz",
+      "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
+    },
+    "basic-auth": {
+      "version": "http://r.cnpmjs.org/basic-auth/download/basic-auth-1.0.4.tgz",
+      "integrity": "sha1-Awk1sB3nyblKgksp8/zLdQ06UpA="
+    },
+    "bcrypt-pbkdf": {
+      "version": "http://r.cnpmjs.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz",
+      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+      "optional": true,
+      "requires": {
+        "tweetnacl": "http://r.cnpmjs.org/tweetnacl/download/tweetnacl-0.14.5.tgz"
+      }
+    },
+    "big-integer": {
+      "version": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.24.tgz",
+      "integrity": "sha1-HthNAYrDwccrMH5/fZQAjo7iAxE="
+    },
+    "blueimp-md5": {
+      "version": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.8.0.tgz",
+      "integrity": "sha1-cBGncD0awmydLmCxKoQ/6gnIuxg="
+    },
+    "body-parser": {
+      "version": "http://r.cnpmjs.org/body-parser/download/body-parser-1.15.2.tgz",
+      "integrity": "sha1-11eM9PHRHV9uqATO813Hp/9trmc=",
+      "requires": {
+        "bytes": "http://r.cnpmjs.org/bytes/download/bytes-2.4.0.tgz",
+        "content-type": "http://r.cnpmjs.org/content-type/download/content-type-1.0.2.tgz",
+        "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+        "depd": "http://r.cnpmjs.org/depd/download/depd-1.1.1.tgz",
+        "http-errors": "http://r.cnpmjs.org/http-errors/download/http-errors-1.5.1.tgz",
+        "iconv-lite": "http://r.cnpmjs.org/iconv-lite/download/iconv-lite-0.4.13.tgz",
+        "on-finished": "http://r.cnpmjs.org/on-finished/download/on-finished-2.3.0.tgz",
+        "qs": "http://r.cnpmjs.org/qs/download/qs-6.2.0.tgz",
+        "raw-body": "http://r.cnpmjs.org/raw-body/download/raw-body-2.1.7.tgz",
+        "type-is": "http://r.cnpmjs.org/type-is/download/type-is-1.6.15.tgz"
+      }
+    },
+    "boom": {
+      "version": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
+      "requires": {
+        "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+      }
+    },
+    "bytes": {
+      "version": "http://r.cnpmjs.org/bytes/download/bytes-2.4.0.tgz",
+      "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk="
+    },
+    "camelcase": {
+      "version": "http://r.cnpmjs.org/camelcase/download/camelcase-1.2.1.tgz",
+      "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
+    },
+    "camelize": {
+      "version": "http://r.cnpmjs.org/camelize/download/camelize-1.0.0.tgz",
+      "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs="
+    },
+    "caseless": {
+      "version": "http://r.cnpmjs.org/caseless/download/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+    },
+    "center-align": {
+      "version": "http://r.cnpmjs.org/center-align/download/center-align-0.1.3.tgz",
+      "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+      "requires": {
+        "align-text": "http://r.cnpmjs.org/align-text/download/align-text-0.1.4.tgz",
+        "lazy-cache": "http://r.cnpmjs.org/lazy-cache/download/lazy-cache-1.0.4.tgz"
+      }
+    },
+    "character-parser": {
+      "version": "http://r.cnpmjs.org/character-parser/download/character-parser-2.2.0.tgz",
+      "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=",
+      "requires": {
+        "is-regex": "http://r.cnpmjs.org/is-regex/download/is-regex-1.0.4.tgz"
+      }
+    },
+    "clean-css": {
+      "version": "http://r.cnpmjs.org/clean-css/download/clean-css-3.4.28.tgz",
+      "integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
+      "requires": {
+        "commander": "http://r.cnpmjs.org/commander/download/commander-2.8.1.tgz",
+        "source-map": "http://r.cnpmjs.org/source-map/download/source-map-0.4.4.tgz"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "http://r.cnpmjs.org/commander/download/commander-2.8.1.tgz",
+          "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
+          "requires": {
+            "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+          }
+        }
+      }
+    },
+    "cliui": {
+      "version": "http://r.cnpmjs.org/cliui/download/cliui-2.1.0.tgz",
+      "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+      "requires": {
+        "center-align": "http://r.cnpmjs.org/center-align/download/center-align-0.1.3.tgz",
+        "right-align": "http://r.cnpmjs.org/right-align/download/right-align-0.1.3.tgz",
+        "wordwrap": "http://r.cnpmjs.org/wordwrap/download/wordwrap-0.0.2.tgz"
+      }
+    },
+    "co": {
+      "version": "http://r.cnpmjs.org/co/download/co-4.6.0.tgz",
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+    },
+    "combined-stream": {
+      "version": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+      "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
+      "requires": {
+        "delayed-stream": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
+      }
+    },
+    "commander": {
+      "version": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+      "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+      "requires": {
+        "graceful-readlink": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
+      }
+    },
+    "component-emitter": {
+      "version": "http://r.cnpmjs.org/component-emitter/download/component-emitter-1.2.1.tgz",
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+    },
+    "connect": {
+      "version": "http://r.cnpmjs.org/connect/download/connect-3.4.1.tgz",
+      "integrity": "sha1-ohNh0/QJnvdhzabcSpc7seuwo00=",
+      "requires": {
+        "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+        "finalhandler": "http://r.cnpmjs.org/finalhandler/download/finalhandler-0.4.1.tgz",
+        "parseurl": "http://r.cnpmjs.org/parseurl/download/parseurl-1.3.1.tgz",
+        "utils-merge": "http://r.cnpmjs.org/utils-merge/download/utils-merge-1.0.0.tgz"
+      }
+    },
+    "constantinople": {
+      "version": "http://r.cnpmjs.org/constantinople/download/constantinople-3.1.0.tgz",
+      "integrity": "sha1-dWnKqKo/jVk11i4fqW+fcCzYHHk=",
+      "requires": {
+        "acorn": "http://r.cnpmjs.org/acorn/download/acorn-3.3.0.tgz",
+        "is-expression": "http://r.cnpmjs.org/is-expression/download/is-expression-2.1.0.tgz"
+      }
+    },
+    "content-disposition": {
+      "version": "http://r.cnpmjs.org/content-disposition/download/content-disposition-0.5.1.tgz",
+      "integrity": "sha1-h0dsamfI2qh+Muh2Ft+IO6f7Bxs="
+    },
+    "content-security-policy-builder": {
+      "version": "http://r.cnpmjs.org/content-security-policy-builder/download/content-security-policy-builder-1.0.0.tgz",
+      "integrity": "sha1-Ef1AxcwpimxyWjX5rPcegqtdMkM=",
+      "requires": {
+        "dashify": "http://r.cnpmjs.org/dashify/download/dashify-0.2.2.tgz"
+      }
+    },
+    "content-type": {
+      "version": "http://r.cnpmjs.org/content-type/download/content-type-1.0.2.tgz",
+      "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
+    },
+    "cookie": {
+      "version": "http://r.cnpmjs.org/cookie/download/cookie-0.3.1.tgz",
+      "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
+    },
+    "cookie-parser": {
+      "version": "http://r.cnpmjs.org/cookie-parser/download/cookie-parser-1.4.3.tgz",
+      "integrity": "sha1-D+MfoZ0AC5X0qt8fU/3CuKIDuqU=",
+      "requires": {
+        "cookie": "http://r.cnpmjs.org/cookie/download/cookie-0.3.1.tgz",
+        "cookie-signature": "http://r.cnpmjs.org/cookie-signature/download/cookie-signature-1.0.6.tgz"
+      }
+    },
+    "cookie-signature": {
+      "version": "http://r.cnpmjs.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
+      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+    },
+    "cookiejar": {
+      "version": "http://r.cnpmjs.org/cookiejar/download/cookiejar-2.1.1.tgz",
+      "integrity": "sha1-Qa1XsbVVlR7BcUEqgZQrHoIA00o="
+    },
+    "core-util-is": {
+      "version": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+    },
+    "cryptiles": {
+      "version": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+      "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+      "requires": {
+        "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz"
+      }
+    },
+    "dashdash": {
+      "version": "http://r.cnpmjs.org/dashdash/download/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "requires": {
+        "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "dashify": {
+      "version": "http://r.cnpmjs.org/dashify/download/dashify-0.2.2.tgz",
+      "integrity": "sha1-agdBWgHJH69KMuONnfunH2HLIP4="
+    },
+    "debug": {
+      "version": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+      "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+      "requires": {
+        "ms": "http://r.cnpmjs.org/ms/download/ms-0.7.1.tgz"
+      }
+    },
+    "decamelize": {
+      "version": "http://r.cnpmjs.org/decamelize/download/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+    },
+    "delayed-stream": {
+      "version": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+    },
+    "depd": {
+      "version": "http://r.cnpmjs.org/depd/download/depd-1.1.1.tgz",
+      "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
+    },
+    "destroy": {
+      "version": "http://r.cnpmjs.org/destroy/download/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+    },
+    "dns-prefetch-control": {
+      "version": "http://r.cnpmjs.org/dns-prefetch-control/download/dns-prefetch-control-0.1.0.tgz",
+      "integrity": "sha1-YN20V3dOF48flBXwyrsOhbCzALI="
+    },
+    "doctypes": {
+      "version": "http://r.cnpmjs.org/doctypes/download/doctypes-1.1.0.tgz",
+      "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk="
+    },
+    "dont-sniff-mimetype": {
+      "version": "http://r.cnpmjs.org/dont-sniff-mimetype/download/dont-sniff-mimetype-1.0.0.tgz",
+      "integrity": "sha1-WTKJDcn04vGeXrAqIAJuXl78j1g="
+    },
+    "ecc-jsbn": {
+      "version": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+      "optional": true,
+      "requires": {
+        "jsbn": "http://r.cnpmjs.org/jsbn/download/jsbn-0.1.1.tgz"
+      }
+    },
+    "ee-first": {
+      "version": "http://r.cnpmjs.org/ee-first/download/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+    },
+    "ejs": {
+      "version": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz",
+      "integrity": "sha1-R5Y2v6P+Ox3r1SCH8KyyBLTxnIg="
+    },
+    "escape-html": {
+      "version": "http://r.cnpmjs.org/escape-html/download/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+    },
+    "etag": {
+      "version": "http://r.cnpmjs.org/etag/download/etag-1.7.0.tgz",
+      "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg="
+    },
+    "express": {
+      "version": "http://r.cnpmjs.org/express/download/express-4.13.4.tgz",
+      "integrity": "sha1-PAt288d1kMg0VzkGHsC9O6Bn7CQ=",
+      "requires": {
+        "accepts": "http://r.cnpmjs.org/accepts/download/accepts-1.2.13.tgz",
+        "array-flatten": "http://r.cnpmjs.org/array-flatten/download/array-flatten-1.1.1.tgz",
+        "content-disposition": "http://r.cnpmjs.org/content-disposition/download/content-disposition-0.5.1.tgz",
+        "content-type": "http://r.cnpmjs.org/content-type/download/content-type-1.0.2.tgz",
+        "cookie": "http://r.cnpmjs.org/cookie/download/cookie-0.1.5.tgz",
+        "cookie-signature": "http://r.cnpmjs.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
+        "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+        "depd": "http://r.cnpmjs.org/depd/download/depd-1.1.1.tgz",
+        "escape-html": "http://r.cnpmjs.org/escape-html/download/escape-html-1.0.3.tgz",
+        "etag": "http://r.cnpmjs.org/etag/download/etag-1.7.0.tgz",
+        "finalhandler": "http://r.cnpmjs.org/finalhandler/download/finalhandler-0.4.1.tgz",
+        "fresh": "http://r.cnpmjs.org/fresh/download/fresh-0.3.0.tgz",
+        "merge-descriptors": "http://r.cnpmjs.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
+        "methods": "http://r.cnpmjs.org/methods/download/methods-1.1.2.tgz",
+        "on-finished": "http://r.cnpmjs.org/on-finished/download/on-finished-2.3.0.tgz",
+        "parseurl": "http://r.cnpmjs.org/parseurl/download/parseurl-1.3.1.tgz",
+        "path-to-regexp": "http://r.cnpmjs.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
+        "proxy-addr": "http://r.cnpmjs.org/proxy-addr/download/proxy-addr-1.0.10.tgz",
+        "qs": "http://r.cnpmjs.org/qs/download/qs-4.0.0.tgz",
+        "range-parser": "http://r.cnpmjs.org/range-parser/download/range-parser-1.0.3.tgz",
+        "send": "http://r.cnpmjs.org/send/download/send-0.13.1.tgz",
+        "serve-static": "http://r.cnpmjs.org/serve-static/download/serve-static-1.10.3.tgz",
+        "type-is": "http://r.cnpmjs.org/type-is/download/type-is-1.6.15.tgz",
+        "utils-merge": "http://r.cnpmjs.org/utils-merge/download/utils-merge-1.0.0.tgz",
+        "vary": "http://r.cnpmjs.org/vary/download/vary-1.0.1.tgz"
+      },
+      "dependencies": {
+        "cookie": {
+          "version": "http://r.cnpmjs.org/cookie/download/cookie-0.1.5.tgz",
+          "integrity": "sha1-armUiksa4hlSzSWIUwpHItQETXw="
+        },
+        "qs": {
+          "version": "http://r.cnpmjs.org/qs/download/qs-4.0.0.tgz",
+          "integrity": "sha1-wx2bdOwn33XlQ6hseHKO2NRiNgc="
+        }
+      }
+    },
+    "express-generator": {
+      "version": "https://registry.npmjs.org/express-generator/-/express-generator-4.15.0.tgz",
+      "integrity": "sha1-gbpcqNuc7q7igaCPWtXD9HJDAAY=",
+      "requires": {
+        "commander": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+        "ejs": "https://registry.npmjs.org/ejs/-/ejs-2.5.6.tgz",
+        "mkdirp": "http://r.cnpmjs.org/mkdirp/download/mkdirp-0.5.1.tgz",
+        "sorted-object": "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz"
+      }
+    },
+    "extend": {
+      "version": "http://r.cnpmjs.org/extend/download/extend-3.0.1.tgz",
+      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
+    },
+    "extsprintf": {
+      "version": "http://r.cnpmjs.org/extsprintf/download/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+    },
+    "finalhandler": {
+      "version": "http://r.cnpmjs.org/finalhandler/download/finalhandler-0.4.1.tgz",
+      "integrity": "sha1-haF8bFmpRxfSYtYSMNSw6+PUoU0=",
+      "requires": {
+        "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+        "escape-html": "http://r.cnpmjs.org/escape-html/download/escape-html-1.0.3.tgz",
+        "on-finished": "http://r.cnpmjs.org/on-finished/download/on-finished-2.3.0.tgz",
+        "unpipe": "http://r.cnpmjs.org/unpipe/download/unpipe-1.0.0.tgz"
+      }
+    },
+    "forever-agent": {
+      "version": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+    },
+    "form-data": {
+      "version": "http://r.cnpmjs.org/form-data/download/form-data-2.1.4.tgz",
+      "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+      "requires": {
+        "asynckit": "http://r.cnpmjs.org/asynckit/download/asynckit-0.4.0.tgz",
+        "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+        "mime-types": "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.16.tgz"
+      }
+    },
+    "formidable": {
+      "version": "http://r.cnpmjs.org/formidable/download/formidable-1.1.1.tgz",
+      "integrity": "sha1-lriIb3w8NQi5Mta9cMTTqI818ak="
+    },
+    "forwarded": {
+      "version": "http://r.cnpmjs.org/forwarded/download/forwarded-0.1.0.tgz",
+      "integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M="
+    },
+    "frameguard": {
+      "version": "http://r.cnpmjs.org/frameguard/download/frameguard-2.0.0.tgz",
+      "integrity": "sha1-MMLBSeXjUF+eFW+bxJGkOEIOSH4="
+    },
+    "fresh": {
+      "version": "http://r.cnpmjs.org/fresh/download/fresh-0.3.0.tgz",
+      "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8="
+    },
+    "function-bind": {
+      "version": "http://r.cnpmjs.org/function-bind/download/function-bind-1.1.0.tgz",
+      "integrity": "sha1-FhdnFMgBeY5Ojyz391KUZ7tKV3E="
+    },
+    "getpass": {
+      "version": "http://r.cnpmjs.org/getpass/download/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "requires": {
+        "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "graceful-readlink": {
+      "version": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+      "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU="
+    },
+    "har-schema": {
+      "version": "http://r.cnpmjs.org/har-schema/download/har-schema-1.0.5.tgz",
+      "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
+    },
+    "har-validator": {
+      "version": "http://r.cnpmjs.org/har-validator/download/har-validator-4.2.1.tgz",
+      "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
+      "requires": {
+        "ajv": "http://r.cnpmjs.org/ajv/download/ajv-4.11.8.tgz",
+        "har-schema": "http://r.cnpmjs.org/har-schema/download/har-schema-1.0.5.tgz"
+      }
+    },
+    "has": {
+      "version": "http://r.cnpmjs.org/has/download/has-1.0.1.tgz",
+      "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+      "requires": {
+        "function-bind": "http://r.cnpmjs.org/function-bind/download/function-bind-1.1.0.tgz"
+      }
+    },
+    "hawk": {
+      "version": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
+      "requires": {
+        "boom": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
+        "cryptiles": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
+        "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+        "sntp": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
+      }
+    },
+    "helmet": {
+      "version": "http://r.cnpmjs.org/helmet/download/helmet-2.3.0.tgz",
+      "integrity": "sha1-1lXIW1Wwo79yKkwsZuSLeLQWG5E=",
+      "requires": {
+        "connect": "http://r.cnpmjs.org/connect/download/connect-3.4.1.tgz",
+        "dns-prefetch-control": "http://r.cnpmjs.org/dns-prefetch-control/download/dns-prefetch-control-0.1.0.tgz",
+        "dont-sniff-mimetype": "http://r.cnpmjs.org/dont-sniff-mimetype/download/dont-sniff-mimetype-1.0.0.tgz",
+        "frameguard": "http://r.cnpmjs.org/frameguard/download/frameguard-2.0.0.tgz",
+        "helmet-csp": "http://r.cnpmjs.org/helmet-csp/download/helmet-csp-1.2.2.tgz",
+        "hide-powered-by": "http://r.cnpmjs.org/hide-powered-by/download/hide-powered-by-1.0.0.tgz",
+        "hpkp": "http://r.cnpmjs.org/hpkp/download/hpkp-1.2.0.tgz",
+        "hsts": "http://r.cnpmjs.org/hsts/download/hsts-1.0.0.tgz",
+        "ienoopen": "http://r.cnpmjs.org/ienoopen/download/ienoopen-1.0.0.tgz",
+        "nocache": "http://r.cnpmjs.org/nocache/download/nocache-1.0.1.tgz",
+        "referrer-policy": "http://r.cnpmjs.org/referrer-policy/download/referrer-policy-1.0.0.tgz",
+        "x-xss-protection": "http://r.cnpmjs.org/x-xss-protection/download/x-xss-protection-1.0.0.tgz"
+      }
+    },
+    "helmet-csp": {
+      "version": "http://r.cnpmjs.org/helmet-csp/download/helmet-csp-1.2.2.tgz",
+      "integrity": "sha1-CFwDB9V/yWzZczfxcKuL/qmeXfc=",
+      "requires": {
+        "camelize": "http://r.cnpmjs.org/camelize/download/camelize-1.0.0.tgz",
+        "content-security-policy-builder": "http://r.cnpmjs.org/content-security-policy-builder/download/content-security-policy-builder-1.0.0.tgz",
+        "lodash.reduce": "http://r.cnpmjs.org/lodash.reduce/download/lodash.reduce-4.5.0.tgz",
+        "platform": "http://r.cnpmjs.org/platform/download/platform-1.3.1.tgz"
+      }
+    },
+    "hide-powered-by": {
+      "version": "http://r.cnpmjs.org/hide-powered-by/download/hide-powered-by-1.0.0.tgz",
+      "integrity": "sha1-SoWtZYgfYoV/xwr3F0oRhNzM4ys="
+    },
+    "hoek": {
+      "version": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
+      "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
+    },
+    "hpkp": {
+      "version": "http://r.cnpmjs.org/hpkp/download/hpkp-1.2.0.tgz",
+      "integrity": "sha1-g/LLOLJs/yHa8m4v9LVxJpId7GU="
+    },
+    "hsts": {
+      "version": "http://r.cnpmjs.org/hsts/download/hsts-1.0.0.tgz",
+      "integrity": "sha1-mOEDnverpVQFe2sOMlhMCxFDpBQ=",
+      "requires": {
+        "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
+      }
+    },
+    "http-errors": {
+      "version": "http://r.cnpmjs.org/http-errors/download/http-errors-1.5.1.tgz",
+      "integrity": "sha1-eIwNLB3iyBuebowBhDtrl+uSB1A=",
+      "requires": {
+        "inherits": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz",
+        "setprototypeof": "http://r.cnpmjs.org/setprototypeof/download/setprototypeof-1.0.2.tgz",
+        "statuses": "http://r.cnpmjs.org/statuses/download/statuses-1.3.1.tgz"
+      }
+    },
+    "http-signature": {
+      "version": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+      "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+      "requires": {
+        "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
+        "jsprim": "http://r.cnpmjs.org/jsprim/download/jsprim-1.4.1.tgz",
+        "sshpk": "http://r.cnpmjs.org/sshpk/download/sshpk-1.13.1.tgz"
+      }
+    },
+    "iconv-lite": {
+      "version": "http://r.cnpmjs.org/iconv-lite/download/iconv-lite-0.4.13.tgz",
+      "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI="
+    },
+    "ienoopen": {
+      "version": "http://r.cnpmjs.org/ienoopen/download/ienoopen-1.0.0.tgz",
+      "integrity": "sha1-NGpCj0dKrI9QzzeE6i0PFvYr2ms="
+    },
+    "inherits": {
+      "version": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+    },
+    "ipaddr.js": {
+      "version": "http://r.cnpmjs.org/ipaddr.js/download/ipaddr.js-1.0.5.tgz",
+      "integrity": "sha1-X6eM8wG4JceKvDBC2BJyMEnqI8c="
+    },
+    "is-buffer": {
+      "version": "http://r.cnpmjs.org/is-buffer/download/is-buffer-1.1.5.tgz",
+      "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw="
+    },
+    "is-expression": {
+      "version": "http://r.cnpmjs.org/is-expression/download/is-expression-2.1.0.tgz",
+      "integrity": "sha1-kb6dR968/vB3l36XIr5tz7RGXvA=",
+      "requires": {
+        "acorn": "http://r.cnpmjs.org/acorn/download/acorn-3.3.0.tgz",
+        "object-assign": "http://r.cnpmjs.org/object-assign/download/object-assign-4.1.1.tgz"
+      }
+    },
+    "is-promise": {
+      "version": "http://r.cnpmjs.org/is-promise/download/is-promise-2.1.0.tgz",
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+    },
+    "is-regex": {
+      "version": "http://r.cnpmjs.org/is-regex/download/is-regex-1.0.4.tgz",
+      "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+      "requires": {
+        "has": "http://r.cnpmjs.org/has/download/has-1.0.1.tgz"
+      }
+    },
+    "is-typedarray": {
+      "version": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+    },
+    "isarray": {
+      "version": "http://r.cnpmjs.org/isarray/download/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+    },
+    "isstream": {
+      "version": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+    },
+    "js-base64": {
+      "version": "http://r.cnpmjs.org/js-base64/download/js-base64-2.1.9.tgz",
+      "integrity": "sha1-8OgK4DmkvWVLXygfyT8EqRSn/M4="
+    },
+    "js-stringify": {
+      "version": "http://r.cnpmjs.org/js-stringify/download/js-stringify-1.0.2.tgz",
+      "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds="
+    },
+    "jsbn": {
+      "version": "http://r.cnpmjs.org/jsbn/download/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "optional": true
+    },
+    "json-schema": {
+      "version": "http://r.cnpmjs.org/json-schema/download/json-schema-0.2.3.tgz",
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+    },
+    "json-stable-stringify": {
+      "version": "http://r.cnpmjs.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
+      "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+      "requires": {
+        "jsonify": "http://r.cnpmjs.org/jsonify/download/jsonify-0.0.0.tgz"
+      }
+    },
+    "json-stringify-safe": {
+      "version": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+    },
+    "jsonify": {
+      "version": "http://r.cnpmjs.org/jsonify/download/jsonify-0.0.0.tgz",
+      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+    },
+    "jsprim": {
+      "version": "http://r.cnpmjs.org/jsprim/download/jsprim-1.4.1.tgz",
+      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "requires": {
+        "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+        "extsprintf": "http://r.cnpmjs.org/extsprintf/download/extsprintf-1.3.0.tgz",
+        "json-schema": "http://r.cnpmjs.org/json-schema/download/json-schema-0.2.3.tgz",
+        "verror": "http://r.cnpmjs.org/verror/download/verror-1.10.0.tgz"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "jstransformer": {
+      "version": "http://r.cnpmjs.org/jstransformer/download/jstransformer-1.0.0.tgz",
+      "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=",
+      "requires": {
+        "is-promise": "http://r.cnpmjs.org/is-promise/download/is-promise-2.1.0.tgz",
+        "promise": "http://r.cnpmjs.org/promise/download/promise-7.3.1.tgz"
+      }
+    },
+    "kind-of": {
+      "version": "http://r.cnpmjs.org/kind-of/download/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "requires": {
+        "is-buffer": "http://r.cnpmjs.org/is-buffer/download/is-buffer-1.1.5.tgz"
+      }
+    },
+    "lazy-cache": {
+      "version": "http://r.cnpmjs.org/lazy-cache/download/lazy-cache-1.0.4.tgz",
+      "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
+    },
+    "lodash": {
+      "version": "http://r.cnpmjs.org/lodash/download/lodash-4.17.4.tgz",
+      "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
+    },
+    "lodash.reduce": {
+      "version": "http://r.cnpmjs.org/lodash.reduce/download/lodash.reduce-4.5.0.tgz",
+      "integrity": "sha1-r30uxiEGJEHnfVv0CKHgce+GaRw="
+    },
+    "longest": {
+      "version": "http://r.cnpmjs.org/longest/download/longest-1.0.1.tgz",
+      "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
+    },
+    "media-typer": {
+      "version": "http://r.cnpmjs.org/media-typer/download/media-typer-0.3.0.tgz",
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+    },
+    "merge-descriptors": {
+      "version": "http://r.cnpmjs.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
+      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+    },
+    "methods": {
+      "version": "http://r.cnpmjs.org/methods/download/methods-1.1.2.tgz",
+      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+    },
+    "mime": {
+      "version": "http://r.cnpmjs.org/mime/download/mime-1.3.4.tgz",
+      "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
+    },
+    "mime-db": {
+      "version": "http://r.cnpmjs.org/mime-db/download/mime-db-1.29.0.tgz",
+      "integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg="
+    },
+    "mime-types": {
+      "version": "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.16.tgz",
+      "integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=",
+      "requires": {
+        "mime-db": "http://r.cnpmjs.org/mime-db/download/mime-db-1.29.0.tgz"
+      }
+    },
+    "minimist": {
+      "version": "http://r.cnpmjs.org/minimist/download/minimist-0.0.8.tgz",
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+    },
+    "mkdirp": {
+      "version": "http://r.cnpmjs.org/mkdirp/download/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "requires": {
+        "minimist": "http://r.cnpmjs.org/minimist/download/minimist-0.0.8.tgz"
+      }
+    },
+    "morgan": {
+      "version": "http://r.cnpmjs.org/morgan/download/morgan-1.7.0.tgz",
+      "integrity": "sha1-6xDKjlDRq+D409rVwCAdBS2YHGI=",
+      "requires": {
+        "basic-auth": "http://r.cnpmjs.org/basic-auth/download/basic-auth-1.0.4.tgz",
+        "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+        "depd": "http://r.cnpmjs.org/depd/download/depd-1.1.1.tgz",
+        "on-finished": "http://r.cnpmjs.org/on-finished/download/on-finished-2.3.0.tgz",
+        "on-headers": "http://r.cnpmjs.org/on-headers/download/on-headers-1.0.1.tgz"
+      }
+    },
+    "ms": {
+      "version": "http://r.cnpmjs.org/ms/download/ms-0.7.1.tgz",
+      "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+    },
+    "negotiator": {
+      "version": "http://r.cnpmjs.org/negotiator/download/negotiator-0.5.3.tgz",
+      "integrity": "sha1-Jp1cR2gQ7JLtvntsLygxY4T5p+g="
+    },
+    "nocache": {
+      "version": "http://r.cnpmjs.org/nocache/download/nocache-1.0.1.tgz",
+      "integrity": "sha1-aVyfc2kmp1VPc2X6JeCHlBBlvTY=",
+      "requires": {
+        "depd": "http://r.cnpmjs.org/depd/download/depd-1.1.0.tgz"
+      },
+      "dependencies": {
+        "depd": {
+          "version": "http://r.cnpmjs.org/depd/download/depd-1.1.0.tgz",
+          "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM="
+        }
+      }
+    },
+    "node-ga": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/node-ga/-/node-ga-0.1.1.tgz",
+      "integrity": "sha1-/KMw3ZvGUdMOfJsQbA2cMU7I5lU=",
+      "requires": {
+        "async": "0.2.6"
+      },
+      "dependencies": {
+        "async": {
+          "version": "0.2.6",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.2.6.tgz",
+          "integrity": "sha1-rT83PZJJrjJIgVZVgryQ4VKrvWg="
+        }
+      }
+    },
+    "oauth-sign": {
+      "version": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
+    },
+    "object-assign": {
+      "version": "http://r.cnpmjs.org/object-assign/download/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+    },
+    "on-finished": {
+      "version": "http://r.cnpmjs.org/on-finished/download/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "requires": {
+        "ee-first": "http://r.cnpmjs.org/ee-first/download/ee-first-1.1.1.tgz"
+      }
+    },
+    "on-headers": {
+      "version": "http://r.cnpmjs.org/on-headers/download/on-headers-1.0.1.tgz",
+      "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
+    },
+    "parseurl": {
+      "version": "http://r.cnpmjs.org/parseurl/download/parseurl-1.3.1.tgz",
+      "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
+    },
+    "path-parse": {
+      "version": "http://r.cnpmjs.org/path-parse/download/path-parse-1.0.5.tgz",
+      "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME="
+    },
+    "path-to-regexp": {
+      "version": "http://r.cnpmjs.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
+    },
+    "performance-now": {
+      "version": "http://r.cnpmjs.org/performance-now/download/performance-now-0.2.0.tgz",
+      "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
+    },
+    "platform": {
+      "version": "http://r.cnpmjs.org/platform/download/platform-1.3.1.tgz",
+      "integrity": "sha1-SSIQiSM1vTExwKCN2i2T7DVD5CM="
+    },
+    "process-nextick-args": {
+      "version": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+      "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
+    },
+    "promise": {
+      "version": "http://r.cnpmjs.org/promise/download/promise-7.3.1.tgz",
+      "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=",
+      "requires": {
+        "asap": "http://r.cnpmjs.org/asap/download/asap-2.0.6.tgz"
+      }
+    },
+    "proxy-addr": {
+      "version": "http://r.cnpmjs.org/proxy-addr/download/proxy-addr-1.0.10.tgz",
+      "integrity": "sha1-DUCoL4Afw1VWfS7LZe/j8HfxIcU=",
+      "requires": {
+        "forwarded": "http://r.cnpmjs.org/forwarded/download/forwarded-0.1.0.tgz",
+        "ipaddr.js": "http://r.cnpmjs.org/ipaddr.js/download/ipaddr.js-1.0.5.tgz"
+      }
+    },
+    "pug": {
+      "version": "https://registry.npmjs.org/pug/-/pug-2.0.0-rc.3.tgz",
+      "integrity": "sha1-VTyzw6l7tU7Dyx4IWR3K47b1iJE=",
+      "requires": {
+        "pug-code-gen": "http://r.cnpmjs.org/pug-code-gen/download/pug-code-gen-1.1.1.tgz",
+        "pug-filters": "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.4.tgz",
+        "pug-lexer": "http://r.cnpmjs.org/pug-lexer/download/pug-lexer-3.1.0.tgz",
+        "pug-linker": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.2.tgz",
+        "pug-load": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.8.tgz",
+        "pug-parser": "https://registry.npmjs.org/pug-parser/-/pug-parser-3.0.1.tgz",
+        "pug-runtime": "http://r.cnpmjs.org/pug-runtime/download/pug-runtime-2.0.3.tgz",
+        "pug-strip-comments": "http://r.cnpmjs.org/pug-strip-comments/download/pug-strip-comments-1.0.2.tgz"
+      }
+    },
+    "pug-attrs": {
+      "version": "http://r.cnpmjs.org/pug-attrs/download/pug-attrs-2.0.2.tgz",
+      "integrity": "sha1-i+KyIlVo/6ddG4Zpgr/59BEa/8s=",
+      "requires": {
+        "constantinople": "http://r.cnpmjs.org/constantinople/download/constantinople-3.1.0.tgz",
+        "js-stringify": "http://r.cnpmjs.org/js-stringify/download/js-stringify-1.0.2.tgz",
+        "pug-runtime": "http://r.cnpmjs.org/pug-runtime/download/pug-runtime-2.0.3.tgz"
+      }
+    },
+    "pug-code-gen": {
+      "version": "http://r.cnpmjs.org/pug-code-gen/download/pug-code-gen-1.1.1.tgz",
+      "integrity": "sha1-HPcnRO8qA56uajNAyqoRBYcSWOg=",
+      "requires": {
+        "constantinople": "http://r.cnpmjs.org/constantinople/download/constantinople-3.1.0.tgz",
+        "doctypes": "http://r.cnpmjs.org/doctypes/download/doctypes-1.1.0.tgz",
+        "js-stringify": "http://r.cnpmjs.org/js-stringify/download/js-stringify-1.0.2.tgz",
+        "pug-attrs": "http://r.cnpmjs.org/pug-attrs/download/pug-attrs-2.0.2.tgz",
+        "pug-error": "http://r.cnpmjs.org/pug-error/download/pug-error-1.3.2.tgz",
+        "pug-runtime": "http://r.cnpmjs.org/pug-runtime/download/pug-runtime-2.0.3.tgz",
+        "void-elements": "http://r.cnpmjs.org/void-elements/download/void-elements-2.0.1.tgz",
+        "with": "http://r.cnpmjs.org/with/download/with-5.1.1.tgz"
+      }
+    },
+    "pug-error": {
+      "version": "http://r.cnpmjs.org/pug-error/download/pug-error-1.3.2.tgz",
+      "integrity": "sha1-U659nSm7A89WRJOgJhCfVMR/XyY="
+    },
+    "pug-filters": {
+      "version": "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.4.tgz",
+      "integrity": "sha1-qyR8D1h2VBS2G+e1T+l56fb8iY8=",
+      "requires": {
+        "clean-css": "http://r.cnpmjs.org/clean-css/download/clean-css-3.4.28.tgz",
+        "constantinople": "http://r.cnpmjs.org/constantinople/download/constantinople-3.1.0.tgz",
+        "jstransformer": "http://r.cnpmjs.org/jstransformer/download/jstransformer-1.0.0.tgz",
+        "pug-error": "http://r.cnpmjs.org/pug-error/download/pug-error-1.3.2.tgz",
+        "pug-walk": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.4.tgz",
+        "resolve": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
+        "uglify-js": "http://r.cnpmjs.org/uglify-js/download/uglify-js-2.8.29.tgz"
+      }
+    },
+    "pug-lexer": {
+      "version": "http://r.cnpmjs.org/pug-lexer/download/pug-lexer-3.1.0.tgz",
+      "integrity": "sha1-/QhzdtSmdbT1n4/vQiiDQ06VgaI=",
+      "requires": {
+        "character-parser": "http://r.cnpmjs.org/character-parser/download/character-parser-2.2.0.tgz",
+        "is-expression": "http://r.cnpmjs.org/is-expression/download/is-expression-3.0.0.tgz",
+        "pug-error": "http://r.cnpmjs.org/pug-error/download/pug-error-1.3.2.tgz"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "http://r.cnpmjs.org/acorn/download/acorn-4.0.13.tgz",
+          "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
+        },
+        "is-expression": {
+          "version": "http://r.cnpmjs.org/is-expression/download/is-expression-3.0.0.tgz",
+          "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=",
+          "requires": {
+            "acorn": "http://r.cnpmjs.org/acorn/download/acorn-4.0.13.tgz",
+            "object-assign": "http://r.cnpmjs.org/object-assign/download/object-assign-4.1.1.tgz"
+          }
+        }
+      }
+    },
+    "pug-linker": {
+      "version": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.2.tgz",
+      "integrity": "sha1-zAeAz58/VSKycIcXhUkrmViNMUI=",
+      "requires": {
+        "pug-error": "http://r.cnpmjs.org/pug-error/download/pug-error-1.3.2.tgz",
+        "pug-walk": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.4.tgz"
+      }
+    },
+    "pug-load": {
+      "version": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.8.tgz",
+      "integrity": "sha1-HfHBcW8+aMcNcWmc/5RYRy3Di5s=",
+      "requires": {
+        "object-assign": "http://r.cnpmjs.org/object-assign/download/object-assign-4.1.1.tgz",
+        "pug-walk": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.4.tgz"
+      }
+    },
+    "pug-parser": {
+      "version": "https://registry.npmjs.org/pug-parser/-/pug-parser-3.0.1.tgz",
+      "integrity": "sha1-3Axd1snC2J2mEFq73z0bD7TTm14=",
+      "requires": {
+        "pug-error": "http://r.cnpmjs.org/pug-error/download/pug-error-1.3.2.tgz",
+        "token-stream": "http://r.cnpmjs.org/token-stream/download/token-stream-0.0.1.tgz"
+      }
+    },
+    "pug-runtime": {
+      "version": "http://r.cnpmjs.org/pug-runtime/download/pug-runtime-2.0.3.tgz",
+      "integrity": "sha1-mBYmB7D86eJU1CfzOYelrucWi9o="
+    },
+    "pug-strip-comments": {
+      "version": "http://r.cnpmjs.org/pug-strip-comments/download/pug-strip-comments-1.0.2.tgz",
+      "integrity": "sha1-0xOvoBvMN0mA4TmeI+vy65vchRM=",
+      "requires": {
+        "pug-error": "http://r.cnpmjs.org/pug-error/download/pug-error-1.3.2.tgz"
+      }
+    },
+    "pug-walk": {
+      "version": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.4.tgz",
+      "integrity": "sha1-KeUXSvQ7Z+mcMbRIYy4f+G3dZxw="
+    },
+    "punycode": {
+      "version": "http://r.cnpmjs.org/punycode/download/punycode-1.4.1.tgz",
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+    },
+    "qs": {
+      "version": "http://r.cnpmjs.org/qs/download/qs-6.2.0.tgz",
+      "integrity": "sha1-O3hIwDwt7OaalSKw+ujEEm10Xzs="
+    },
+    "querystring": {
+      "version": "http://r.cnpmjs.org/querystring/download/querystring-0.2.0.tgz",
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+    },
+    "range-parser": {
+      "version": "http://r.cnpmjs.org/range-parser/download/range-parser-1.0.3.tgz",
+      "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU="
+    },
+    "raw-body": {
+      "version": "http://r.cnpmjs.org/raw-body/download/raw-body-2.1.7.tgz",
+      "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
+      "requires": {
+        "bytes": "http://r.cnpmjs.org/bytes/download/bytes-2.4.0.tgz",
+        "iconv-lite": "http://r.cnpmjs.org/iconv-lite/download/iconv-lite-0.4.13.tgz",
+        "unpipe": "http://r.cnpmjs.org/unpipe/download/unpipe-1.0.0.tgz"
+      }
+    },
+    "readable-stream": {
+      "version": "http://r.cnpmjs.org/readable-stream/download/readable-stream-2.3.3.tgz",
+      "integrity": "sha1-No8lEtefnUb9/HE0mueHi7weuVw=",
+      "requires": {
+        "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+        "inherits": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz",
+        "isarray": "http://r.cnpmjs.org/isarray/download/isarray-1.0.0.tgz",
+        "process-nextick-args": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+        "safe-buffer": "http://r.cnpmjs.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
+        "string_decoder": "http://r.cnpmjs.org/string_decoder/download/string_decoder-1.0.3.tgz",
+        "util-deprecate": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+      }
+    },
+    "referrer-policy": {
+      "version": "http://r.cnpmjs.org/referrer-policy/download/referrer-policy-1.0.0.tgz",
+      "integrity": "sha1-9g7tyS+UKwGmEYEh7JMtZuj9fhQ="
+    },
+    "repeat-string": {
+      "version": "http://r.cnpmjs.org/repeat-string/download/repeat-string-1.6.1.tgz",
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+    },
+    "request": {
+      "version": "http://r.cnpmjs.org/request/download/request-2.81.0.tgz",
+      "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
+      "requires": {
+        "aws-sign2": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
+        "aws4": "http://r.cnpmjs.org/aws4/download/aws4-1.6.0.tgz",
+        "caseless": "http://r.cnpmjs.org/caseless/download/caseless-0.12.0.tgz",
+        "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+        "extend": "http://r.cnpmjs.org/extend/download/extend-3.0.1.tgz",
+        "forever-agent": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+        "form-data": "http://r.cnpmjs.org/form-data/download/form-data-2.1.4.tgz",
+        "har-validator": "http://r.cnpmjs.org/har-validator/download/har-validator-4.2.1.tgz",
+        "hawk": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
+        "http-signature": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
+        "is-typedarray": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+        "isstream": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+        "json-stringify-safe": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+        "mime-types": "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.16.tgz",
+        "oauth-sign": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
+        "performance-now": "http://r.cnpmjs.org/performance-now/download/performance-now-0.2.0.tgz",
+        "qs": "http://r.cnpmjs.org/qs/download/qs-6.4.0.tgz",
+        "safe-buffer": "http://r.cnpmjs.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
+        "stringstream": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+        "tough-cookie": "http://r.cnpmjs.org/tough-cookie/download/tough-cookie-2.3.2.tgz",
+        "tunnel-agent": "http://r.cnpmjs.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
+        "uuid": "http://r.cnpmjs.org/uuid/download/uuid-3.1.0.tgz"
+      },
+      "dependencies": {
+        "qs": {
+          "version": "http://r.cnpmjs.org/qs/download/qs-6.4.0.tgz",
+          "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
+        }
+      }
+    },
+    "resolve": {
+      "version": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
+      "integrity": "sha1-p1vgHFPaJdk0qY69DkxKcxL5KoY=",
+      "requires": {
+        "path-parse": "http://r.cnpmjs.org/path-parse/download/path-parse-1.0.5.tgz"
+      }
+    },
+    "right-align": {
+      "version": "http://r.cnpmjs.org/right-align/download/right-align-0.1.3.tgz",
+      "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+      "requires": {
+        "align-text": "http://r.cnpmjs.org/align-text/download/align-text-0.1.4.tgz"
+      }
+    },
+    "safe-buffer": {
+      "version": "http://r.cnpmjs.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
+      "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
+    },
+    "send": {
+      "version": "http://r.cnpmjs.org/send/download/send-0.13.1.tgz",
+      "integrity": "sha1-ow1fTILIqbrprQCh2bG9vm8Zntc=",
+      "requires": {
+        "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+        "depd": "http://r.cnpmjs.org/depd/download/depd-1.1.1.tgz",
+        "destroy": "http://r.cnpmjs.org/destroy/download/destroy-1.0.4.tgz",
+        "escape-html": "http://r.cnpmjs.org/escape-html/download/escape-html-1.0.3.tgz",
+        "etag": "http://r.cnpmjs.org/etag/download/etag-1.7.0.tgz",
+        "fresh": "http://r.cnpmjs.org/fresh/download/fresh-0.3.0.tgz",
+        "http-errors": "http://r.cnpmjs.org/http-errors/download/http-errors-1.3.1.tgz",
+        "mime": "http://r.cnpmjs.org/mime/download/mime-1.3.4.tgz",
+        "ms": "http://r.cnpmjs.org/ms/download/ms-0.7.1.tgz",
+        "on-finished": "http://r.cnpmjs.org/on-finished/download/on-finished-2.3.0.tgz",
+        "range-parser": "http://r.cnpmjs.org/range-parser/download/range-parser-1.0.3.tgz",
+        "statuses": "http://r.cnpmjs.org/statuses/download/statuses-1.2.1.tgz"
+      },
+      "dependencies": {
+        "http-errors": {
+          "version": "http://r.cnpmjs.org/http-errors/download/http-errors-1.3.1.tgz",
+          "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
+          "requires": {
+            "inherits": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz",
+            "statuses": "http://r.cnpmjs.org/statuses/download/statuses-1.2.1.tgz"
+          }
+        },
+        "statuses": {
+          "version": "http://r.cnpmjs.org/statuses/download/statuses-1.2.1.tgz",
+          "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg="
+        }
+      }
+    },
+    "serve-favicon": {
+      "version": "http://r.cnpmjs.org/serve-favicon/download/serve-favicon-2.3.2.tgz",
+      "integrity": "sha1-3UGeJo3gEqtysxnTN/IQUBP5OB8=",
+      "requires": {
+        "etag": "http://r.cnpmjs.org/etag/download/etag-1.7.0.tgz",
+        "fresh": "http://r.cnpmjs.org/fresh/download/fresh-0.3.0.tgz",
+        "ms": "http://r.cnpmjs.org/ms/download/ms-0.7.2.tgz",
+        "parseurl": "http://r.cnpmjs.org/parseurl/download/parseurl-1.3.1.tgz"
+      },
+      "dependencies": {
+        "ms": {
+          "version": "http://r.cnpmjs.org/ms/download/ms-0.7.2.tgz",
+          "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U="
+        }
+      }
+    },
+    "serve-static": {
+      "version": "http://r.cnpmjs.org/serve-static/download/serve-static-1.10.3.tgz",
+      "integrity": "sha1-zlpuzTEB/tXsCYJ9rCKpwpv7BTU=",
+      "requires": {
+        "escape-html": "http://r.cnpmjs.org/escape-html/download/escape-html-1.0.3.tgz",
+        "parseurl": "http://r.cnpmjs.org/parseurl/download/parseurl-1.3.1.tgz",
+        "send": "http://r.cnpmjs.org/send/download/send-0.13.2.tgz"
+      },
+      "dependencies": {
+        "http-errors": {
+          "version": "http://r.cnpmjs.org/http-errors/download/http-errors-1.3.1.tgz",
+          "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI=",
+          "requires": {
+            "inherits": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz",
+            "statuses": "http://r.cnpmjs.org/statuses/download/statuses-1.2.1.tgz"
+          }
+        },
+        "send": {
+          "version": "http://r.cnpmjs.org/send/download/send-0.13.2.tgz",
+          "integrity": "sha1-dl52B8gFVFK7pvCwUllTUJhgNt4=",
+          "requires": {
+            "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+            "depd": "http://r.cnpmjs.org/depd/download/depd-1.1.1.tgz",
+            "destroy": "http://r.cnpmjs.org/destroy/download/destroy-1.0.4.tgz",
+            "escape-html": "http://r.cnpmjs.org/escape-html/download/escape-html-1.0.3.tgz",
+            "etag": "http://r.cnpmjs.org/etag/download/etag-1.7.0.tgz",
+            "fresh": "http://r.cnpmjs.org/fresh/download/fresh-0.3.0.tgz",
+            "http-errors": "http://r.cnpmjs.org/http-errors/download/http-errors-1.3.1.tgz",
+            "mime": "http://r.cnpmjs.org/mime/download/mime-1.3.4.tgz",
+            "ms": "http://r.cnpmjs.org/ms/download/ms-0.7.1.tgz",
+            "on-finished": "http://r.cnpmjs.org/on-finished/download/on-finished-2.3.0.tgz",
+            "range-parser": "http://r.cnpmjs.org/range-parser/download/range-parser-1.0.3.tgz",
+            "statuses": "http://r.cnpmjs.org/statuses/download/statuses-1.2.1.tgz"
+          }
+        },
+        "statuses": {
+          "version": "http://r.cnpmjs.org/statuses/download/statuses-1.2.1.tgz",
+          "integrity": "sha1-3e1FzBglbVHtQK7BQkidXGECbSg="
+        }
+      }
+    },
+    "setprototypeof": {
+      "version": "http://r.cnpmjs.org/setprototypeof/download/setprototypeof-1.0.2.tgz",
+      "integrity": "sha1-gaVSFB7BBLiOic44MQOtXGZWTQg="
+    },
+    "sntp": {
+      "version": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
+      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+      "requires": {
+        "hoek": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz"
+      }
+    },
+    "sorted-object": {
+      "version": "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz",
+      "integrity": "sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw="
+    },
+    "source-map": {
+      "version": "http://r.cnpmjs.org/source-map/download/source-map-0.4.4.tgz",
+      "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+      "requires": {
+        "amdefine": "http://r.cnpmjs.org/amdefine/download/amdefine-1.0.1.tgz"
+      }
+    },
+    "sshpk": {
+      "version": "http://r.cnpmjs.org/sshpk/download/sshpk-1.13.1.tgz",
+      "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
+      "requires": {
+        "asn1": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+        "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+        "bcrypt-pbkdf": "http://r.cnpmjs.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz",
+        "dashdash": "http://r.cnpmjs.org/dashdash/download/dashdash-1.14.1.tgz",
+        "ecc-jsbn": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+        "getpass": "http://r.cnpmjs.org/getpass/download/getpass-0.1.7.tgz",
+        "jsbn": "http://r.cnpmjs.org/jsbn/download/jsbn-0.1.1.tgz",
+        "tweetnacl": "http://r.cnpmjs.org/tweetnacl/download/tweetnacl-0.14.5.tgz"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "statuses": {
+      "version": "http://r.cnpmjs.org/statuses/download/statuses-1.3.1.tgz",
+      "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
+    },
+    "string_decoder": {
+      "version": "http://r.cnpmjs.org/string_decoder/download/string_decoder-1.0.3.tgz",
+      "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=",
+      "requires": {
+        "safe-buffer": "http://r.cnpmjs.org/safe-buffer/download/safe-buffer-5.1.1.tgz"
+      }
+    },
+    "stringstream": {
+      "version": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
+      "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
+    },
+    "superagent": {
+      "version": "http://r.cnpmjs.org/superagent/download/superagent-2.3.0.tgz",
+      "integrity": "sha1-cDUpoHFOV+EjlZ3e+84ZOy5Q0RU=",
+      "requires": {
+        "component-emitter": "http://r.cnpmjs.org/component-emitter/download/component-emitter-1.2.1.tgz",
+        "cookiejar": "http://r.cnpmjs.org/cookiejar/download/cookiejar-2.1.1.tgz",
+        "debug": "http://r.cnpmjs.org/debug/download/debug-2.2.0.tgz",
+        "extend": "http://r.cnpmjs.org/extend/download/extend-3.0.1.tgz",
+        "form-data": "http://r.cnpmjs.org/form-data/download/form-data-1.0.0-rc4.tgz",
+        "formidable": "http://r.cnpmjs.org/formidable/download/formidable-1.1.1.tgz",
+        "methods": "http://r.cnpmjs.org/methods/download/methods-1.1.2.tgz",
+        "mime": "http://r.cnpmjs.org/mime/download/mime-1.3.4.tgz",
+        "qs": "http://r.cnpmjs.org/qs/download/qs-6.2.0.tgz",
+        "readable-stream": "http://r.cnpmjs.org/readable-stream/download/readable-stream-2.3.3.tgz"
+      },
+      "dependencies": {
+        "form-data": {
+          "version": "http://r.cnpmjs.org/form-data/download/form-data-1.0.0-rc4.tgz",
+          "integrity": "sha1-BaxrwiIntD5EYfSIFhVUaZ1Pi14=",
+          "requires": {
+            "async": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+            "combined-stream": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
+            "mime-types": "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.16.tgz"
+          }
+        }
+      }
+    },
+    "token-stream": {
+      "version": "http://r.cnpmjs.org/token-stream/download/token-stream-0.0.1.tgz",
+      "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo="
+    },
+    "tough-cookie": {
+      "version": "http://r.cnpmjs.org/tough-cookie/download/tough-cookie-2.3.2.tgz",
+      "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
+      "requires": {
+        "punycode": "http://r.cnpmjs.org/punycode/download/punycode-1.4.1.tgz"
+      }
+    },
+    "tunnel-agent": {
+      "version": "http://r.cnpmjs.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "requires": {
+        "safe-buffer": "http://r.cnpmjs.org/safe-buffer/download/safe-buffer-5.1.1.tgz"
+      }
+    },
+    "tweetnacl": {
+      "version": "http://r.cnpmjs.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "optional": true
+    },
+    "type-is": {
+      "version": "http://r.cnpmjs.org/type-is/download/type-is-1.6.15.tgz",
+      "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
+      "requires": {
+        "media-typer": "http://r.cnpmjs.org/media-typer/download/media-typer-0.3.0.tgz",
+        "mime-types": "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.16.tgz"
+      }
+    },
+    "uglify-js": {
+      "version": "http://r.cnpmjs.org/uglify-js/download/uglify-js-2.8.29.tgz",
+      "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+      "requires": {
+        "source-map": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+        "uglify-to-browserify": "http://r.cnpmjs.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
+        "yargs": "http://r.cnpmjs.org/yargs/download/yargs-3.10.0.tgz"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        }
+      }
+    },
+    "uglify-to-browserify": {
+      "version": "http://r.cnpmjs.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
+      "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+      "optional": true
+    },
+    "unpipe": {
+      "version": "http://r.cnpmjs.org/unpipe/download/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+    },
+    "util-deprecate": {
+      "version": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+    },
+    "utils-merge": {
+      "version": "http://r.cnpmjs.org/utils-merge/download/utils-merge-1.0.0.tgz",
+      "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
+    },
+    "uuid": {
+      "version": "http://r.cnpmjs.org/uuid/download/uuid-3.1.0.tgz",
+      "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
+    },
+    "vary": {
+      "version": "http://r.cnpmjs.org/vary/download/vary-1.0.1.tgz",
+      "integrity": "sha1-meSYFWaihhGN+yuBc1ffeZM3bRA="
+    },
+    "verror": {
+      "version": "http://r.cnpmjs.org/verror/download/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "requires": {
+        "assert-plus": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+        "core-util-is": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+        "extsprintf": "http://r.cnpmjs.org/extsprintf/download/extsprintf-1.3.0.tgz"
+      },
+      "dependencies": {
+        "assert-plus": {
+          "version": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+        }
+      }
+    },
+    "void-elements": {
+      "version": "http://r.cnpmjs.org/void-elements/download/void-elements-2.0.1.tgz",
+      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w="
+    },
+    "window-size": {
+      "version": "http://r.cnpmjs.org/window-size/download/window-size-0.1.0.tgz",
+      "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
+    },
+    "with": {
+      "version": "http://r.cnpmjs.org/with/download/with-5.1.1.tgz",
+      "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=",
+      "requires": {
+        "acorn": "http://r.cnpmjs.org/acorn/download/acorn-3.3.0.tgz",
+        "acorn-globals": "http://r.cnpmjs.org/acorn-globals/download/acorn-globals-3.1.0.tgz"
+      }
+    },
+    "wordwrap": {
+      "version": "http://r.cnpmjs.org/wordwrap/download/wordwrap-0.0.2.tgz",
+      "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
+    },
+    "x-xss-protection": {
+      "version": "http://r.cnpmjs.org/x-xss-protection/download/x-xss-protection-1.0.0.tgz",
+      "integrity": "sha1-iYr7k4abJGYc+cUvnujbjtB2Tdk="
+    },
+    "yargs": {
+      "version": "http://r.cnpmjs.org/yargs/download/yargs-3.10.0.tgz",
+      "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+      "requires": {
+        "camelcase": "http://r.cnpmjs.org/camelcase/download/camelcase-1.2.1.tgz",
+        "cliui": "http://r.cnpmjs.org/cliui/download/cliui-2.1.0.tgz",
+        "decamelize": "http://r.cnpmjs.org/decamelize/download/decamelize-1.2.0.tgz",
+        "window-size": "http://r.cnpmjs.org/window-size/download/window-size-0.1.0.tgz"
+      }
+    }
+  }
+}

+ 1 - 0
package.json

@@ -39,6 +39,7 @@
     "js-base64": "^2.1.9",
     "js-base64": "^2.1.9",
     "lodash": "^4.17.4",
     "lodash": "^4.17.4",
     "morgan": "~1.7.0",
     "morgan": "~1.7.0",
+    "node-ga": "^0.1.1",
     "pug": "^2.0.0-beta6",
     "pug": "^2.0.0-beta6",
     "querystring": "^0.2.0",
     "querystring": "^0.2.0",
     "request": "^2.81.0",
     "request": "^2.81.0",