This is an automated email from the ASF dual-hosted git repository.

mitchell852 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new 12bbe04  Use latests grunt-browserify to fix audit issues (#4878)
12bbe04 is described below

commit 12bbe04e164747ddd3c686e3541b1328cfdfbabb
Author: Steve Hamrick <[email protected]>
AuthorDate: Wed Jul 15 12:29:41 2020 -0600

    Use latests grunt-browserify to fix audit issues (#4878)
    
    * Use grunt-browserify to fix npm audit issues
    
    * Use exactr versioning
---
 traffic_portal/Gruntfile.js         |   12 +-
 traffic_portal/grunt/browserify.js  |  107 ++
 traffic_portal/grunt/browserify2.js |  167 ---
 traffic_portal/package-lock.json    | 2783 +++++++++++++++++++++++------------
 traffic_portal/package.json         |    5 +-
 5 files changed, 1927 insertions(+), 1147 deletions(-)

diff --git a/traffic_portal/Gruntfile.js b/traffic_portal/Gruntfile.js
index c0ba893..13c8fe1 100644
--- a/traffic_portal/Gruntfile.js
+++ b/traffic_portal/Gruntfile.js
@@ -81,23 +81,23 @@ module.exports = function (grunt) {
     // js (custom)
     grunt.registerTask('build-js', [
         'html2js',
-        'browserify2:app-prod',
-        'browserify2:app-config'
+        'browserify:app-prod',
+        'browserify:app-config'
     ]);
 
     grunt.registerTask('build-js-dev', [
         'html2js',
-        'browserify2:app-dev',
-        'browserify2:app-config'
+        'browserify:app-dev',
+        'browserify:app-config'
     ]);
 
     // js (libraries)
     grunt.registerTask('build-shared-libs', [
-        'browserify2:shared-libs-prod'
+        'browserify:shared-libs-prod'
     ]);
 
     grunt.registerTask('build-shared-libs-dev', [
-        'browserify2:shared-libs-dev'
+        'browserify:shared-libs-dev'
     ]);
 
 };
diff --git a/traffic_portal/grunt/browserify.js 
b/traffic_portal/grunt/browserify.js
new file mode 100644
index 0000000..6fc67d7
--- /dev/null
+++ b/traffic_portal/grunt/browserify.js
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+module.exports = {
+    'shared-libs-prod': {
+        src: ['./<%= globalConfig.srcdir %>/scripts/shared-libs.js'],
+        dest: './<%= globalConfig.resourcesdir %>/assets/js/shared-libs.js',
+        options: {
+            alias: {
+                "angular": "./<%= globalConfig.app 
%>/bower_components/angular/angular.min.js",
+                "angular-animate": './<%= globalConfig.app 
%>/bower_components/angular-animate/angular-animate.min.js',
+                "contextMenu": './<%= globalConfig.app 
%>/bower_components/angular-bootstrap-contextmenu/contextMenu.js',
+                "ui-bootstrap": './<%= globalConfig.app 
%>/bower_components/angular-bootstrap/ui-bootstrap.min.js',
+                "ui-bootstrap-tpls": './<%= globalConfig.app 
%>/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js',
+                "angular-jwt": './<%= globalConfig.app 
%>/bower_components/angular-jwt/dist/angular-jwt.min.js',
+                "loading-bar": './<%= globalConfig.app 
%>/bower_components/angular-loading-bar/build/loading-bar.min.js',
+                "angular-resource": './<%= globalConfig.app 
%>/bower_components/angular-resource/angular-resource.min.js',
+                "angular-route": './<%= globalConfig.app 
%>/bower_components/angular-route/angular-route.min.js',
+                "angular-sanitize": './<%= globalConfig.app 
%>/bower_components/angular-sanitize/angular-sanitize.min.js',
+                "angular-ui-router": './<%= globalConfig.app 
%>/bower_components/angular-ui-router/release/angular-ui-router.min.js',
+                "bootstrap": './<%= globalConfig.app 
%>/bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.min.js',
+                "es5-shim": './<%= globalConfig.app 
%>/bower_components/es5-shim/es5-shim.min.js',
+                "jquery": './<%= globalConfig.app 
%>/bower_components/jquery/jquery.min.js',
+                "json3": './<%= globalConfig.app 
%>/bower_components/json3/lib/json3.min.js',
+                'jquery-flot': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.js',
+                'jquery-flot-pie': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.pie.js',
+                'jquery-flot-stack': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.stack.js',
+                'jquery-flot-time': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.time.js',
+                'jquery-flot-tooltip': './<%= globalConfig.app 
%>/bower_components/flot.tooltip/js/jquery.flot.tooltip.min.js',
+                'jquery-flot-axislabels': './<%= globalConfig.app 
%>/bower_components/flot-axislabels/jquery.flot.axislabels.js',
+            },
+        },
+    },
+    'shared-libs-dev': {
+        src: ['./<%= globalConfig.srcdir %>/scripts/shared-libs.js'],
+        dest: './<%= globalConfig.resourcesdir %>/assets/js/shared-libs.js',
+        options: {
+            alias: {
+                "angular": "./<%= globalConfig.app 
%>/bower_components/angular/angular.min.js",
+                "angular-animate": './<%= globalConfig.app 
%>/bower_components/angular-animate/angular-animate.min.js',
+                "contextMenu": './<%= globalConfig.app 
%>/bower_components/angular-bootstrap-contextmenu/contextMenu.js',
+                "ui-bootstrap": './<%= globalConfig.app 
%>/bower_components/angular-bootstrap/ui-bootstrap.min.js',
+                "ui-bootstrap-tpls": './<%= globalConfig.app 
%>/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js',
+                "angular-jwt": './<%= globalConfig.app 
%>/bower_components/angular-jwt/dist/angular-jwt.min.js',
+                "loading-bar": './<%= globalConfig.app 
%>/bower_components/angular-loading-bar/build/loading-bar.min.js',
+                "angular-resource": './<%= globalConfig.app 
%>/bower_components/angular-resource/angular-resource.min.js',
+                "angular-route": './<%= globalConfig.app 
%>/bower_components/angular-route/angular-route.min.js',
+                "angular-sanitize": './<%= globalConfig.app 
%>/bower_components/angular-sanitize/angular-sanitize.min.js',
+                "angular-ui-router": './<%= globalConfig.app 
%>/bower_components/angular-ui-router/release/angular-ui-router.min.js',
+                "bootstrap": './<%= globalConfig.app 
%>/bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.min.js',
+                "es5-shim": './<%= globalConfig.app 
%>/bower_components/es5-shim/es5-shim.min.js',
+                "jquery": './<%= globalConfig.app 
%>/bower_components/jquery/jquery.min.js',
+                "json3": './<%= globalConfig.app 
%>/bower_components/json3/lib/json3.min.js',
+                'jquery-flot': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.js',
+                'jquery-flot-pie': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.pie.js',
+                'jquery-flot-stack': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.stack.js',
+                'jquery-flot-time': './<%= globalConfig.app 
%>/bower_components/flot/jquery.flot.time.js',
+                'jquery-flot-tooltip': './<%= globalConfig.app 
%>/bower_components/flot.tooltip/js/jquery.flot.tooltip.min.js',
+                'jquery-flot-axislabels': './<%= globalConfig.app 
%>/bower_components/flot-axislabels/jquery.flot.axislabels.js',
+            },
+        },
+    },
+    'app-prod': {
+        src: ['./<%= globalConfig.srcdir %>/app.js'],
+        dest: './<%= globalConfig.resourcesdir %>/assets/js/app.js',
+        browserifyOptions: {
+            debug: false,
+        },
+        options: {
+            alias: {
+                'app-templates': './<%= globalConfig.tmpdir 
%>/app-templates.js'
+            }
+        }
+    },
+    'app-dev': {
+        src: ['./<%= globalConfig.srcdir %>/app.js'],
+        dest: './<%= globalConfig.resourcesdir %>/assets/js/app.js',
+        browserifyOptions: {
+            debug: true,
+        },
+        options: {
+            alias: {
+                'app-templates':'./<%= globalConfig.tmpdir %>/app-templates.js'
+            }
+        }
+    },
+    'app-config': {
+        src: ['./<%= globalConfig.srcdir %>/scripts/config.js'],
+        dest: './<%= globalConfig.resourcesdir %>/assets/js/config.js'
+    }
+};
diff --git a/traffic_portal/grunt/browserify2.js 
b/traffic_portal/grunt/browserify2.js
deleted file mode 100644
index 9f77bb8..0000000
--- a/traffic_portal/grunt/browserify2.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-module.exports = {
-    'shared-libs-prod': {
-        entry: './<%= globalConfig.srcdir %>/scripts/shared-libs.js',
-        compile: './<%= globalConfig.resourcesdir %>/assets/js/shared-libs.js',
-        options: {
-            expose: {
-                files: [
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src:
-                            [
-                                'angular/angular.min.js',
-                                'angular-animate/angular-animate.min.js',
-                                'angular-bootstrap-contextmenu/contextMenu.js',
-                                'angular-bootstrap/ui-bootstrap.min.js',
-                                'angular-bootstrap/ui-bootstrap-tpls.min.js',
-                                'angular-jwt/dist/angular-jwt.min.js',
-                                'angular-loading-bar/build/loading-bar.min.js',
-                                'angular-resource/angular-resource.min.js',
-                                'angular-route/angular-route.min.js',
-                                'angular-sanitize/angular-sanitize.min.js',
-                                
'angular-ui-router/release/angular-ui-router.min.js',
-                                
'bootstrap-sass-official/assets/javascripts/bootstrap.min.js',
-                                'es5-shim/es5-shim.min.js',
-                                'jquery/jquery.min.js',
-                                'json3/lib/json3.min.js'
-                            ]
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.js' ],
-                        rename: function () { return 'jquery-flot.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.pie.js' ],
-                        rename: function () { return 'jquery-flot-pie.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.stack.js' ],
-                        rename: function () { return 'jquery-flot-stack.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.time.js' ],
-                        rename: function () { return 'jquery-flot-time.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot.tooltip/js/jquery.flot.tooltip.min.js' ],
-                        rename: function () { return 
'jquery-flot-tooltip.min.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot-axislabels/jquery.flot.axislabels.js' ],
-                        rename: function () { return 
'jquery-flot-axislabels.js'; }
-                    }
-                ]
-            }
-        }
-    },
-    'shared-libs-dev': {
-        entry: './<%= globalConfig.srcdir %>/scripts/shared-libs.js',
-        compile: './<%= globalConfig.resourcesdir %>/assets/js/shared-libs.js',
-        options: {
-            expose: {
-                files: [
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src:
-                            [
-                                'angular/angular.js',
-                                'angular-animate/angular-animate.js',
-                                'angular-bootstrap-contextmenu/contextMenu.js',
-                                'angular-bootstrap/ui-bootstrap.js',
-                                'angular-bootstrap/ui-bootstrap-tpls.js',
-                                'angular-jwt/dist/angular-jwt.js',
-                                'angular-loading-bar/build/loading-bar.js',
-                                'angular-resource/angular-resource.js',
-                                'angular-route/angular-route.js',
-                                'angular-sanitize/angular-sanitize.js',
-                                
'angular-ui-router/release/angular-ui-router.js',
-                                
'bootstrap-sass-official/assets/javascripts/bootstrap.js',
-                                'es5-shim/es5-shim.js',
-                                'jquery/jquery.js',
-                                'json3/lib/json3.js'
-                            ]
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.js' ],
-                        rename: function () { return 'jquery-flot.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.pie.js' ],
-                        rename: function () { return 'jquery-flot-pie.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.stack.js' ],
-                        rename: function () { return 'jquery-flot-stack.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot/jquery.flot.time.js' ],
-                        rename: function () { return 'jquery-flot-time.js'; }
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot.tooltip/js/jquery.flot.tooltip.js' ],
-                        rename: function () { return 'jquery-flot-tooltip.js'; 
}
-                    },
-                    {
-                        cwd: '<%= globalConfig.app %>/bower_components/',
-                        src: [ 'flot-axislabels/jquery.flot.axislabels.js' ],
-                        rename: function () { return 
'jquery-flot-axislabels.js'; }
-                    }
-                ]
-            }
-        }
-    },
-    'app-prod': {
-        entry: './<%= globalConfig.srcdir %>/app.js',
-        compile: './<%= globalConfig.resourcesdir %>/assets/js/app.js',
-        debug: false,
-        options: {
-            expose: {
-                'app-templates':'./<%= globalConfig.tmpdir %>/app-templates.js'
-            }
-        }
-    },
-    'app-dev': {
-        entry: './<%= globalConfig.srcdir %>/app.js',
-        compile: './<%= globalConfig.resourcesdir %>/assets/js/app.js',
-        debug: true,
-        options: {
-            expose: {
-                'app-templates':'./<%= globalConfig.tmpdir %>/app-templates.js'
-            }
-        }
-    },
-    'app-config': {
-        entry: './<%= globalConfig.srcdir %>/scripts/config.js',
-        compile: './<%= globalConfig.resourcesdir %>/assets/js/config.js'
-    }
-};
diff --git a/traffic_portal/package-lock.json b/traffic_portal/package-lock.json
index bb3507c..59ccb38 100644
--- a/traffic_portal/package-lock.json
+++ b/traffic_portal/package-lock.json
@@ -33,12 +33,21 @@
       "dev": true
     },
     "JSONStream": {
-      "version": "0.4.4",
-      "resolved": 
"https://registry.npmjs.org/JSONStream/-/JSONStream-0.4.4.tgz";,
-      "integrity": "sha1-zCzxGShsRb4VBCPLwSjUgOm1SuI=",
+      "version": "1.3.5",
+      "resolved": 
"https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";,
+      "integrity": 
"sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
       "dev": true,
       "requires": {
-        "jsonparse": "0.0.5"
+        "jsonparse": "^1.2.0",
+        "through": ">=2.2.7 <3"
+      },
+      "dependencies": {
+        "jsonparse": {
+          "version": "1.3.1",
+          "resolved": 
"https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";,
+          "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+          "dev": true
+        }
       }
     },
     "abbrev": {
@@ -83,6 +92,31 @@
         }
       }
     },
+    "acorn-node": {
+      "version": "1.8.2",
+      "resolved": 
"https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz";,
+      "integrity": 
"sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+      "dev": true,
+      "requires": {
+        "acorn": "^7.0.0",
+        "acorn-walk": "^7.0.0",
+        "xtend": "^4.0.2"
+      },
+      "dependencies": {
+        "acorn": {
+          "version": "7.3.1",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz";,
+          "integrity": 
"sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==",
+          "dev": true
+        }
+      }
+    },
+    "acorn-walk": {
+      "version": "7.2.0",
+      "resolved": 
"https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz";,
+      "integrity": 
"sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+      "dev": true
+    },
     "ag-grid-community": {
       "version": "23.2.0",
       "resolved": 
"https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-23.2.0.tgz";,
@@ -112,12 +146,6 @@
         }
       }
     },
-    "amdefine": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";,
-      "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
-      "dev": true
-    },
     "ansi-regex": {
       "version": "2.1.1",
       "resolved": 
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";,
@@ -241,29 +269,58 @@
       "dev": true,
       "optional": true
     },
-    "assign-symbols": {
-      "version": "1.0.0",
-      "resolved": 
"https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";,
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
+    "asn1.js": {
+      "version": "4.10.1",
+      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz";,
+      "integrity": 
"sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+      "dev": true,
+      "requires": {
+        "bn.js": "^4.0.0",
+        "inherits": "^2.0.1",
+        "minimalistic-assert": "^1.0.0"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";,
+          "integrity": 
"sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
+      }
     },
-    "astw": {
-      "version": "0.0.0",
-      "resolved": "https://registry.npmjs.org/astw/-/astw-0.0.0.tgz";,
-      "integrity": "sha1-RJCGaj7xFqr5GtumPKfd9wttWb0=",
+    "assert": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz";,
+      "integrity": 
"sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
       "dev": true,
       "requires": {
-        "esprima": "1.0.2"
+        "object-assign": "^4.1.1",
+        "util": "0.10.3"
       },
       "dependencies": {
-        "esprima": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz";,
-          "integrity": "sha1-gDm/nOrE2dLBX2IyZPspK1UCzq8=",
+        "inherits": {
+          "version": "2.0.1",
+          "resolved": 
"https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";,
+          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
           "dev": true
+        },
+        "util": {
+          "version": "0.10.3",
+          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz";,
+          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+          "dev": true,
+          "requires": {
+            "inherits": "2.0.1"
+          }
         }
       }
     },
+    "assign-symbols": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";,
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+      "dev": true
+    },
     "async": {
       "version": "1.5.2",
       "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz";,
@@ -374,12 +431,6 @@
         }
       }
     },
-    "base64-js": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.2.tgz";,
-      "integrity": "sha1-Ak8Pcq+iW3X5wO5zzU9V7Bvtl4Q=",
-      "dev": true
-    },
     "basic-auth": {
       "version": "2.0.1",
       "resolved": 
"https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz";,
@@ -405,6 +456,12 @@
         "file-uri-to-path": "1.0.0"
       }
     },
+    "bn.js": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz";,
+      "integrity": 
"sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==",
+      "dev": true
+    },
     "body": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz";,
@@ -496,33 +553,24 @@
       }
     },
     "bower-config": {
-      "version": "1.4.1",
-      "resolved": 
"https://registry.npmjs.org/bower-config/-/bower-config-1.4.1.tgz";,
-      "integrity": "sha1-hf2d82fCuNu9DKpMXyutQM2Ewsw=",
+      "version": "1.4.3",
+      "resolved": 
"https://registry.npmjs.org/bower-config/-/bower-config-1.4.3.tgz";,
+      "integrity": 
"sha512-MVyyUk3d1S7d2cl6YISViwJBc2VXCkxF5AUFykvN0PQj5FsUiMNSgAYTso18oRFfyZ6XEtjrgg9MAaufHbOwNw==",
       "dev": true,
       "requires": {
         "graceful-fs": "^4.1.3",
+        "minimist": "^0.2.1",
         "mout": "^1.0.0",
-        "optimist": "^0.6.1",
         "osenv": "^0.1.3",
-        "untildify": "^2.1.0"
+        "untildify": "^2.1.0",
+        "wordwrap": "^0.0.3"
       },
       "dependencies": {
         "minimist": {
-          "version": "0.0.10",
-          "resolved": 
"https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";,
-          "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+          "version": "0.2.1",
+          "resolved": 
"https://registry.npmjs.org/minimist/-/minimist-0.2.1.tgz";,
+          "integrity": 
"sha512-GY8fANSrTMfBVfInqJAY41QkOM+upUTytK1jZ0c8+3HdHrJxBJ3rF5i9moClXTE8uUSnUo8cAsCoxDXvSY4DHg==",
           "dev": true
-        },
-        "optimist": {
-          "version": "0.6.1",
-          "resolved": 
"https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";,
-          "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
-          "dev": true,
-          "requires": {
-            "minimist": "~0.0.1",
-            "wordwrap": "~0.0.2"
-          }
         }
       }
     },
@@ -565,80 +613,292 @@
         }
       }
     },
+    "brorand": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz";,
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+      "dev": true
+    },
     "browser-pack": {
-      "version": "0.8.1",
-      "resolved": 
"https://registry.npmjs.org/browser-pack/-/browser-pack-0.8.1.tgz";,
-      "integrity": "sha1-ptDW3fPeUgFy+BFM+7PZs0DCMtc=",
+      "version": "6.1.0",
+      "resolved": 
"https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz";,
+      "integrity": 
"sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
       "dev": true,
       "requires": {
-        "JSONStream": "~0.4.3",
-        "combine-source-map": "~0.1.1",
-        "duplexer": "~0.0.3",
-        "through": "~2.2.0",
-        "uglify-js": "1.3.4"
+        "JSONStream": "^1.0.3",
+        "combine-source-map": "~0.8.0",
+        "defined": "^1.0.0",
+        "safe-buffer": "^5.1.1",
+        "through2": "^2.0.0",
+        "umd": "^3.0.0"
       }
     },
     "browser-resolve": {
-      "version": "0.1.1",
-      "resolved": 
"https://registry.npmjs.org/browser-resolve/-/browser-resolve-0.1.1.tgz";,
-      "integrity": "sha1-Mdra8yFkkF/xQu67jO0U59X+a68=",
+      "version": "1.11.3",
+      "resolved": 
"https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz";,
+      "integrity": 
"sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
       "dev": true,
       "requires": {
-        "buffer-browserify": "0.0.5",
-        "console-browserify": "0.1.6",
-        "crypto-browserify": "0.2.1",
-        "http-browserify": "0.1.11",
-        "resolve": "0.3.1",
-        "vm-browserify": "0.0.1",
-        "zlib-browserify": "0.0.1"
+        "resolve": "1.1.7"
       },
       "dependencies": {
         "resolve": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";,
-          "integrity": "sha1-NMY0R8ZkxwWY0cmxJvxDsqJDEKQ=",
+          "version": "1.1.7",
+          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";,
+          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
           "dev": true
         }
       }
     },
     "browserify": {
-      "version": "2.14.2",
-      "resolved": 
"https://registry.npmjs.org/browserify/-/browserify-2.14.2.tgz";,
-      "integrity": "sha1-TXqBzyQ8xT0w5DJW/Tf//7J7DHE=",
-      "dev": true,
-      "requires": {
-        "JSONStream": "~0.4.3",
-        "browser-pack": "~0.8.0",
-        "browser-resolve": "~0.1.1",
-        "concat-stream": "~0.1.1",
-        "duplexer": "~0.0.2",
-        "inherits": "~1.0.0",
-        "insert-module-globals": "~0.2.0",
-        "module-deps": "~0.8.0",
-        "optimist": "~0.3.5",
-        "shell-quote": "~0.0.1",
-        "syntax-error": "~0.0.0",
-        "through": "~2.2.0",
-        "umd": "~1.1.0"
+      "version": "16.5.1",
+      "resolved": 
"https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz";,
+      "integrity": 
"sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==",
+      "dev": true,
+      "requires": {
+        "JSONStream": "^1.0.3",
+        "assert": "^1.4.0",
+        "browser-pack": "^6.0.1",
+        "browser-resolve": "^1.11.0",
+        "browserify-zlib": "~0.2.0",
+        "buffer": "~5.2.1",
+        "cached-path-relative": "^1.0.0",
+        "concat-stream": "^1.6.0",
+        "console-browserify": "^1.1.0",
+        "constants-browserify": "~1.0.0",
+        "crypto-browserify": "^3.0.0",
+        "defined": "^1.0.0",
+        "deps-sort": "^2.0.0",
+        "domain-browser": "^1.2.0",
+        "duplexer2": "~0.1.2",
+        "events": "^2.0.0",
+        "glob": "^7.1.0",
+        "has": "^1.0.0",
+        "htmlescape": "^1.1.0",
+        "https-browserify": "^1.0.0",
+        "inherits": "~2.0.1",
+        "insert-module-globals": "^7.0.0",
+        "labeled-stream-splicer": "^2.0.0",
+        "mkdirp-classic": "^0.5.2",
+        "module-deps": "^6.0.0",
+        "os-browserify": "~0.3.0",
+        "parents": "^1.0.1",
+        "path-browserify": "~0.0.0",
+        "process": "~0.11.0",
+        "punycode": "^1.3.2",
+        "querystring-es3": "~0.2.0",
+        "read-only-stream": "^2.0.0",
+        "readable-stream": "^2.0.2",
+        "resolve": "^1.1.4",
+        "shasum": "^1.0.0",
+        "shell-quote": "^1.6.1",
+        "stream-browserify": "^2.0.0",
+        "stream-http": "^3.0.0",
+        "string_decoder": "^1.1.1",
+        "subarg": "^1.0.0",
+        "syntax-error": "^1.1.1",
+        "through2": "^2.0.0",
+        "timers-browserify": "^1.0.1",
+        "tty-browserify": "0.0.1",
+        "url": "~0.11.0",
+        "util": "~0.10.1",
+        "vm-browserify": "^1.0.0",
+        "xtend": "^4.0.0"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";,
+          "integrity": 
"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        }
+      }
+    },
+    "browserify-aes": {
+      "version": "1.2.0",
+      "resolved": 
"https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz";,
+      "integrity": 
"sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+      "dev": true,
+      "requires": {
+        "buffer-xor": "^1.0.3",
+        "cipher-base": "^1.0.0",
+        "create-hash": "^1.1.0",
+        "evp_bytestokey": "^1.0.3",
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "browserify-cache-api": {
+      "version": "3.0.1",
+      "resolved": 
"https://registry.npmjs.org/browserify-cache-api/-/browserify-cache-api-3.0.1.tgz";,
+      "integrity": "sha1-liR+hT8Gj9bg1FzHPwuyzZd47wI=",
+      "dev": true,
+      "requires": {
+        "async": "^1.5.2",
+        "through2": "^2.0.0",
+        "xtend": "^4.0.0"
+      }
+    },
+    "browserify-cipher": {
+      "version": "1.0.1",
+      "resolved": 
"https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz";,
+      "integrity": 
"sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+      "dev": true,
+      "requires": {
+        "browserify-aes": "^1.0.4",
+        "browserify-des": "^1.0.0",
+        "evp_bytestokey": "^1.0.0"
+      }
+    },
+    "browserify-des": {
+      "version": "1.0.2",
+      "resolved": 
"https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz";,
+      "integrity": 
"sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+      "dev": true,
+      "requires": {
+        "cipher-base": "^1.0.1",
+        "des.js": "^1.0.0",
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.1.2"
+      }
+    },
+    "browserify-incremental": {
+      "version": "3.1.1",
+      "resolved": 
"https://registry.npmjs.org/browserify-incremental/-/browserify-incremental-3.1.1.tgz";,
+      "integrity": "sha1-BxPLdYckemMqnwjPG9FpuHi2Koo=",
+      "dev": true,
+      "requires": {
+        "JSONStream": "^0.10.0",
+        "browserify-cache-api": "^3.0.0",
+        "through2": "^2.0.0",
+        "xtend": "^4.0.0"
+      },
+      "dependencies": {
+        "JSONStream": {
+          "version": "0.10.0",
+          "resolved": 
"https://registry.npmjs.org/JSONStream/-/JSONStream-0.10.0.tgz";,
+          "integrity": "sha1-dDSdDYlSK3HzDwoD/5vSDKbxKsA=",
+          "dev": true,
+          "requires": {
+            "jsonparse": "0.0.5",
+            "through": ">=2.2.7 <3"
+          }
+        }
+      }
+    },
+    "browserify-rsa": {
+      "version": "4.0.1",
+      "resolved": 
"https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz";,
+      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+      "dev": true,
+      "requires": {
+        "bn.js": "^4.1.0",
+        "randombytes": "^2.0.1"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";,
+          "integrity": 
"sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
+      }
+    },
+    "browserify-sign": {
+      "version": "4.2.0",
+      "resolved": 
"https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz";,
+      "integrity": 
"sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==",
+      "dev": true,
+      "requires": {
+        "bn.js": "^5.1.1",
+        "browserify-rsa": "^4.0.1",
+        "create-hash": "^1.2.0",
+        "create-hmac": "^1.1.7",
+        "elliptic": "^6.5.2",
+        "inherits": "^2.0.4",
+        "parse-asn1": "^5.1.5",
+        "readable-stream": "^3.6.0",
+        "safe-buffer": "^5.2.0"
       },
       "dependencies": {
         "inherits": {
-          "version": "1.0.2",
-          "resolved": 
"https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";,
-          "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
+          "version": "2.0.4",
+          "resolved": 
"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";,
+          "integrity": 
"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "3.6.0",
+          "resolved": 
"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";,
+          "integrity": 
"sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+          "dev": true,
+          "requires": {
+            "inherits": "^2.0.3",
+            "string_decoder": "^1.1.1",
+            "util-deprecate": "^1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": 
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";,
+          "integrity": 
"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
           "dev": true
         }
       }
     },
-    "buffer-browserify": {
-      "version": "0.0.5",
-      "resolved": 
"https://registry.npmjs.org/buffer-browserify/-/buffer-browserify-0.0.5.tgz";,
-      "integrity": "sha1-iqaGMciogpxqTufvmjrH8sMemD4=",
+    "browserify-zlib": {
+      "version": "0.2.0",
+      "resolved": 
"https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz";,
+      "integrity": 
"sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+      "dev": true,
+      "requires": {
+        "pako": "~1.0.5"
+      }
+    },
+    "buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz";,
+      "integrity": 
"sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
       "dev": true,
       "requires": {
-        "base64-js": "0.0.2"
+        "base64-js": "^1.0.2",
+        "ieee754": "^1.1.4"
+      },
+      "dependencies": {
+        "base64-js": {
+          "version": "1.3.1",
+          "resolved": 
"https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz";,
+          "integrity": 
"sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
+          "dev": true
+        }
       }
     },
+    "buffer-from": {
+      "version": "1.1.1",
+      "resolved": 
"https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";,
+      "integrity": 
"sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+      "dev": true
+    },
+    "buffer-xor": {
+      "version": "1.0.3",
+      "resolved": 
"https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";,
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+      "dev": true
+    },
+    "builtin-status-codes": {
+      "version": "3.0.0",
+      "resolved": 
"https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";,
+      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+      "dev": true
+    },
     "bytes": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz";,
@@ -662,10 +922,10 @@
         "unset-value": "^1.0.0"
       }
     },
-    "callsite": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";,
-      "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+    "cached-path-relative": {
+      "version": "1.0.2",
+      "resolved": 
"https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz";,
+      "integrity": 
"sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==",
       "dev": true
     },
     "camel-case": {
@@ -746,6 +1006,16 @@
         "upath": "^1.1.1"
       }
     },
+    "cipher-base": {
+      "version": "1.0.4",
+      "resolved": 
"https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz";,
+      "integrity": 
"sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      }
+    },
     "class-utils": {
       "version": "0.3.6",
       "resolved": 
"https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";,
@@ -833,12 +1103,6 @@
         }
       }
     },
-    "coffee-script": {
-      "version": "1.12.7",
-      "resolved": 
"https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz";,
-      "integrity": 
"sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
-      "dev": true
-    },
     "coffeescript": {
       "version": "1.10.0",
       "resolved": 
"https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz";,
@@ -877,14 +1141,15 @@
       "dev": true
     },
     "combine-source-map": {
-      "version": "0.1.3",
-      "resolved": 
"https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.1.3.tgz";,
-      "integrity": "sha1-3bdZOg8WcriCEnAiUBR7xOnqlc8=",
+      "version": "0.8.0",
+      "resolved": 
"https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz";,
+      "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
       "dev": true,
       "requires": {
-        "convert-source-map": "~0.2.3",
-        "inline-source-map": "~0.2.1",
-        "parse-base64vlq-mappings": "~0.1.1"
+        "convert-source-map": "~1.1.0",
+        "inline-source-map": "~0.6.0",
+        "lodash.memoize": "~3.0.3",
+        "source-map": "~0.5.3"
       }
     },
     "commander": {
@@ -893,12 +1158,6 @@
       "integrity": 
"sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
       "dev": true
     },
-    "commondir": {
-      "version": "0.0.2",
-      "resolved": "https://registry.npmjs.org/commondir/-/commondir-0.0.2.tgz";,
-      "integrity": "sha1-xJyIgMb+loRLs1Jd0ucxQFDDie4=",
-      "dev": true
-    },
     "component-emitter": {
       "version": "1.3.0",
       "resolved": 
"https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz";,
@@ -912,10 +1171,16 @@
       "dev": true
     },
     "concat-stream": {
-      "version": "0.1.1",
-      "resolved": 
"https://registry.npmjs.org/concat-stream/-/concat-stream-0.1.1.tgz";,
-      "integrity": "sha1-1/TieLkM/E8PPvd/5MA7QOs/eQA=",
-      "dev": true
+      "version": "1.6.2",
+      "resolved": 
"https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";,
+      "integrity": 
"sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+      "dev": true,
+      "requires": {
+        "buffer-from": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.2.2",
+        "typedarray": "^0.0.6"
+      }
     },
     "connect-livereload": {
       "version": "0.6.1",
@@ -945,9 +1210,9 @@
       }
     },
     "console-browserify": {
-      "version": "0.1.6",
-      "resolved": 
"https://registry.npmjs.org/console-browserify/-/console-browserify-0.1.6.tgz";,
-      "integrity": "sha1-0SijwLuINQ61YmxufHGm8P1ImDw=",
+      "version": "1.2.0",
+      "resolved": 
"https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";,
+      "integrity": 
"sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
       "dev": true
     },
     "constantinople": {
@@ -963,6 +1228,12 @@
         "babylon": "^6.18.0"
       }
     },
+    "constants-browserify": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";,
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+      "dev": true
+    },
     "content-disposition": {
       "version": "0.5.3",
       "resolved": 
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz";,
@@ -985,9 +1256,9 @@
       "dev": true
     },
     "convert-source-map": {
-      "version": "0.2.6",
-      "resolved": 
"https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.2.6.tgz";,
-      "integrity": "sha1-rg7XNuimNEpYtQqJRyPeXIUd4tQ=",
+      "version": "1.1.3",
+      "resolved": 
"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";,
+      "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
       "dev": true
     },
     "cookie": {
@@ -1021,11 +1292,69 @@
       "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
       "dev": true
     },
+    "create-ecdh": {
+      "version": "4.0.3",
+      "resolved": 
"https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz";,
+      "integrity": 
"sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+      "dev": true,
+      "requires": {
+        "bn.js": "^4.1.0",
+        "elliptic": "^6.0.0"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";,
+          "integrity": 
"sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
+      }
+    },
+    "create-hash": {
+      "version": "1.2.0",
+      "resolved": 
"https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz";,
+      "integrity": 
"sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+      "dev": true,
+      "requires": {
+        "cipher-base": "^1.0.1",
+        "inherits": "^2.0.1",
+        "md5.js": "^1.3.4",
+        "ripemd160": "^2.0.1",
+        "sha.js": "^2.4.0"
+      }
+    },
+    "create-hmac": {
+      "version": "1.1.7",
+      "resolved": 
"https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz";,
+      "integrity": 
"sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+      "dev": true,
+      "requires": {
+        "cipher-base": "^1.0.3",
+        "create-hash": "^1.1.0",
+        "inherits": "^2.0.1",
+        "ripemd160": "^2.0.0",
+        "safe-buffer": "^5.0.1",
+        "sha.js": "^2.4.8"
+      }
+    },
     "crypto-browserify": {
-      "version": "0.2.1",
-      "resolved": 
"https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-0.2.1.tgz";,
-      "integrity": "sha1-MD7ZBG+GBKPXw17EptRtImhxIHg=",
-      "dev": true
+      "version": "3.12.0",
+      "resolved": 
"https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";,
+      "integrity": 
"sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+      "dev": true,
+      "requires": {
+        "browserify-cipher": "^1.0.0",
+        "browserify-sign": "^4.0.0",
+        "create-ecdh": "^4.0.0",
+        "create-hash": "^1.1.0",
+        "create-hmac": "^1.1.0",
+        "diffie-hellman": "^5.0.0",
+        "inherits": "^2.0.1",
+        "pbkdf2": "^3.0.3",
+        "public-encrypt": "^4.0.0",
+        "randombytes": "^2.0.0",
+        "randomfill": "^1.0.3"
+      }
     },
     "cson": {
       "version": "5.1.0",
@@ -1039,6 +1368,14 @@
         "extract-opts": "^3.3.1",
         "requirefresh": "^2.1.0",
         "safefs": "^4.1.0"
+      },
+      "dependencies": {
+        "coffee-script": {
+          "version": "1.12.7",
+          "resolved": 
"https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz";,
+          "integrity": 
"sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
+          "dev": true
+        }
       }
     },
     "cson-parser": {
@@ -1048,6 +1385,14 @@
       "dev": true,
       "requires": {
         "coffee-script": "^1.10.0"
+      },
+      "dependencies": {
+        "coffee-script": {
+          "version": "1.12.7",
+          "resolved": 
"https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz";,
+          "integrity": 
"sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
+          "dev": true
+        }
       }
     },
     "currently-unhandled": {
@@ -1065,6 +1410,12 @@
       "integrity": "sha1-I2Stn0Qfl23NX+mWHiFxVmWl48M=",
       "dev": true
     },
+    "dash-ast": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz";,
+      "integrity": 
"sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==",
+      "dev": true
+    },
     "date-now": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";,
@@ -1160,12 +1511,58 @@
         }
       }
     },
+    "defined": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz";,
+      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+      "dev": true
+    },
     "depd": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";,
       "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
       "dev": true
     },
+    "deps-sort": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz";,
+      "integrity": 
"sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
+      "dev": true,
+      "requires": {
+        "JSONStream": "^1.0.3",
+        "shasum-object": "^1.0.0",
+        "subarg": "^1.0.0",
+        "through2": "^2.0.0"
+      },
+      "dependencies": {
+        "JSONStream": {
+          "version": "1.3.5",
+          "resolved": 
"https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";,
+          "integrity": 
"sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+          "dev": true,
+          "requires": {
+            "jsonparse": "^1.2.0",
+            "through": ">=2.2.7 <3"
+          }
+        },
+        "jsonparse": {
+          "version": "1.3.1",
+          "resolved": 
"https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";,
+          "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+          "dev": true
+        }
+      }
+    },
+    "des.js": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz";,
+      "integrity": 
"sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.1",
+        "minimalistic-assert": "^1.0.0"
+      }
+    },
     "destroy": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";,
@@ -1173,19 +1570,31 @@
       "dev": true
     },
     "detective": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/detective/-/detective-2.1.2.tgz";,
-      "integrity": "sha1-0irZ8YyC77P1X+4uJEiD2mu7jjc=",
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz";,
+      "integrity": 
"sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
+      "dev": true,
+      "requires": {
+        "acorn-node": "^1.6.1",
+        "defined": "^1.0.0",
+        "minimist": "^1.1.1"
+      }
+    },
+    "diffie-hellman": {
+      "version": "5.0.3",
+      "resolved": 
"https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz";,
+      "integrity": 
"sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
       "dev": true,
       "requires": {
-        "escodegen": "0.0.15",
-        "esprima": "1.0.2"
+        "bn.js": "^4.1.0",
+        "miller-rabin": "^4.0.0",
+        "randombytes": "^2.0.0"
       },
       "dependencies": {
-        "esprima": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.2.tgz";,
-          "integrity": "sha1-gDm/nOrE2dLBX2IyZPspK1UCzq8=",
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";,
+          "integrity": 
"sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
           "dev": true
         }
       }
@@ -1221,6 +1630,12 @@
         }
       }
     },
+    "domain-browser": {
+      "version": "1.2.0",
+      "resolved": 
"https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";,
+      "integrity": 
"sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+      "dev": true
+    },
     "domelementtype": {
       "version": "1.3.1",
       "resolved": 
"https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz";,
@@ -1246,11 +1661,14 @@
         "domelementtype": "1"
       }
     },
-    "duplexer": {
-      "version": "0.0.4",
-      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.0.4.tgz";,
-      "integrity": "sha1-r8t/H4uNdPggcmFx1dZKyeSo/yA=",
-      "dev": true
+    "duplexer2": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";,
+      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "^2.0.2"
+      }
     },
     "duplexify": {
       "version": "3.7.1",
@@ -1275,9 +1693,9 @@
       },
       "dependencies": {
         "editions": {
-          "version": "2.3.0",
-          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.0.tgz";,
-          "integrity": 
"sha512-jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==",
+          "version": "2.3.1",
+          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.1.tgz";,
+          "integrity": 
"sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==",
           "dev": true,
           "requires": {
             "errlop": "^2.0.0",
@@ -1304,6 +1722,29 @@
       "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
       "dev": true
     },
+    "elliptic": {
+      "version": "6.5.3",
+      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz";,
+      "integrity": 
"sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
+      "dev": true,
+      "requires": {
+        "bn.js": "^4.4.0",
+        "brorand": "^1.0.1",
+        "hash.js": "^1.0.0",
+        "hmac-drbg": "^1.0.0",
+        "inherits": "^2.0.1",
+        "minimalistic-assert": "^1.0.0",
+        "minimalistic-crypto-utils": "^1.0.0"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";,
+          "integrity": 
"sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
+      }
+    },
     "encodeurl": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";,
@@ -1326,9 +1767,9 @@
       "dev": true
     },
     "errlop": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/errlop/-/errlop-2.0.0.tgz";,
-      "integrity": 
"sha512-z00WIrQhtOMUnjdTG0O4f6hMG64EVccVDBy2WwgjcF8S4UB1exGYuc2OFwmdQmsJwLQVEIHWHPCz/omXXgAZHw==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/errlop/-/errlop-2.2.0.tgz";,
+      "integrity": 
"sha512-e64Qj9+4aZzjzzFpZC7p5kmm/ccCrbLhAJplhsDXQFs87XTsXwOpH4s1Io2s90Tau/8r2j9f4l/thhDevRjzxw==",
       "dev": true
     },
     "error": {
@@ -1361,16 +1802,6 @@
       "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
       "dev": true
     },
-    "escodegen": {
-      "version": "0.0.15",
-      "resolved": 
"https://registry.npmjs.org/escodegen/-/escodegen-0.0.15.tgz";,
-      "integrity": "sha1-/9qcsmtws098wZ8diHVlOa+1Q70=",
-      "dev": true,
-      "requires": {
-        "esprima": ">= 1.0.0",
-        "source-map": ">= 0.1.2"
-      }
-    },
     "esprima": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";,
@@ -1396,6 +1827,22 @@
       "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
       "dev": true
     },
+    "events": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz";,
+      "integrity": 
"sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==",
+      "dev": true
+    },
+    "evp_bytestokey": {
+      "version": "1.0.3",
+      "resolved": 
"https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz";,
+      "integrity": 
"sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+      "dev": true,
+      "requires": {
+        "md5.js": "^1.3.4",
+        "safe-buffer": "^5.1.1"
+      }
+    },
     "exit": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";,
@@ -1587,9 +2034,9 @@
       },
       "dependencies": {
         "editions": {
-          "version": "2.3.0",
-          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.0.tgz";,
-          "integrity": 
"sha512-jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==",
+          "version": "2.3.1",
+          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.1.tgz";,
+          "integrity": 
"sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==",
           "dev": true,
           "requires": {
             "errlop": "^2.0.0",
@@ -1604,6 +2051,12 @@
         }
       }
     },
+    "fast-safe-stringify": {
+      "version": "2.0.7",
+      "resolved": 
"https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz";,
+      "integrity": 
"sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
+      "dev": true
+    },
     "faye-websocket": {
       "version": "0.10.0",
       "resolved": 
"https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";,
@@ -1742,569 +2195,21 @@
       "dev": true
     },
     "fsevents": {
-      "version": "1.2.11",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz";,
-      "integrity": 
"sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz";,
+      "integrity": 
"sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
       "dev": true,
       "optional": true,
       "requires": {
         "bindings": "^1.5.0",
-        "nan": "^2.12.1",
-        "node-pre-gyp": "*"
-      },
-      "dependencies": {
-        "abbrev": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "ansi-regex": {
-          "version": "2.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "aproba": {
-          "version": "1.2.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "are-we-there-yet": {
-          "version": "1.1.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "delegates": "^1.0.0",
-            "readable-stream": "^2.0.6"
-          }
-        },
-        "balanced-match": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "brace-expansion": {
-          "version": "1.1.11",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "balanced-match": "^1.0.0",
-            "concat-map": "0.0.1"
-          }
-        },
-        "chownr": {
-          "version": "1.1.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "code-point-at": {
-          "version": "1.1.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "concat-map": {
-          "version": "0.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "console-control-strings": {
-          "version": "1.1.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "core-util-is": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "debug": {
-          "version": "3.2.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "deep-extend": {
-          "version": "0.6.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "delegates": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "detect-libc": {
-          "version": "1.0.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "fs-minipass": {
-          "version": "1.2.7",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minipass": "^2.6.0"
-          }
-        },
-        "fs.realpath": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "gauge": {
-          "version": "2.7.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "aproba": "^1.0.3",
-            "console-control-strings": "^1.0.0",
-            "has-unicode": "^2.0.0",
-            "object-assign": "^4.1.0",
-            "signal-exit": "^3.0.0",
-            "string-width": "^1.0.1",
-            "strip-ansi": "^3.0.1",
-            "wide-align": "^1.1.0"
-          }
-        },
-        "glob": {
-          "version": "7.1.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "has-unicode": {
-          "version": "2.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "iconv-lite": {
-          "version": "0.4.24",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safer-buffer": ">= 2.1.2 < 3"
-          }
-        },
-        "ignore-walk": {
-          "version": "3.0.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minimatch": "^3.0.4"
-          }
-        },
-        "inflight": {
-          "version": "1.0.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "once": "^1.3.0",
-            "wrappy": "1"
-          }
-        },
-        "inherits": {
-          "version": "2.0.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "ini": {
-          "version": "1.3.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "number-is-nan": "^1.0.0"
-          }
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "minimatch": {
-          "version": "3.0.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "brace-expansion": "^1.1.7"
-          }
-        },
-        "minimist": {
-          "version": "0.0.8",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "minipass": {
-          "version": "2.9.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "^5.1.2",
-            "yallist": "^3.0.0"
-          }
-        },
-        "minizlib": {
-          "version": "1.3.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minipass": "^2.9.0"
-          }
-        },
-        "mkdirp": {
-          "version": "0.5.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "minimist": "0.0.8"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "needle": {
-          "version": "2.4.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "debug": "^3.2.6",
-            "iconv-lite": "^0.4.4",
-            "sax": "^1.2.4"
-          }
-        },
-        "node-pre-gyp": {
-          "version": "0.14.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "detect-libc": "^1.0.2",
-            "mkdirp": "^0.5.1",
-            "needle": "^2.2.1",
-            "nopt": "^4.0.1",
-            "npm-packlist": "^1.1.6",
-            "npmlog": "^4.0.2",
-            "rc": "^1.2.7",
-            "rimraf": "^2.6.1",
-            "semver": "^5.3.0",
-            "tar": "^4.4.2"
-          }
-        },
-        "nopt": {
-          "version": "4.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "abbrev": "1",
-            "osenv": "^0.1.4"
-          }
-        },
-        "npm-bundled": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "npm-normalize-package-bin": "^1.0.1"
-          }
-        },
-        "npm-normalize-package-bin": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "npm-packlist": {
-          "version": "1.4.7",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ignore-walk": "^3.0.1",
-            "npm-bundled": "^1.0.1"
-          }
-        },
-        "npmlog": {
-          "version": "4.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "are-we-there-yet": "~1.1.2",
-            "console-control-strings": "~1.1.0",
-            "gauge": "~2.7.3",
-            "set-blocking": "~2.0.0"
-          }
-        },
-        "number-is-nan": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "object-assign": {
-          "version": "4.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "once": {
-          "version": "1.4.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "wrappy": "1"
-          }
-        },
-        "os-homedir": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "os-tmpdir": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "osenv": {
-          "version": "0.1.5",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "os-homedir": "^1.0.0",
-            "os-tmpdir": "^1.0.0"
-          }
-        },
-        "path-is-absolute": {
-          "version": "1.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "process-nextick-args": {
-          "version": "2.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "rc": {
-          "version": "1.2.8",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "deep-extend": "^0.6.0",
-            "ini": "~1.3.0",
-            "minimist": "^1.2.0",
-            "strip-json-comments": "~2.0.1"
-          },
-          "dependencies": {
-            "minimist": {
-              "version": "1.2.0",
-              "bundled": true,
-              "dev": true,
-              "optional": true
-            }
-          }
-        },
-        "readable-stream": {
-          "version": "2.3.6",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
-        "rimraf": {
-          "version": "2.7.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "safer-buffer": {
-          "version": "2.1.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "sax": {
-          "version": "1.2.4",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "semver": {
-          "version": "5.7.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "set-blocking": {
-          "version": "2.0.0",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "signal-exit": {
-          "version": "3.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "string-width": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
-          }
-        },
-        "string_decoder": {
-          "version": "1.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "3.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "ansi-regex": "^2.0.0"
-          }
-        },
-        "strip-json-comments": {
-          "version": "2.0.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "tar": {
-          "version": "4.4.13",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "chownr": "^1.1.1",
-            "fs-minipass": "^1.2.5",
-            "minipass": "^2.8.6",
-            "minizlib": "^1.2.1",
-            "mkdirp": "^0.5.0",
-            "safe-buffer": "^5.1.2",
-            "yallist": "^3.0.3"
-          }
-        },
-        "util-deprecate": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "wide-align": {
-          "version": "1.1.3",
-          "bundled": true,
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "string-width": "^1.0.2 || 2"
-          }
-        },
-        "wrappy": {
-          "version": "1.0.2",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        },
-        "yallist": {
-          "version": "3.1.1",
-          "bundled": true,
-          "dev": true,
-          "optional": true
-        }
+        "nan": "^2.12.1"
       }
     },
     "function-bind": {
       "version": "1.1.1",
       "resolved": 
"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";,
       "integrity": 
"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-      "dev": true,
-      "optional": true
+      "dev": true
     },
     "gaze": {
       "version": "1.1.3",
@@ -2315,6 +2220,12 @@
         "globule": "^1.0.0"
       }
     },
+    "get-assigned-identifiers": {
+      "version": "1.2.0",
+      "resolved": 
"https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz";,
+      "integrity": 
"sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
+      "dev": true
+    },
     "get-stdin": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";,
@@ -2432,48 +2343,337 @@
           "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
           "dev": true,
           "requires": {
-            "findup-sync": "~0.3.0",
-            "grunt-known-options": "~1.1.0",
-            "nopt": "~3.0.6",
-            "resolve": "~1.1.0"
+            "findup-sync": "~0.3.0",
+            "grunt-known-options": "~1.1.0",
+            "nopt": "~3.0.6",
+            "resolve": "~1.1.0"
+          }
+        },
+        "resolve": {
+          "version": "1.1.7",
+          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";,
+          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+          "dev": true
+        }
+      }
+    },
+    "grunt-adam-compass": {
+      "version": "0.7.1",
+      "resolved": 
"https://registry.npmjs.org/grunt-adam-compass/-/grunt-adam-compass-0.7.1.tgz";,
+      "integrity": "sha1-+igZu3MP82h2b7cpeCkbcttZF4Y=",
+      "dev": true,
+      "requires": {
+        "async": "~0.2.0",
+        "dargs": "~0.1.0",
+        "tmp": "0.0.23"
+      },
+      "dependencies": {
+        "async": {
+          "version": "0.2.10",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz";,
+          "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+          "dev": true
+        }
+      }
+    },
+    "grunt-browserify": {
+      "version": "5.3.0",
+      "resolved": 
"https://registry.npmjs.org/grunt-browserify/-/grunt-browserify-5.3.0.tgz";,
+      "integrity": "sha1-R/2M+LrFj+LeaDr9xX9/OoDKeS0=",
+      "dev": true,
+      "requires": {
+        "async": "^2.5.0",
+        "browserify": "^16.0.0",
+        "browserify-incremental": "^3.1.1",
+        "glob": "^7.1.2",
+        "lodash": "^4.17.4",
+        "resolve": "^1.1.6",
+        "watchify": "^3.6.1"
+      },
+      "dependencies": {
+        "JSONStream": {
+          "version": "1.3.5",
+          "resolved": 
"https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";,
+          "integrity": 
"sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+          "dev": true,
+          "requires": {
+            "jsonparse": "^1.2.0",
+            "through": ">=2.2.7 <3"
+          }
+        },
+        "async": {
+          "version": "2.6.3",
+          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz";,
+          "integrity": 
"sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+          "dev": true,
+          "requires": {
+            "lodash": "^4.17.14"
+          }
+        },
+        "browser-pack": {
+          "version": "6.1.0",
+          "resolved": 
"https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz";,
+          "integrity": 
"sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "combine-source-map": "~0.8.0",
+            "defined": "^1.0.0",
+            "safe-buffer": "^5.1.1",
+            "through2": "^2.0.0",
+            "umd": "^3.0.0"
+          }
+        },
+        "browser-resolve": {
+          "version": "1.11.3",
+          "resolved": 
"https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz";,
+          "integrity": 
"sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+          "dev": true,
+          "requires": {
+            "resolve": "1.1.7"
+          },
+          "dependencies": {
+            "resolve": {
+              "version": "1.1.7",
+              "resolved": 
"https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";,
+              "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+              "dev": true
+            }
+          }
+        },
+        "browserify": {
+          "version": "16.5.1",
+          "resolved": 
"https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz";,
+          "integrity": 
"sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "assert": "^1.4.0",
+            "browser-pack": "^6.0.1",
+            "browser-resolve": "^1.11.0",
+            "browserify-zlib": "~0.2.0",
+            "buffer": "~5.2.1",
+            "cached-path-relative": "^1.0.0",
+            "concat-stream": "^1.6.0",
+            "console-browserify": "^1.1.0",
+            "constants-browserify": "~1.0.0",
+            "crypto-browserify": "^3.0.0",
+            "defined": "^1.0.0",
+            "deps-sort": "^2.0.0",
+            "domain-browser": "^1.2.0",
+            "duplexer2": "~0.1.2",
+            "events": "^2.0.0",
+            "glob": "^7.1.0",
+            "has": "^1.0.0",
+            "htmlescape": "^1.1.0",
+            "https-browserify": "^1.0.0",
+            "inherits": "~2.0.1",
+            "insert-module-globals": "^7.0.0",
+            "labeled-stream-splicer": "^2.0.0",
+            "mkdirp-classic": "^0.5.2",
+            "module-deps": "^6.0.0",
+            "os-browserify": "~0.3.0",
+            "parents": "^1.0.1",
+            "path-browserify": "~0.0.0",
+            "process": "~0.11.0",
+            "punycode": "^1.3.2",
+            "querystring-es3": "~0.2.0",
+            "read-only-stream": "^2.0.0",
+            "readable-stream": "^2.0.2",
+            "resolve": "^1.1.4",
+            "shasum": "^1.0.0",
+            "shell-quote": "^1.6.1",
+            "stream-browserify": "^2.0.0",
+            "stream-http": "^3.0.0",
+            "string_decoder": "^1.1.1",
+            "subarg": "^1.0.0",
+            "syntax-error": "^1.1.1",
+            "through2": "^2.0.0",
+            "timers-browserify": "^1.0.1",
+            "tty-browserify": "0.0.1",
+            "url": "~0.11.0",
+            "util": "~0.10.1",
+            "vm-browserify": "^1.0.0",
+            "xtend": "^4.0.0"
+          }
+        },
+        "combine-source-map": {
+          "version": "0.8.0",
+          "resolved": 
"https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz";,
+          "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
+          "dev": true,
+          "requires": {
+            "convert-source-map": "~1.1.0",
+            "inline-source-map": "~0.6.0",
+            "lodash.memoize": "~3.0.3",
+            "source-map": "~0.5.3"
+          }
+        },
+        "concat-stream": {
+          "version": "1.6.2",
+          "resolved": 
"https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";,
+          "integrity": 
"sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+          "dev": true,
+          "requires": {
+            "buffer-from": "^1.0.0",
+            "inherits": "^2.0.3",
+            "readable-stream": "^2.2.2",
+            "typedarray": "^0.0.6"
+          }
+        },
+        "console-browserify": {
+          "version": "1.2.0",
+          "resolved": 
"https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";,
+          "integrity": 
"sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "1.1.3",
+          "resolved": 
"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";,
+          "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
+          "dev": true
+        },
+        "crypto-browserify": {
+          "version": "3.12.0",
+          "resolved": 
"https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";,
+          "integrity": 
"sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+          "dev": true,
+          "requires": {
+            "browserify-cipher": "^1.0.0",
+            "browserify-sign": "^4.0.0",
+            "create-ecdh": "^4.0.0",
+            "create-hash": "^1.1.0",
+            "create-hmac": "^1.1.0",
+            "diffie-hellman": "^5.0.0",
+            "inherits": "^2.0.1",
+            "pbkdf2": "^3.0.3",
+            "public-encrypt": "^4.0.0",
+            "randombytes": "^2.0.0",
+            "randomfill": "^1.0.3"
+          }
+        },
+        "detective": {
+          "version": "5.2.0",
+          "resolved": 
"https://registry.npmjs.org/detective/-/detective-5.2.0.tgz";,
+          "integrity": 
"sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
+          "dev": true,
+          "requires": {
+            "acorn-node": "^1.6.1",
+            "defined": "^1.0.0",
+            "minimist": "^1.1.1"
+          }
+        },
+        "glob": {
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";,
+          "integrity": 
"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        },
+        "inline-source-map": {
+          "version": "0.6.2",
+          "resolved": 
"https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";,
+          "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
+          "dev": true,
+          "requires": {
+            "source-map": "~0.5.3"
           }
         },
-        "resolve": {
-          "version": "1.1.7",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";,
-          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+        "insert-module-globals": {
+          "version": "7.2.0",
+          "resolved": 
"https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz";,
+          "integrity": 
"sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "acorn-node": "^1.5.2",
+            "combine-source-map": "^0.8.0",
+            "concat-stream": "^1.6.1",
+            "is-buffer": "^1.1.0",
+            "path-is-absolute": "^1.0.1",
+            "process": "~0.11.0",
+            "through2": "^2.0.0",
+            "undeclared-identifiers": "^1.1.2",
+            "xtend": "^4.0.0"
+          }
+        },
+        "jsonparse": {
+          "version": "1.3.1",
+          "resolved": 
"https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";,
+          "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
           "dev": true
-        }
-      }
-    },
-    "grunt-adam-compass": {
-      "version": "0.7.1",
-      "resolved": 
"https://registry.npmjs.org/grunt-adam-compass/-/grunt-adam-compass-0.7.1.tgz";,
-      "integrity": "sha1-+igZu3MP82h2b7cpeCkbcttZF4Y=",
-      "dev": true,
-      "requires": {
-        "async": "~0.2.0",
-        "dargs": "~0.1.0",
-        "tmp": "0.0.23"
-      },
-      "dependencies": {
-        "async": {
-          "version": "0.2.10",
-          "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz";,
-          "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+        },
+        "module-deps": {
+          "version": "6.2.2",
+          "resolved": 
"https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz";,
+          "integrity": 
"sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "browser-resolve": "^1.7.0",
+            "cached-path-relative": "^1.0.2",
+            "concat-stream": "~1.6.0",
+            "defined": "^1.0.0",
+            "detective": "^5.2.0",
+            "duplexer2": "^0.1.2",
+            "inherits": "^2.0.1",
+            "parents": "^1.0.0",
+            "readable-stream": "^2.0.2",
+            "resolve": "^1.4.0",
+            "stream-combiner2": "^1.1.1",
+            "subarg": "^1.0.0",
+            "through2": "^2.0.0",
+            "xtend": "^4.0.0"
+          }
+        },
+        "process": {
+          "version": "0.11.10",
+          "resolved": 
"https://registry.npmjs.org/process/-/process-0.11.10.tgz";,
+          "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+          "dev": true
+        },
+        "shell-quote": {
+          "version": "1.7.2",
+          "resolved": 
"https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz";,
+          "integrity": 
"sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": 
"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";,
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        },
+        "syntax-error": {
+          "version": "1.4.0",
+          "resolved": 
"https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz";,
+          "integrity": 
"sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+          "dev": true,
+          "requires": {
+            "acorn-node": "^1.2.0"
+          }
+        },
+        "umd": {
+          "version": "3.0.3",
+          "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz";,
+          "integrity": 
"sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
+          "dev": true
+        },
+        "vm-browserify": {
+          "version": "1.1.2",
+          "resolved": 
"https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";,
+          "integrity": 
"sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
           "dev": true
         }
       }
     },
-    "grunt-browserify2": {
-      "version": "0.1.8",
-      "resolved": 
"https://registry.npmjs.org/grunt-browserify2/-/grunt-browserify2-0.1.8.tgz";,
-      "integrity": "sha1-v2BuSmL6m+Mv4qOfc4FjfvCPMjg=",
-      "dev": true,
-      "requires": {
-        "browserify": "~2.14.0"
-      }
-    },
     "grunt-concurrent": {
       "version": "2.2.1",
       "resolved": 
"https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-2.2.1.tgz";,
@@ -2941,7 +3141,6 @@
       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz";,
       "integrity": 
"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
       "dev": true,
-      "optional": true,
       "requires": {
         "function-bind": "^1.1.1"
       }
@@ -2993,12 +3192,69 @@
         }
       }
     },
+    "hash-base": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz";,
+      "integrity": 
"sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.6.0",
+        "safe-buffer": "^5.2.0"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.4",
+          "resolved": 
"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";,
+          "integrity": 
"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "3.6.0",
+          "resolved": 
"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";,
+          "integrity": 
"sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+          "dev": true,
+          "requires": {
+            "inherits": "^2.0.3",
+            "string_decoder": "^1.1.1",
+            "util-deprecate": "^1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": 
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";,
+          "integrity": 
"sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+          "dev": true
+        }
+      }
+    },
+    "hash.js": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";,
+      "integrity": 
"sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.3",
+        "minimalistic-assert": "^1.0.1"
+      }
+    },
     "he": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz";,
       "integrity": 
"sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
       "dev": true
     },
+    "hmac-drbg": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz";,
+      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+      "dev": true,
+      "requires": {
+        "hash.js": "^1.0.3",
+        "minimalistic-assert": "^1.0.0",
+        "minimalistic-crypto-utils": "^1.0.1"
+      }
+    },
     "hooker": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";,
@@ -3044,6 +3300,12 @@
         }
       }
     },
+    "htmlescape": {
+      "version": "1.1.1",
+      "resolved": 
"https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz";,
+      "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
+      "dev": true
+    },
     "htmlparser2": {
       "version": "3.8.3",
       "resolved": 
"https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";,
@@ -3083,23 +3345,6 @@
         }
       }
     },
-    "http-browserify": {
-      "version": "0.1.11",
-      "resolved": 
"https://registry.npmjs.org/http-browserify/-/http-browserify-0.1.11.tgz";,
-      "integrity": "sha1-rINRjWJc4+JtFt87SeZTg8NxgE8=",
-      "dev": true,
-      "requires": {
-        "concat-stream": "0.0.8"
-      },
-      "dependencies": {
-        "concat-stream": {
-          "version": "0.0.8",
-          "resolved": 
"https://registry.npmjs.org/concat-stream/-/concat-stream-0.0.8.tgz";,
-          "integrity": "sha1-p+p50MywtASZCR25MAUPswT2LX0=",
-          "dev": true
-        }
-      }
-    },
     "http-errors": {
       "version": "1.6.3",
       "resolved": 
"https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";,
@@ -3118,6 +3363,12 @@
       "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
       "dev": true
     },
+    "https-browserify": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz";,
+      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+      "dev": true
+    },
     "iconv-lite": {
       "version": "0.4.23",
       "resolved": 
"https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz";,
@@ -3127,6 +3378,12 @@
         "safer-buffer": ">= 2.1.2 < 3"
       }
     },
+    "ieee754": {
+      "version": "1.1.13",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz";,
+      "integrity": 
"sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
+      "dev": true
+    },
     "indent-string": {
       "version": "2.1.0",
       "resolved": 
"https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";,
@@ -3153,26 +3410,30 @@
       "dev": true
     },
     "inline-source-map": {
-      "version": "0.2.5",
-      "resolved": 
"https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.2.5.tgz";,
-      "integrity": "sha1-JC/2wYufsJNPep6DwUIZxhwTFnA=",
+      "version": "0.6.2",
+      "resolved": 
"https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";,
+      "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
       "dev": true,
       "requires": {
-        "source-map": "~0.1.25"
+        "source-map": "~0.5.3"
       }
     },
     "insert-module-globals": {
-      "version": "0.2.1",
-      "resolved": 
"https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-0.2.1.tgz";,
-      "integrity": "sha1-/4QL+WBkAzx/rn4SKqJIIZA0gF4=",
+      "version": "7.2.0",
+      "resolved": 
"https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz";,
+      "integrity": 
"sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==",
       "dev": true,
       "requires": {
-        "JSONStream": "~0.4.3",
-        "commondir": "~0.0.1",
-        "duplexer": "~0.0.3",
-        "lexical-scope": "~0.0.5",
-        "process": "~0.5.1",
-        "through": "~2.2.0"
+        "JSONStream": "^1.0.3",
+        "acorn-node": "^1.5.2",
+        "combine-source-map": "^0.8.0",
+        "concat-stream": "^1.6.1",
+        "is-buffer": "^1.1.0",
+        "path-is-absolute": "^1.0.1",
+        "process": "~0.11.0",
+        "through2": "^2.0.0",
+        "undeclared-identifiers": "^1.1.2",
+        "xtend": "^4.0.0"
       }
     },
     "ipaddr.js": {
@@ -3437,6 +3698,21 @@
         }
       }
     },
+    "json-stable-stringify": {
+      "version": "0.0.1",
+      "resolved": 
"https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";,
+      "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=",
+      "dev": true,
+      "requires": {
+        "jsonify": "~0.0.0"
+      }
+    },
+    "jsonify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";,
+      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
+      "dev": true
+    },
     "jsonparse": {
       "version": "0.0.5",
       "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz";,
@@ -3460,6 +3736,16 @@
       "integrity": 
"sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
       "dev": true
     },
+    "labeled-stream-splicer": {
+      "version": "2.0.2",
+      "resolved": 
"https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz";,
+      "integrity": 
"sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.1",
+        "stream-splicer": "^2.0.0"
+      }
+    },
     "lazy-cache": {
       "version": "1.0.4",
       "resolved": 
"https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";,
@@ -3467,15 +3753,6 @@
       "dev": true,
       "optional": true
     },
-    "lexical-scope": {
-      "version": "0.0.15",
-      "resolved": 
"https://registry.npmjs.org/lexical-scope/-/lexical-scope-0.0.15.tgz";,
-      "integrity": "sha1-yllZl6rth7FVywQfSNwEOPSKBNw=",
-      "dev": true,
-      "requires": {
-        "astw": "~0.0.0"
-      }
-    },
     "livereload-js": {
       "version": "2.4.0",
       "resolved": 
"https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz";,
@@ -3521,6 +3798,12 @@
             "pkg-up": "^2.0.0",
             "resolve-pkg": "^1.0.0"
           }
+        },
+        "lodash": {
+          "version": "4.17.15",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";,
+          "integrity": 
"sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+          "dev": true
         }
       }
     },
@@ -3634,9 +3917,15 @@
       }
     },
     "lodash": {
-      "version": "4.17.15",
-      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz";,
-      "integrity": 
"sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+      "version": "4.17.19",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz";,
+      "integrity": 
"sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
+      "dev": true
+    },
+    "lodash.memoize": {
+      "version": "3.0.4",
+      "resolved": 
"https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz";,
+      "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
       "dev": true
     },
     "longest": {
@@ -3722,6 +4011,17 @@
         }
       }
     },
+    "md5.js": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz";,
+      "integrity": 
"sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+      "dev": true,
+      "requires": {
+        "hash-base": "^3.0.0",
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.1.2"
+      }
+    },
     "media-typer": {
       "version": "0.3.0",
       "resolved": 
"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";,
@@ -3779,6 +4079,24 @@
         "to-regex": "^3.0.2"
       }
     },
+    "miller-rabin": {
+      "version": "4.0.1",
+      "resolved": 
"https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz";,
+      "integrity": 
"sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+      "dev": true,
+      "requires": {
+        "bn.js": "^4.0.0",
+        "brorand": "^1.0.1"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";,
+          "integrity": 
"sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
+      }
+    },
     "mime": {
       "version": "1.6.0",
       "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";,
@@ -3800,6 +4118,18 @@
         "mime-db": "1.43.0"
       }
     },
+    "minimalistic-assert": {
+      "version": "1.0.1",
+      "resolved": 
"https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";,
+      "integrity": 
"sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+      "dev": true
+    },
+    "minimalistic-crypto-utils": {
+      "version": "1.0.1",
+      "resolved": 
"https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz";,
+      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+      "dev": true
+    },
     "minimatch": {
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";,
@@ -3810,9 +4140,9 @@
       }
     },
     "minimist": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";,
-      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";,
+      "integrity": 
"sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
       "dev": true
     },
     "mixin-deep": {
@@ -3837,48 +4167,41 @@
       }
     },
     "mkdirp": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";,
-      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";,
+      "integrity": 
"sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
       "dev": true,
       "requires": {
-        "minimist": "0.0.8"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "0.0.8",
-          "resolved": 
"https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";,
-          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
-          "dev": true
-        }
+        "minimist": "^1.2.5"
       }
     },
+    "mkdirp-classic": {
+      "version": "0.5.3",
+      "resolved": 
"https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";,
+      "integrity": 
"sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+      "dev": true
+    },
     "module-deps": {
-      "version": "0.8.0",
-      "resolved": 
"https://registry.npmjs.org/module-deps/-/module-deps-0.8.0.tgz";,
-      "integrity": "sha1-RZkPYvX+w1EOoC9UmdKKFDhJA3o=",
-      "dev": true,
-      "requires": {
-        "JSONStream": "~0.4.3",
-        "browser-resolve": "~0.1.0",
-        "concat-stream": "~0.1.1",
-        "detective": "~2.1.1",
-        "resolve": "~0.3.0",
-        "through": "~2.3.2"
-      },
-      "dependencies": {
-        "resolve": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";,
-          "integrity": "sha1-NMY0R8ZkxwWY0cmxJvxDsqJDEKQ=",
-          "dev": true
-        },
-        "through": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz";,
-          "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-          "dev": true
-        }
+      "version": "6.2.2",
+      "resolved": 
"https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz";,
+      "integrity": 
"sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==",
+      "dev": true,
+      "requires": {
+        "JSONStream": "^1.0.3",
+        "browser-resolve": "^1.7.0",
+        "cached-path-relative": "^1.0.2",
+        "concat-stream": "~1.6.0",
+        "defined": "^1.0.0",
+        "detective": "^5.2.0",
+        "duplexer2": "^0.1.2",
+        "inherits": "^2.0.1",
+        "parents": "^1.0.0",
+        "readable-stream": "^2.0.2",
+        "resolve": "^1.4.0",
+        "stream-combiner2": "^1.1.1",
+        "subarg": "^1.0.0",
+        "through2": "^2.0.0",
+        "xtend": "^4.0.0"
       }
     },
     "morgan": {
@@ -3919,9 +4242,9 @@
       }
     },
     "nan": {
-      "version": "2.14.0",
-      "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz";,
-      "integrity": 
"sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+      "version": "2.14.1",
+      "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz";,
+      "integrity": 
"sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==",
       "dev": true,
       "optional": true
     },
@@ -4071,14 +4394,11 @@
         "wrappy": "1"
       }
     },
-    "optimist": {
-      "version": "0.3.7",
-      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";,
-      "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=",
-      "dev": true,
-      "requires": {
-        "wordwrap": "~0.0.2"
-      }
+    "os-browserify": {
+      "version": "0.3.0",
+      "resolved": 
"https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz";,
+      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+      "dev": true
     },
     "os-homedir": {
       "version": "1.0.2",
@@ -4102,6 +4422,23 @@
         "os-tmpdir": "^1.0.0"
       }
     },
+    "outpipe": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz";,
+      "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=",
+      "dev": true,
+      "requires": {
+        "shell-quote": "^1.4.2"
+      },
+      "dependencies": {
+        "shell-quote": {
+          "version": "1.7.2",
+          "resolved": 
"https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz";,
+          "integrity": 
"sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
+          "dev": true
+        }
+      }
+    },
     "p-limit": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz";,
@@ -4139,6 +4476,12 @@
         "through2": "^2.0.0"
       }
     },
+    "pako": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz";,
+      "integrity": 
"sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+      "dev": true
+    },
     "param-case": {
       "version": "2.1.1",
       "resolved": 
"https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz";,
@@ -4148,11 +4491,28 @@
         "no-case": "^2.2.0"
       }
     },
-    "parse-base64vlq-mappings": {
-      "version": "0.1.4",
-      "resolved": 
"https://registry.npmjs.org/parse-base64vlq-mappings/-/parse-base64vlq-mappings-0.1.4.tgz";,
-      "integrity": "sha1-/PXd3tOaAQ3449xgnIbtAQF9+pg=",
-      "dev": true
+    "parents": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz";,
+      "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
+      "dev": true,
+      "requires": {
+        "path-platform": "~0.11.15"
+      }
+    },
+    "parse-asn1": {
+      "version": "5.1.5",
+      "resolved": 
"https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz";,
+      "integrity": 
"sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
+      "dev": true,
+      "requires": {
+        "asn1.js": "^4.0.0",
+        "browserify-aes": "^1.0.0",
+        "create-hash": "^1.1.0",
+        "evp_bytestokey": "^1.0.0",
+        "pbkdf2": "^3.0.3",
+        "safe-buffer": "^5.1.1"
+      }
     },
     "parse-json": {
       "version": "2.2.0",
@@ -4181,6 +4541,12 @@
       "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
       "dev": true
     },
+    "path-browserify": {
+      "version": "0.0.1",
+      "resolved": 
"https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz";,
+      "integrity": 
"sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
+      "dev": true
+    },
     "path-dirname": {
       "version": "1.0.2",
       "resolved": 
"https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz";,
@@ -4208,6 +4574,12 @@
       "integrity": 
"sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
       "dev": true
     },
+    "path-platform": {
+      "version": "0.11.15",
+      "resolved": 
"https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz";,
+      "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
+      "dev": true
+    },
     "path-to-regexp": {
       "version": "0.1.7",
       "resolved": 
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";,
@@ -4225,6 +4597,19 @@
         "pinkie-promise": "^2.0.0"
       }
     },
+    "pbkdf2": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz";,
+      "integrity": 
"sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
+      "dev": true,
+      "requires": {
+        "create-hash": "^1.1.2",
+        "create-hmac": "^1.1.4",
+        "ripemd160": "^2.0.1",
+        "safe-buffer": "^5.0.1",
+        "sha.js": "^2.4.8"
+      }
+    },
     "pify": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";,
@@ -4339,9 +4724,9 @@
       }
     },
     "process": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz";,
-      "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=",
+      "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz";,
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
       "dev": true
     },
     "process-nextick-args": {
@@ -4376,6 +4761,28 @@
         "ipaddr.js": "1.9.0"
       }
     },
+    "public-encrypt": {
+      "version": "4.0.3",
+      "resolved": 
"https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz";,
+      "integrity": 
"sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+      "dev": true,
+      "requires": {
+        "bn.js": "^4.1.0",
+        "browserify-rsa": "^4.0.0",
+        "create-hash": "^1.1.0",
+        "parse-asn1": "^5.0.0",
+        "randombytes": "^2.0.1",
+        "safe-buffer": "^5.1.2"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz";,
+          "integrity": 
"sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
+      }
+    },
     "pug": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz";,
@@ -4545,23 +4952,60 @@
         "once": "^1.3.1"
       }
     },
-    "pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz";,
-      "integrity": 
"sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+    "pumpify": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz";,
+      "integrity": 
"sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+      "dev": true,
+      "requires": {
+        "duplexify": "^3.6.0",
+        "inherits": "^2.0.3",
+        "pump": "^2.0.0"
+      }
+    },
+    "punycode": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";,
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+      "dev": true
+    },
+    "qs": {
+      "version": "6.9.1",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz";,
+      "integrity": 
"sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==",
+      "dev": true
+    },
+    "querystring": {
+      "version": "0.2.0",
+      "resolved": 
"https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";,
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+      "dev": true
+    },
+    "querystring-es3": {
+      "version": "0.2.1",
+      "resolved": 
"https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";,
+      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+      "dev": true
+    },
+    "randombytes": {
+      "version": "2.1.0",
+      "resolved": 
"https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz";,
+      "integrity": 
"sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "randomfill": {
+      "version": "1.0.4",
+      "resolved": 
"https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz";,
+      "integrity": 
"sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
       "dev": true,
       "requires": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
+        "randombytes": "^2.0.5",
+        "safe-buffer": "^5.1.0"
       }
     },
-    "qs": {
-      "version": "6.9.1",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.1.tgz";,
-      "integrity": 
"sha512-Cxm7/SS/y/Z3MHWSxXb8lIFqgqBowP5JMlTUFyJN88y0SGQhVmZnqFK/PeuMX9LzUyWsqqhNxIyg0jlzq946yA==",
-      "dev": true
-    },
     "range-parser": {
       "version": "1.2.1",
       "resolved": 
"https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz";,
@@ -4610,6 +5054,15 @@
         }
       }
     },
+    "read-only-stream": {
+      "version": "2.0.0",
+      "resolved": 
"https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz";,
+      "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
+      "dev": true,
+      "requires": {
+        "readable-stream": "^2.0.2"
+      }
+    },
     "read-pkg": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";,
@@ -4727,9 +5180,9 @@
       },
       "dependencies": {
         "editions": {
-          "version": "2.3.0",
-          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.0.tgz";,
-          "integrity": 
"sha512-jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==",
+          "version": "2.3.1",
+          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.1.tgz";,
+          "integrity": 
"sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==",
           "dev": true,
           "requires": {
             "errlop": "^2.0.0",
@@ -4786,24 +5239,6 @@
       "integrity": 
"sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
       "dev": true
     },
-    "rfile": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz";,
-      "integrity": "sha1-WXCM+Qyh50xUw8/Fw2/bmBBDUmE=",
-      "dev": true,
-      "requires": {
-        "callsite": "~1.0.0",
-        "resolve": "~0.3.0"
-      },
-      "dependencies": {
-        "resolve": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz";,
-          "integrity": "sha1-NMY0R8ZkxwWY0cmxJvxDsqJDEKQ=",
-          "dev": true
-        }
-      }
-    },
     "right-align": {
       "version": "0.1.3",
       "resolved": 
"https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";,
@@ -4839,26 +5274,14 @@
         }
       }
     },
-    "ruglify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz";,
-      "integrity": "sha1-3Ikw4qlUSidDAcyZcldMDQmGtnU=",
+    "ripemd160": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz";,
+      "integrity": 
"sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
       "dev": true,
       "requires": {
-        "rfile": "~1.0",
-        "uglify-js": "~2.2"
-      },
-      "dependencies": {
-        "uglify-js": {
-          "version": "2.2.5",
-          "resolved": 
"https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";,
-          "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=",
-          "dev": true,
-          "requires": {
-            "optimist": "~0.3.5",
-            "source-map": "~0.1.7"
-          }
-        }
+        "hash-base": "^3.0.0",
+        "inherits": "^2.0.1"
       }
     },
     "safe-buffer": {
@@ -4893,9 +5316,9 @@
       },
       "dependencies": {
         "editions": {
-          "version": "2.3.0",
-          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.0.tgz";,
-          "integrity": 
"sha512-jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==",
+          "version": "2.3.1",
+          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.1.tgz";,
+          "integrity": 
"sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==",
           "dev": true,
           "requires": {
             "errlop": "^2.0.0",
@@ -5017,10 +5440,39 @@
       "integrity": 
"sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
       "dev": true
     },
+    "sha.js": {
+      "version": "2.4.11",
+      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz";,
+      "integrity": 
"sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "shasum": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz";,
+      "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=",
+      "dev": true,
+      "requires": {
+        "json-stable-stringify": "~0.0.0",
+        "sha.js": "~2.4.4"
+      }
+    },
+    "shasum-object": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz";,
+      "integrity": 
"sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
+      "dev": true,
+      "requires": {
+        "fast-safe-stringify": "^2.0.7"
+      }
+    },
     "shell-quote": {
-      "version": "0.0.1",
-      "resolved": 
"https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz";,
-      "integrity": "sha1-GkEZbzwDM8SCMjWT1ohuzxU92YY=",
+      "version": "1.7.2",
+      "resolved": 
"https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz";,
+      "integrity": 
"sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
       "dev": true
     },
     "shelljs": {
@@ -5035,6 +5487,12 @@
       "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
       "dev": true
     },
+    "simple-concat": {
+      "version": "1.0.0",
+      "resolved": 
"https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz";,
+      "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=",
+      "dev": true
+    },
     "snapdragon": {
       "version": "0.8.2",
       "resolved": 
"https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";,
@@ -5149,13 +5607,10 @@
       }
     },
     "source-map": {
-      "version": "0.1.43",
-      "resolved": 
"https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";,
-      "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
-      "dev": true,
-      "requires": {
-        "amdefine": ">=0.0.4"
-      }
+      "version": "0.5.7",
+      "resolved": 
"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";,
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true
     },
     "source-map-resolve": {
       "version": "0.5.3",
@@ -5268,12 +5723,73 @@
       "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
       "dev": true
     },
+    "stream-browserify": {
+      "version": "2.0.2",
+      "resolved": 
"https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz";,
+      "integrity": 
"sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+      "dev": true,
+      "requires": {
+        "inherits": "~2.0.1",
+        "readable-stream": "^2.0.2"
+      }
+    },
+    "stream-combiner2": {
+      "version": "1.1.1",
+      "resolved": 
"https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz";,
+      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+      "dev": true,
+      "requires": {
+        "duplexer2": "~0.1.0",
+        "readable-stream": "^2.0.2"
+      }
+    },
+    "stream-http": {
+      "version": "3.1.1",
+      "resolved": 
"https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz";,
+      "integrity": 
"sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==",
+      "dev": true,
+      "requires": {
+        "builtin-status-codes": "^3.0.0",
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.6.0",
+        "xtend": "^4.0.2"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.4",
+          "resolved": 
"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";,
+          "integrity": 
"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "3.6.0",
+          "resolved": 
"https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz";,
+          "integrity": 
"sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+          "dev": true,
+          "requires": {
+            "inherits": "^2.0.3",
+            "string_decoder": "^1.1.1",
+            "util-deprecate": "^1.0.1"
+          }
+        }
+      }
+    },
     "stream-shift": {
       "version": "1.0.1",
       "resolved": 
"https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz";,
       "integrity": 
"sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
       "dev": true
     },
+    "stream-splicer": {
+      "version": "2.0.1",
+      "resolved": 
"https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz";,
+      "integrity": 
"sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
+      "dev": true,
+      "requires": {
+        "inherits": "^2.0.1",
+        "readable-stream": "^2.0.2"
+      }
+    },
     "string-template": {
       "version": "0.2.1",
       "resolved": 
"https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz";,
@@ -5322,6 +5838,15 @@
       "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
       "dev": true
     },
+    "subarg": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";,
+      "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
+      "dev": true,
+      "requires": {
+        "minimist": "^1.1.0"
+      }
+    },
     "supports-color": {
       "version": "5.5.0",
       "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";,
@@ -5332,20 +5857,12 @@
       }
     },
     "syntax-error": {
-      "version": "0.0.1",
-      "resolved": 
"https://registry.npmjs.org/syntax-error/-/syntax-error-0.0.1.tgz";,
-      "integrity": "sha1-AZ0HU0jNjFt58GA8c+U4kafFI10=",
+      "version": "1.4.0",
+      "resolved": 
"https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz";,
+      "integrity": 
"sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
       "dev": true,
       "requires": {
-        "esprima": "~0.9.9"
-      },
-      "dependencies": {
-        "esprima": {
-          "version": "0.9.9",
-          "resolved": "https://registry.npmjs.org/esprima/-/esprima-0.9.9.tgz";,
-          "integrity": "sha1-G5CSXJddYy1ygpOcO7nDpCPDBJA=",
-          "dev": true
-        }
+        "acorn-node": "^1.2.0"
       }
     },
     "text-table": {
@@ -5418,6 +5935,23 @@
       "integrity": "sha1-Sncotqwo2w4Aj1FAQ/1VW9VXO0Y=",
       "dev": true
     },
+    "timers-browserify": {
+      "version": "1.4.2",
+      "resolved": 
"https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz";,
+      "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
+      "dev": true,
+      "requires": {
+        "process": "~0.11.0"
+      },
+      "dependencies": {
+        "process": {
+          "version": "0.11.10",
+          "resolved": 
"https://registry.npmjs.org/process/-/process-0.11.10.tgz";,
+          "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+          "dev": true
+        }
+      }
+    },
     "tiny-lr": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz";,
@@ -5523,6 +6057,12 @@
       "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
       "dev": true
     },
+    "tty-browserify": {
+      "version": "0.0.1",
+      "resolved": 
"https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz";,
+      "integrity": 
"sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
+      "dev": true
+    },
     "type-is": {
       "version": "1.6.18",
       "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz";,
@@ -5543,9 +6083,9 @@
       },
       "dependencies": {
         "editions": {
-          "version": "2.3.0",
-          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.0.tgz";,
-          "integrity": 
"sha512-jeXYwHPKbitU1l14dWlsl5Nm+b1Hsm7VX73BsrQ4RVwEcAQQIPFHTZAbVtuIGxZBrpdT2FXd8lbtrNBrzZxIsA==",
+          "version": "2.3.1",
+          "resolved": 
"https://registry.npmjs.org/editions/-/editions-2.3.1.tgz";,
+          "integrity": 
"sha512-ptGvkwTvGdGfC0hfhKg0MT+TRLRKGtUiWGBInxOm5pz7ssADezahjCUaYuZ8Dr+C05FW0AECIIPt4WBxVINEhA==",
           "dev": true,
           "requires": {
             "errlop": "^2.0.0",
@@ -5560,10 +6100,10 @@
         }
       }
     },
-    "uglify-js": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.3.4.tgz";,
-      "integrity": "sha1-KCzsQNtWh5jg7G1x0MmJ0yPwY2s=",
+    "typedarray": {
+      "version": "0.0.6",
+      "resolved": 
"https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";,
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
       "dev": true
     },
     "uglify-to-browserify": {
@@ -5574,33 +6114,22 @@
       "optional": true
     },
     "umd": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/umd/-/umd-1.1.1.tgz";,
-      "integrity": "sha1-SBtkZVsbPbDB85ECJcOAT8bX7Fg=",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz";,
+      "integrity": 
"sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
+      "dev": true
+    },
+    "undeclared-identifiers": {
+      "version": "1.1.3",
+      "resolved": 
"https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz";,
+      "integrity": 
"sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
       "dev": true,
       "requires": {
-        "rfile": "~1.0.0",
-        "ruglify": "~1.0.0",
-        "through": "~2.3.1",
-        "uglify-js": "~2.2.5"
-      },
-      "dependencies": {
-        "through": {
-          "version": "2.3.8",
-          "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz";,
-          "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
-          "dev": true
-        },
-        "uglify-js": {
-          "version": "2.2.5",
-          "resolved": 
"https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";,
-          "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=",
-          "dev": true,
-          "requires": {
-            "optimist": "~0.3.5",
-            "source-map": "~0.1.7"
-          }
-        }
+        "acorn-node": "^1.3.0",
+        "dash-ast": "^1.0.0",
+        "get-assigned-identifiers": "^1.2.0",
+        "simple-concat": "^1.0.0",
+        "xtend": "^4.0.1"
       }
     },
     "underscore.string": {
@@ -5704,12 +6233,39 @@
       "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
       "dev": true
     },
+    "url": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz";,
+      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+      "dev": true,
+      "requires": {
+        "punycode": "1.3.2",
+        "querystring": "0.2.0"
+      },
+      "dependencies": {
+        "punycode": {
+          "version": "1.3.2",
+          "resolved": 
"https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";,
+          "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+          "dev": true
+        }
+      }
+    },
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz";,
       "integrity": 
"sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
       "dev": true
     },
+    "util": {
+      "version": "0.10.4",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz";,
+      "integrity": 
"sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+      "dev": true,
+      "requires": {
+        "inherits": "2.0.3"
+      }
+    },
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": 
"https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";,
@@ -5739,9 +6295,9 @@
       "dev": true
     },
     "vm-browserify": {
-      "version": "0.0.1",
-      "resolved": 
"https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.1.tgz";,
-      "integrity": "sha1-UdJZeTZqshnf41o/xl7NavNjHVQ=",
+      "version": "1.1.2",
+      "resolved": 
"https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";,
+      "integrity": 
"sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
       "dev": true
     },
     "void-elements": {
@@ -5751,6 +6307,295 @@
       "dev": true,
       "optional": true
     },
+    "watchify": {
+      "version": "3.11.1",
+      "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.1.tgz";,
+      "integrity": 
"sha512-WwnUClyFNRMB2NIiHgJU9RQPQNqVeFk7OmZaWf5dC5EnNa0Mgr7imBydbaJ7tGTuPM2hz1Cb4uiBvK9NVxMfog==",
+      "dev": true,
+      "requires": {
+        "anymatch": "^2.0.0",
+        "browserify": "^16.1.0",
+        "chokidar": "^2.1.1",
+        "defined": "^1.0.0",
+        "outpipe": "^1.1.0",
+        "through2": "^2.0.0",
+        "xtend": "^4.0.0"
+      },
+      "dependencies": {
+        "JSONStream": {
+          "version": "1.3.5",
+          "resolved": 
"https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";,
+          "integrity": 
"sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+          "dev": true,
+          "requires": {
+            "jsonparse": "^1.2.0",
+            "through": ">=2.2.7 <3"
+          }
+        },
+        "browser-pack": {
+          "version": "6.1.0",
+          "resolved": 
"https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz";,
+          "integrity": 
"sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "combine-source-map": "~0.8.0",
+            "defined": "^1.0.0",
+            "safe-buffer": "^5.1.1",
+            "through2": "^2.0.0",
+            "umd": "^3.0.0"
+          }
+        },
+        "browser-resolve": {
+          "version": "1.11.3",
+          "resolved": 
"https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz";,
+          "integrity": 
"sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+          "dev": true,
+          "requires": {
+            "resolve": "1.1.7"
+          },
+          "dependencies": {
+            "resolve": {
+              "version": "1.1.7",
+              "resolved": 
"https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";,
+              "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+              "dev": true
+            }
+          }
+        },
+        "browserify": {
+          "version": "16.5.1",
+          "resolved": 
"https://registry.npmjs.org/browserify/-/browserify-16.5.1.tgz";,
+          "integrity": 
"sha512-EQX0h59Pp+0GtSRb5rL6OTfrttlzv+uyaUVlK6GX3w11SQ0jKPKyjC/54RhPR2ib2KmfcELM06e8FxcI5XNU2A==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "assert": "^1.4.0",
+            "browser-pack": "^6.0.1",
+            "browser-resolve": "^1.11.0",
+            "browserify-zlib": "~0.2.0",
+            "buffer": "~5.2.1",
+            "cached-path-relative": "^1.0.0",
+            "concat-stream": "^1.6.0",
+            "console-browserify": "^1.1.0",
+            "constants-browserify": "~1.0.0",
+            "crypto-browserify": "^3.0.0",
+            "defined": "^1.0.0",
+            "deps-sort": "^2.0.0",
+            "domain-browser": "^1.2.0",
+            "duplexer2": "~0.1.2",
+            "events": "^2.0.0",
+            "glob": "^7.1.0",
+            "has": "^1.0.0",
+            "htmlescape": "^1.1.0",
+            "https-browserify": "^1.0.0",
+            "inherits": "~2.0.1",
+            "insert-module-globals": "^7.0.0",
+            "labeled-stream-splicer": "^2.0.0",
+            "mkdirp-classic": "^0.5.2",
+            "module-deps": "^6.0.0",
+            "os-browserify": "~0.3.0",
+            "parents": "^1.0.1",
+            "path-browserify": "~0.0.0",
+            "process": "~0.11.0",
+            "punycode": "^1.3.2",
+            "querystring-es3": "~0.2.0",
+            "read-only-stream": "^2.0.0",
+            "readable-stream": "^2.0.2",
+            "resolve": "^1.1.4",
+            "shasum": "^1.0.0",
+            "shell-quote": "^1.6.1",
+            "stream-browserify": "^2.0.0",
+            "stream-http": "^3.0.0",
+            "string_decoder": "^1.1.1",
+            "subarg": "^1.0.0",
+            "syntax-error": "^1.1.1",
+            "through2": "^2.0.0",
+            "timers-browserify": "^1.0.1",
+            "tty-browserify": "0.0.1",
+            "url": "~0.11.0",
+            "util": "~0.10.1",
+            "vm-browserify": "^1.0.0",
+            "xtend": "^4.0.0"
+          }
+        },
+        "combine-source-map": {
+          "version": "0.8.0",
+          "resolved": 
"https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz";,
+          "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
+          "dev": true,
+          "requires": {
+            "convert-source-map": "~1.1.0",
+            "inline-source-map": "~0.6.0",
+            "lodash.memoize": "~3.0.3",
+            "source-map": "~0.5.3"
+          }
+        },
+        "concat-stream": {
+          "version": "1.6.2",
+          "resolved": 
"https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";,
+          "integrity": 
"sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+          "dev": true,
+          "requires": {
+            "buffer-from": "^1.0.0",
+            "inherits": "^2.0.3",
+            "readable-stream": "^2.2.2",
+            "typedarray": "^0.0.6"
+          }
+        },
+        "console-browserify": {
+          "version": "1.2.0",
+          "resolved": 
"https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz";,
+          "integrity": 
"sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+          "dev": true
+        },
+        "convert-source-map": {
+          "version": "1.1.3",
+          "resolved": 
"https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";,
+          "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
+          "dev": true
+        },
+        "crypto-browserify": {
+          "version": "3.12.0",
+          "resolved": 
"https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";,
+          "integrity": 
"sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+          "dev": true,
+          "requires": {
+            "browserify-cipher": "^1.0.0",
+            "browserify-sign": "^4.0.0",
+            "create-ecdh": "^4.0.0",
+            "create-hash": "^1.1.0",
+            "create-hmac": "^1.1.0",
+            "diffie-hellman": "^5.0.0",
+            "inherits": "^2.0.1",
+            "pbkdf2": "^3.0.3",
+            "public-encrypt": "^4.0.0",
+            "randombytes": "^2.0.0",
+            "randomfill": "^1.0.3"
+          }
+        },
+        "detective": {
+          "version": "5.2.0",
+          "resolved": 
"https://registry.npmjs.org/detective/-/detective-5.2.0.tgz";,
+          "integrity": 
"sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
+          "dev": true,
+          "requires": {
+            "acorn-node": "^1.6.1",
+            "defined": "^1.0.0",
+            "minimist": "^1.1.1"
+          }
+        },
+        "glob": {
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";,
+          "integrity": 
"sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+          "dev": true,
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        },
+        "inline-source-map": {
+          "version": "0.6.2",
+          "resolved": 
"https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";,
+          "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
+          "dev": true,
+          "requires": {
+            "source-map": "~0.5.3"
+          }
+        },
+        "insert-module-globals": {
+          "version": "7.2.0",
+          "resolved": 
"https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz";,
+          "integrity": 
"sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "acorn-node": "^1.5.2",
+            "combine-source-map": "^0.8.0",
+            "concat-stream": "^1.6.1",
+            "is-buffer": "^1.1.0",
+            "path-is-absolute": "^1.0.1",
+            "process": "~0.11.0",
+            "through2": "^2.0.0",
+            "undeclared-identifiers": "^1.1.2",
+            "xtend": "^4.0.0"
+          }
+        },
+        "jsonparse": {
+          "version": "1.3.1",
+          "resolved": 
"https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";,
+          "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+          "dev": true
+        },
+        "module-deps": {
+          "version": "6.2.2",
+          "resolved": 
"https://registry.npmjs.org/module-deps/-/module-deps-6.2.2.tgz";,
+          "integrity": 
"sha512-a9y6yDv5u5I4A+IPHTnqFxcaKr4p50/zxTjcQJaX2ws9tN/W6J6YXnEKhqRyPhl494dkcxx951onSKVezmI+3w==",
+          "dev": true,
+          "requires": {
+            "JSONStream": "^1.0.3",
+            "browser-resolve": "^1.7.0",
+            "cached-path-relative": "^1.0.2",
+            "concat-stream": "~1.6.0",
+            "defined": "^1.0.0",
+            "detective": "^5.2.0",
+            "duplexer2": "^0.1.2",
+            "inherits": "^2.0.1",
+            "parents": "^1.0.0",
+            "readable-stream": "^2.0.2",
+            "resolve": "^1.4.0",
+            "stream-combiner2": "^1.1.1",
+            "subarg": "^1.0.0",
+            "through2": "^2.0.0",
+            "xtend": "^4.0.0"
+          }
+        },
+        "process": {
+          "version": "0.11.10",
+          "resolved": 
"https://registry.npmjs.org/process/-/process-0.11.10.tgz";,
+          "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+          "dev": true
+        },
+        "shell-quote": {
+          "version": "1.7.2",
+          "resolved": 
"https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz";,
+          "integrity": 
"sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": 
"https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";,
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        },
+        "syntax-error": {
+          "version": "1.4.0",
+          "resolved": 
"https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz";,
+          "integrity": 
"sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+          "dev": true,
+          "requires": {
+            "acorn-node": "^1.2.0"
+          }
+        },
+        "umd": {
+          "version": "3.0.3",
+          "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz";,
+          "integrity": 
"sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
+          "dev": true
+        },
+        "vm-browserify": {
+          "version": "1.1.2",
+          "resolved": 
"https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz";,
+          "integrity": 
"sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+          "dev": true
+        }
+      }
+    },
     "websocket-driver": {
       "version": "0.7.3",
       "resolved": 
"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz";,
@@ -5886,12 +6731,6 @@
           "optional": true
         }
       }
-    },
-    "zlib-browserify": {
-      "version": "0.0.1",
-      "resolved": 
"https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.1.tgz";,
-      "integrity": "sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=",
-      "dev": true
     }
   }
 }
diff --git a/traffic_portal/package.json b/traffic_portal/package.json
index fa69bad..644dc74 100644
--- a/traffic_portal/package.json
+++ b/traffic_portal/package.json
@@ -1,13 +1,14 @@
 {
   "name": "traffic_portal",
   "devDependencies": {
+    "browserify": "16.5.1",
     "connect-livereload": "0.6.1",
     "connect-modrewrite": "0.10.2",
     "connect-timeout": "1.9.0",
     "express": "4.17.1",
     "grunt": "1.0.4",
     "grunt-adam-compass": "0.7.1",
-    "grunt-browserify2": "0.1.8",
+    "grunt-browserify": "5.3.0",
     "grunt-concurrent": "2.2.1",
     "grunt-contrib-clean": "2.0.0",
     "grunt-contrib-concat": "1.0.1",
@@ -21,7 +22,7 @@
     "grunt-html2js": "0.7.1",
     "grunt-install-dependencies": "0.2.0",
     "grunt-newer": "1.3.0",
-    "grunt-run": "^0.8.1",
+    "grunt-run": "0.8.1",
     "grunt-string-replace": "1.3.1",
     "grunt-usemin": "3.1.1",
     "grunt-wiredep": "3.0.1",

Reply via email to