summary refs log tree commit diff
path: root/pkgs/servers
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers')
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix37
-rw-r--r--pkgs/servers/apache-kafka/default.nix21
-rw-r--r--pkgs/servers/atlassian/confluence.nix4
-rw-r--r--pkgs/servers/atlassian/crowd.nix4
-rw-r--r--pkgs/servers/atlassian/jira.nix4
-rw-r--r--pkgs/servers/bird/default.nix2
-rw-r--r--pkgs/servers/clickhouse/default.nix4
-rw-r--r--pkgs/servers/computing/slurm/default.nix20
-rw-r--r--pkgs/servers/corosync/default.nix15
-rw-r--r--pkgs/servers/coturn/default.nix5
-rw-r--r--pkgs/servers/dico/default.nix6
-rw-r--r--pkgs/servers/dns/bind/default.nix4
-rw-r--r--pkgs/servers/dns/doh-proxy/default.nix22
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix4
-rw-r--r--pkgs/servers/emby/default.nix50
-rw-r--r--pkgs/servers/foundationdb/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix141
-rw-r--r--pkgs/servers/home-assistant/default.nix30
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix7
-rw-r--r--pkgs/servers/http/apt-cacher-ng/default.nix4
-rw-r--r--pkgs/servers/http/jetty/default.nix4
-rw-r--r--pkgs/servers/http/lighttpd/default.nix4
-rw-r--r--pkgs/servers/http/nginx/mainline.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix12
-rw-r--r--pkgs/servers/http/webhook/default.nix22
-rw-r--r--pkgs/servers/hydron/default.nix6
-rw-r--r--pkgs/servers/hydron/deps.nix41
-rw-r--r--pkgs/servers/hylafaxplus/config.site20
-rw-r--r--pkgs/servers/hylafaxplus/default.nix95
-rw-r--r--pkgs/servers/hylafaxplus/post-install-check.sh7
-rw-r--r--pkgs/servers/hylafaxplus/post-install.sh24
-rw-r--r--pkgs/servers/hylafaxplus/post-patch.sh25
-rw-r--r--pkgs/servers/identd/nullidentdmod/default.nix25
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/kippo/default.nix1
-rw-r--r--pkgs/servers/lidarr/default.nix36
-rw-r--r--pkgs/servers/mail/dovecot/default.nix8
-rw-r--r--pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix4
-rw-r--r--pkgs/servers/mail/exim/default.nix10
-rw-r--r--pkgs/servers/mail/mailman/default.nix4
-rw-r--r--pkgs/servers/mail/nullmailer/default.nix4
-rw-r--r--pkgs/servers/mail/opensmtpd/default.nix45
-rw-r--r--pkgs/servers/mail/opensmtpd/fix-build.diff12
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/pflogsumm.nix5
-rw-r--r--pkgs/servers/mail/rspamd/default.nix4
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix6
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/miniflux/default.nix38
-rw-r--r--pkgs/servers/miniflux/deps.nix153
-rw-r--r--pkgs/servers/monitoring/cadvisor/default.nix4
-rw-r--r--pkgs/servers/monitoring/fusion-inventory/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/munin/default.nix2
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/net-snmp/CVE-2018-18065.patch30
-rw-r--r--pkgs/servers/monitoring/net-snmp/default.nix1
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix33
-rw-r--r--pkgs/servers/monitoring/prometheus/dovecot-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/json-exporter.nix19
-rw-r--r--pkgs/servers/monitoring/prometheus/snmp-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/tor-exporter.nix37
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix2
-rw-r--r--pkgs/servers/monitoring/uchiwa/bower-packages.nix4
-rw-r--r--pkgs/servers/monitoring/uchiwa/src.nix4
-rw-r--r--pkgs/servers/mpd/clientlib.nix4
-rw-r--r--pkgs/servers/mqtt/mosquitto/default.nix61
-rw-r--r--pkgs/servers/nats-streaming-server/default.nix26
-rw-r--r--pkgs/servers/nextcloud/default.nix16
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix4
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix8
-rw-r--r--pkgs/servers/nosql/influxdb/deps-1.6.3.nix444
-rw-r--r--pkgs/servers/nosql/neo4j/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix6
-rw-r--r--pkgs/servers/openafs/1.6/module.nix6
-rw-r--r--pkgs/servers/openafs/1.6/srcs.nix6
-rw-r--r--pkgs/servers/openafs/1.8/cross-build.patch223
-rw-r--r--pkgs/servers/openafs/1.8/default.nix12
-rw-r--r--pkgs/servers/openafs/1.8/module.nix6
-rw-r--r--pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--pkgs/servers/openxpki/default.nix6
-rw-r--r--pkgs/servers/osrm-backend/default.nix4
-rw-r--r--pkgs/servers/plex/default.nix10
-rw-r--r--pkgs/servers/radarr/default.nix4
-rw-r--r--pkgs/servers/roundcube/default.nix23
-rw-r--r--pkgs/servers/samba/4.x.nix9
-rw-r--r--pkgs/servers/search/elasticsearch/default.nix3
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/shairport-sync/default.nix8
-rw-r--r--pkgs/servers/shishi/default.nix2
-rw-r--r--pkgs/servers/sickbeard/default.nix35
-rw-r--r--pkgs/servers/sickbeard/sickgear.nix35
-rw-r--r--pkgs/servers/sickbeard/sickrage.nix34
-rw-r--r--pkgs/servers/sks/adapt-to-nixos.patch27
-rw-r--r--pkgs/servers/sks/default.nix8
-rw-r--r--pkgs/servers/slimserver/default.nix13
-rw-r--r--pkgs/servers/smcroute/default.nix4
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/sql/mariadb/default.nix19
-rw-r--r--pkgs/servers/sql/mysql/5.7.x.nix4
-rw-r--r--pkgs/servers/sql/postgresql/cstore_fdw/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/default.nix16
-rw-r--r--pkgs/servers/sql/postgresql/jdbc/default.nix8
-rw-r--r--pkgs/servers/sql/postgresql/pg_cron/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/pg_repack/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/pgroonga/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/pgtap/default.nix4
-rw-r--r--pkgs/servers/sql/sqlite/jdbc/default.nix19
-rw-r--r--pkgs/servers/traefik/default.nix4
-rw-r--r--pkgs/servers/trezord/default.nix10
-rw-r--r--pkgs/servers/tvheadend/default.nix4
-rw-r--r--pkgs/servers/uftp/default.nix4
-rw-r--r--pkgs/servers/uhub/default.nix18
-rw-r--r--pkgs/servers/uhub/plugin-dir.patch2
-rw-r--r--pkgs/servers/unifi/default.nix10
-rw-r--r--pkgs/servers/varnish/default.nix13
-rw-r--r--pkgs/servers/web-apps/codimd/CodeMirror/default.nix46
-rw-r--r--pkgs/servers/web-apps/codimd/CodeMirror/deps.json8
-rwxr-xr-xpkgs/servers/web-apps/codimd/CodeMirror/generate.sh7
-rw-r--r--pkgs/servers/web-apps/codimd/CodeMirror/node-packages.nix1459
-rw-r--r--pkgs/servers/web-apps/codimd/CodeMirror/node.nix17
-rw-r--r--pkgs/servers/web-apps/codimd/default.nix156
-rw-r--r--pkgs/servers/web-apps/codimd/deps.json150
-rwxr-xr-xpkgs/servers/web-apps/codimd/generate.sh7
-rw-r--r--pkgs/servers/web-apps/codimd/node-packages.nix17911
-rw-r--r--pkgs/servers/web-apps/codimd/node.nix17
-rw-r--r--pkgs/servers/web-apps/frab/default.nix1
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix4
-rw-r--r--pkgs/servers/x11/xorg/default.nix24
-rw-r--r--pkgs/servers/x11/xorg/extra.list4
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix10
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list4
-rw-r--r--pkgs/servers/x11/xorg/xcb-util-xrm.nix4
141 files changed, 21806 insertions, 452 deletions
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 22a9aef8edab..514771f7e580 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -1,41 +1,30 @@
-{ stdenv, fetchurl
-, erlang, python, libxml2, libxslt, xmlto
-, docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync
+{ stdenv, fetchurl, erlang, elixir, python, libxml2, libxslt, xmlto
+, docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync, getconf, socat
 , AppKit, Carbon, Cocoa
-, getconf
 }:
 
 stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
-  version = "3.6.15";
+
+  version = "3.7.8";
 
   src = fetchurl {
-    url = "https://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.xz";
-    sha256 = "1zdmil657mhjmd20jv47s5dfpj2liqwvyg0zv2ky3akanfpgj98y";
+    url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/v${version}/${name}.tar.xz";
+    sha256 = "00jsix333g44y20psrp12c96b7d161yvrysnygjjz4wc5gbrzlxy";
   };
 
   buildInputs =
-    [ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip rsync ]
+    [ erlang elixir python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip rsync ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
 
   outputs = [ "out" "man" "doc" ];
 
-  postPatch = with stdenv.lib; ''
-    # patch the path to getconf
-    substituteInPlace deps/rabbit_common/src/vm_memory_monitor.erl \
-      --replace "getconf PAGESIZE" "${getconf}/bin/getconf PAGESIZE"
-  '';
-
-  preBuild = ''
-    # Fix the "/usr/bin/env" in "calculate-relative".
-    patchShebangs .
-  '';
-
   installFlags = "PREFIX=$(out) RMQ_ERLAPP_DIR=$(out)";
   installTargets = "install install-man";
 
+  runtimePath = stdenv.lib.makeBinPath [getconf erlang socat];
   postInstall = ''
-    echo 'PATH=${erlang}/bin:''${PATH:+:}$PATH' >> $out/sbin/rabbitmq-env
+    echo 'PATH=${runtimePath}:''${PATH:+:}$PATH' >> $out/sbin/rabbitmq-env
 
     # we know exactly where rabbitmq is gonna be,
     # so we patch that into the env-script
@@ -49,13 +38,7 @@ stdenv.mkDerivation rec {
 
     # and an unecessarily copied INSTALL file
     rm $out/INSTALL
-
-    # patched into a source file above;
-    # needs to be explicitely passed to not be stripped by fixup
-    mkdir -p $out/nix-support
-    echo "${getconf}" > $out/nix-support/dont-strip-getconf
-
-    '';
+  '';
 
   meta = {
     homepage = http://www.rabbitmq.com/;
diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index 31cff39cb3e6..52bb166f401c 100644
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -9,24 +9,29 @@ let
       sha256 = "0ykcjv5dz9i5bws9my2d60pww1g9v2p2nqr67h0i2xrjm7az8a6v";
     };
     "0.10" = {
-      kafkaVersion = "0.10.2.1";
+      kafkaVersion = "0.10.2.2";
       scalaVersion = "2.12";
-      sha256 = "0iszr6r0n9yjgq7kcp1hf00fg754m86gs4jzqc18542an94b88z5";
+      sha256 = "13wibnz7n7znv2g13jlpkz1r0y73qy5b02pdqhsq7cl72h9s6wms";
     };
     "0.11" = {
-      kafkaVersion = "0.11.0.1";
+      kafkaVersion = "0.11.0.3";
       scalaVersion = "2.12";
-      sha256 = "1wj639h95aq5n132fq1rbyzqh5rsa4mlhbg3c5mszqglnzdz4xn7";
+      sha256 = "0zkzp9a8lcfcpavks131119v10hpn90sc0pw4f90jc4zn2yw3rgd";
     };
     "1.0" = {
-      kafkaVersion = "1.0.1";
+      kafkaVersion = "1.0.2";
       scalaVersion = "2.12";
-      sha256 = "1fxn6i0kanwksj1dhcnlni0cn542k50wdg8jkwhfmf4qq8yfl90m";
+      sha256 = "0cmq8ww1lbkp3ipy9d1q8c1yz4kfwj0v4ynnhsk1i48sqlmvwybj";
     };
     "1.1" = {
-      kafkaVersion = "1.1.0";
+      kafkaVersion = "1.1.1";
       scalaVersion = "2.12";
-      sha256 = "04idhsr6pbkb0xkx38faxv2pn5nkjcflz6wl4s3ka82h1fbq74j9";
+      sha256 = "13vg0wm2fsd06pfw05m4bhcgbjmb2bmd4i31zfs48w0f7hjc8qf2";
+    };
+    "2.0" = {
+      kafkaVersion = "2.0.0";
+      scalaVersion = "2.12";
+      sha256 = "0mbrp8rafv1bra9nrdicpxy6w59ixanaj50c9pkgdrih82f57wdm";
     };
   };
 in
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index c3427b8029e5..617ae3ee1d10 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-confluence-${version}";
-  version = "6.8.0";
+  version = "6.11.1";
 
   src = fetchurl {
     url = "https://www.atlassian.com/software/confluence/downloads/binary/${name}.tar.gz";
-    sha256 = "07awdbkjxkk4rbnpbb5xfjp4125c33bwxncmydlgzgk5fzy6dg2w";
+    sha256 = "0sp1ggllvxdz0pf409yyil1x9dah1jyqspknfzgivkmwhcqj7brr";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
diff --git a/pkgs/servers/atlassian/crowd.nix b/pkgs/servers/atlassian/crowd.nix
index 4989c3a417a2..4ad0388e8db4 100644
--- a/pkgs/servers/atlassian/crowd.nix
+++ b/pkgs/servers/atlassian/crowd.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-crowd-${version}";
-  version = "3.1.2";
+  version = "3.2.5";
 
   src = fetchurl {
     url = "https://www.atlassian.com/software/crowd/downloads/binary/${name}.tar.gz";
-    sha256 = "0pnl0zl38827ckgxh4y1mnq3lr7bvd7v3ysdxxv3nfr5zya4xgki";
+    sha256 = "1h8kxh89d2wm0hkgrzx5dnnfy8sbhpgisgdwn3srhb4js8h4qil6";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index 1bff3ad379dd..b9c5951b0b29 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-jira-${version}";
-  version = "7.12.0";
+  version = "7.12.3";
 
   src = fetchurl {
     url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "0kpsgq54xs43rwhg9zwh869jl64ywhb4fcyp5sq1zd19y5cqfnkn";
+    sha256 = "0gna0pr8g78pahm4ci14742w40f0nwfn4hpm3iwbsiw2w6vziahv";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index fc7acc35c19a..5683da5e8e3f 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -17,7 +17,7 @@ let
       buildInputs = [ readline ];
 
       patches = [
-        (./. + (builtins.toPath "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch"))
+        (./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch")
       ];
 
       configureFlags = [
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index 2dcbf6737e66..720898196c85 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "clickhouse-${version}";
-  version = "18.10.3";
+  version = "18.12.17";
 
   src = fetchFromGitHub {
     owner  = "yandex";
     repo   = "ClickHouse";
     rev    = "v${version}-stable";
-    sha256 = "1fm7jh9cxalvlic6pw58gblisvmvb6j0jzf3vr8p6cv7iw9238sp";
+    sha256 = "0gkad6x6jlih30wal8nilhfqr3z22dzgz6m22pza3bhaba2ikk53";
   };
 
   nativeBuildInputs = [ cmake libtool ninja ];
diff --git a/pkgs/servers/computing/slurm/default.nix b/pkgs/servers/computing/slurm/default.nix
index a191d7a721d5..053fadc8af58 100644
--- a/pkgs/servers/computing/slurm/default.nix
+++ b/pkgs/servers/computing/slurm/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, pkgconfig, libtool, curl
-, python, munge, perl, pam, openssl
+, python, munge, perl, pam, openssl, zlib
 , ncurses, mysql, gtk2, lua, hwloc, numactl
-, readline, freeipmi, libssh2, xorg
+, readline, freeipmi, libssh2, xorg, lz4
 # enable internal X11 support via libssh2
 , enableX11 ? true
 }:
 
 stdenv.mkDerivation rec {
   name = "slurm-${version}";
-  version = "17.11.9-2";
+  version = "18.08.3.1";
 
   # N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
   # because the latter does not keep older releases.
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     repo = "slurm";
     # The release tags use - instead of .
     rev = "${builtins.replaceStrings ["."] ["-"] name}";
-    sha256 = "1lq4ac6yjai6wh979dciw8v3d99zbd3w36rfh0vpncqm672fg1qy";
+    sha256 = "1dz5hgnlsld8b8vrbckk3mj7cqrv662wsp0s9z4x8wafygz3zx07";
   };
 
   outputs = [ "out" "dev" ];
@@ -34,16 +34,18 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig libtool ];
   buildInputs = [
-    curl python munge perl pam openssl
-      mysql.connector-c ncurses gtk2
+    curl python munge perl pam openssl zlib
+      mysql.connector-c ncurses gtk2 lz4
       lua hwloc numactl readline freeipmi
   ] ++ stdenv.lib.optionals enableX11 [ libssh2 xorg.xauth ];
 
   configureFlags = with stdenv.lib;
-    [ "--with-munge=${munge}"
-      "--with-ssl=${openssl.dev}"
+    [ "--with-freeipmi=${freeipmi}"
       "--with-hwloc=${hwloc.dev}"
-      "--with-freeipmi=${freeipmi}"
+      "--with-lz4=${lz4.dev}"
+      "--with-munge=${munge}"
+      "--with-ssl=${openssl.dev}"
+      "--with-zlib=${zlib}"
       "--sysconfdir=/etc/slurm"
     ] ++ (optional (gtk2 == null)  "--disable-gtktest")
       ++ (optional enableX11 "--with-libssh2=${libssh2.dev}");
diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix
index 145052ff8c3a..d1dd7c05929d 100644
--- a/pkgs/servers/corosync/default.nix
+++ b/pkgs/servers/corosync/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb
-, dbus, librdmacm, libibverbs, libstatgrab, net_snmp
+, dbus, rdma-core, libstatgrab, net_snmp
 , enableDbus ? false
 , enableInfiniBandRdma ? false
 , enableMonitoring ? false
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     nss nspr libqb
   ] ++ optional enableDbus dbus
-    ++ optional enableInfiniBandRdma [ librdmacm libibverbs ]
+    ++ optional enableInfiniBandRdma rdma-core
     ++ optional enableMonitoring libstatgrab
     ++ optional enableSnmp net_snmp;
 
@@ -44,6 +44,17 @@ stdenv.mkDerivation rec {
     "LOGROTATEDIR=$(out)/etc/logrotate.d"
   ];
 
+  preConfigure = optionalString enableInfiniBandRdma ''
+    # configure looks for the pkg-config files
+    # of librdmacm and libibverbs
+    # Howver, rmda-core does not provide a pkg-config file
+    # We give the flags manually here:
+    export rdmacm_LIBS=-lrdmacm
+    export rdmacm_CFLAGS=" "
+    export ibverbs_LIBS=-libverbs
+    export ibverbs_CFLAGS=" "
+  '';
+
   postInstall = ''
     wrapProgram $out/bin/corosync-blackbox \
       --prefix PATH ":" "$out/sbin:${libqb}/sbin"
diff --git a/pkgs/servers/coturn/default.nix b/pkgs/servers/coturn/default.nix
index 0891b72cd1e9..9bf461938cdb 100644
--- a/pkgs/servers/coturn/default.nix
+++ b/pkgs/servers/coturn/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "coturn-${version}";
-  version = "4.5.0.7";
+  version = "4.5.0.8";
 
   src = fetchFromGitHub {
     owner = "coturn";
     repo = "coturn";
     rev = "${version}";
-    sha256 = "1781fx8lqgc54j973xzgq9d7k3g2j03va82jb4217gd3a93pa65l";
+    sha256 = "1l2q76lzv2gff832wrqd9dcilyaqx91pixyz335822ypra89mdp8";
   };
 
   buildInputs = [ openssl libevent ];
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd3 ];
     description = "A TURN server";
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # 2018-10-21
     maintainers = [ maintainers.ralith ];
   };
 }
diff --git a/pkgs/servers/dico/default.nix b/pkgs/servers/dico/default.nix
index 4fa28a61829f..0e4c392c7a3e 100644
--- a/pkgs/servers/dico/default.nix
+++ b/pkgs/servers/dico/default.nix
@@ -2,11 +2,11 @@
 , guile, python, pcre, libffi, groff }:
 
 stdenv.mkDerivation rec {
-  name = "dico-2.6";
+  name = "dico-2.7";
 
   src = fetchurl {
     url = "mirror://gnu/dico/${name}.tar.xz";
-    sha256 = "0zmi041gv5nd5fmyzgdrgrsy2pvjaq9p8dvvhxwi842hiyng5b7i";
+    sha256 = "0dg4aacnmlf3ljssd7dwh8z5644xzq8k1501mbsx8nz8p8a9mbsq";
   };
 
   hardeningDisable = [ "format" ];
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     homepage    = http://www.gnu.org/software/dico/;
     license     = licenses.gpl3Plus;
     maintainers = with maintainers; [ lovek323 ];
-    platforms   = platforms.unix;
+    platforms   = platforms.linux;
 
     longDescription = ''
       GNU Dico is a flexible modular implementation of DICT server
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 53c8411a22c3..10236ee55e8c 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -8,14 +8,14 @@
 assert enableSeccomp -> libseccomp != null;
 assert enablePython -> python3 != null;
 
-let version = "9.12.2"; in
+let version = "9.12.2-P2"; in
 
 stdenv.mkDerivation rec {
   name = "bind-${version}";
 
   src = fetchurl {
     url = "https://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "0ll46igs9xfq2qclc5wzqsnj3zv7ssga0544gm24s1m7765lqslz";
+    sha256 = "0gk9vwqlbdmn10m21f2awvmiccfbadvcwi8zsgm91awbx4k7h0l7";
   };
 
   outputs = [ "out" "lib" "dev" "man" "dnsutils" "host" ];
diff --git a/pkgs/servers/dns/doh-proxy/default.nix b/pkgs/servers/dns/doh-proxy/default.nix
new file mode 100644
index 000000000000..ac44dbbf04d1
--- /dev/null
+++ b/pkgs/servers/dns/doh-proxy/default.nix
@@ -0,0 +1,22 @@
+{ lib, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "doh-proxy";
+  version = "0.0.8";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "0mfl84mcklby6cnsw29kpcxj7mh1cx5yw6mjs4sidr1psyni7x6c";
+  };
+
+  propagatedBuildInputs = with python3Packages;
+    [ aioh2 dnspython aiohttp-remotes pytestrunner flake8 ];
+  doCheck = false; # Trouble packaging unittest-data-provider
+
+  meta = with lib; {
+    homepage = https://facebookexperimental.github.io/doh-proxy/;
+    description = "A proof of concept DNS-Over-HTTPS proxy";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.qyliss ];
+  };
+}
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 047729aa937f..64b78d335f79 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -7,11 +7,11 @@ let inherit (stdenv.lib) optional optionals; in
 # Note: ATM only the libraries have been tested in nixpkgs.
 stdenv.mkDerivation rec {
   name = "knot-dns-${version}";
-  version = "2.7.1";
+  version = "2.7.3";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "7d6ae20ada0f0ee7700d5df17f47f86b49eb21ee34977d0d70de6a0947371381";
+    sha256 = "8717c0f34e441e96bc32bc93b48333ea9c094c5075f91575e40ac30fcf6692df";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index ee09024dc0eb..5f330c4f06e2 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -15,11 +15,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nsd-4.1.24";
+  name = "nsd-4.1.25";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "04ck8ia6xq1xqdk2g922262xywzd070pl4iad7c0lqclwk48gdjg";
+    sha256 = "0zyzjd3wmq258jiry62ci1z23qfd0rc5ggnpmybc60xvpddgynwg";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index 286447352fc0..933609ac268a 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -8,11 +8,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "pdns-recursor-${version}";
-  version = "4.1.3";
+  version = "4.1.4";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "12x8gm6771wh2xaqad3p5y08p5pimp6k9h830s0487mwg9glacy1";
+    sha256 = "0l5mf45r3x1z5mg95zpbyms88zv307hsrrx4h6jm9zm3pr9l77xi";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix
index baeefc7ff9c8..12b0dde0c9b4 100644
--- a/pkgs/servers/emby/default.nix
+++ b/pkgs/servers/emby/default.nix
@@ -1,44 +1,52 @@
-{ stdenv, fetchurl, pkgs, unzip, sqlite, makeWrapper, mono54, ffmpeg, ... }:
+{ stdenv, fetchurl, unzip, sqlite, makeWrapper, dotnet-sdk, ffmpeg }:
 
 stdenv.mkDerivation rec {
   name = "emby-${version}";
-  version = "3.4.1.0";
-
+  version = "3.5.3.0";
+
+  # We are fetching a binary here, however, a source build is possible.
+  # See -> https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=emby-server-git#n43
+  # Though in my attempt it failed with this error repeatedly
+  # The type 'Attribute' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
+  # This may also need msbuild (instead of xbuild) which isn't in nixpkgs
+  # See -> https://github.com/NixOS/nixpkgs/issues/29817
   src = fetchurl {
-    url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip";
-    sha256 = "08jr6v8xhmiwbby0lfvpjrlma280inwh5qp6v4p93lzd07fjynh5";
+    url = "https://github.com/MediaBrowser/Emby.Releases/releases/download/${version}/embyserver-netcore_${version}.zip";
+    sha256 = "0311af3q813cx0ykbdk9vkmnyqi2l8rx66jnvdkw927q6invnnpj";
   };
 
-  buildInputs = with pkgs; [
+  buildInputs = [
     unzip
     makeWrapper
   ];
-  propagatedBuildInputs = with pkgs; [
-    mono54
+
+  propagatedBuildInputs = [
+    dotnet-sdk
     sqlite
   ];
 
-  # Need to set sourceRoot as unpacker will complain about multiple directory output
-  sourceRoot = ".";
+  preferLocalBuild = true;
 
   buildPhase = ''
-    substituteInPlace SQLitePCLRaw.provider.sqlite3.dll.config --replace libsqlite3.so ${sqlite.out}/lib/libsqlite3.so
-    substituteInPlace MediaBrowser.Server.Mono.exe.config --replace ProgramData-Server "/var/lib/emby/ProgramData-Server"
+    rm -rf {electron,runtimes}
   '';
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp -r * $out/bin
-
-    makeWrapper "${mono54}/bin/mono" $out/bin/MediaBrowser.Server.Mono \
-      --add-flags "$out/bin/MediaBrowser.Server.Mono.exe -ffmpeg ${ffmpeg}/bin/ffmpeg -ffprobe ${ffmpeg}/bin/ffprobe"
+    install -dm 755 "$out/opt/emby-server"
+    cp -r * "$out/opt/emby-server"
+
+    makeWrapper "${dotnet-sdk}/bin/dotnet" $out/bin/emby \
+      --prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [
+        sqlite
+      ]}" \
+      --add-flags "$out/opt/emby-server/EmbyServer.dll -ffmpeg ${ffmpeg}/bin/ffmpeg -ffprobe ${ffmpeg}/bin/ffprobe"
   '';
 
-  meta = {
+  meta =  with stdenv.lib; {
     description = "MediaBrowser - Bring together your videos, music, photos, and live television";
     homepage = https://emby.media/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.fadenb ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ fadenb ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
index 265255c2f78a..b16287f40d79 100644
--- a/pkgs/servers/foundationdb/default.nix
+++ b/pkgs/servers/foundationdb/default.nix
@@ -165,9 +165,9 @@ in with builtins; {
   };
 
   foundationdb60 = makeFdb rec {
-    version = "6.0.4pre2497_${substring 0 8 rev}";
+    version = "6.0.11pre2716_${substring 0 8 rev}";
     branch  = "release-6.0";
-    rev     = "73d64cb244714c19bcc651122f6e7a9236aa11b5";
-    sha256  = "1jzmrf9kj0brqddlmxvzhj27r6843790jnqwkv1s3ri21fqb3hs7";
+    rev     = "9e8c1941ec2cdbba0c584e1acf00906cffd7a67a";
+    sha256  = "11n5yq68w32hsq5r0g34hg5wvyv9n2lkhw60b9a1vvlw1x41wxld";
   };
 }
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 12b96b3da125..73cc01281493 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "0.77.2";
+  version = "0.81.2";
   components = {
     "abode" = ps: with ps; [  ];
     "ads" = ps: with ps; [  ];
@@ -11,14 +11,16 @@
     "alarm_control_panel.alarmdecoder" = ps: with ps; [  ];
     "alarm_control_panel.alarmdotcom" = ps: with ps; [  ];
     "alarm_control_panel.arlo" = ps: with ps; [  ];
+    "alarm_control_panel.blink" = ps: with ps; [  ];
     "alarm_control_panel.canary" = ps: with ps; [  ];
     "alarm_control_panel.concord232" = ps: with ps; [  ];
     "alarm_control_panel.demo" = ps: with ps; [  ];
     "alarm_control_panel.egardia" = ps: with ps; [  ];
+    "alarm_control_panel.elkm1" = ps: with ps; [  ];
     "alarm_control_panel.envisalink" = ps: with ps; [  ];
     "alarm_control_panel.homematicip_cloud" = ps: with ps; [  ];
     "alarm_control_panel.ialarm" = ps: with ps; [  ];
-    "alarm_control_panel.ifttt" = ps: with ps; [  ];
+    "alarm_control_panel.ifttt" = ps: with ps; [ aiohttp-cors ];
     "alarm_control_panel.manual" = ps: with ps; [  ];
     "alarm_control_panel.manual_mqtt" = ps: with ps; [ paho-mqtt ];
     "alarm_control_panel.mqtt" = ps: with ps; [ paho-mqtt ];
@@ -29,6 +31,7 @@
     "alarm_control_panel.totalconnect" = ps: with ps; [  ];
     "alarm_control_panel.verisure" = ps: with ps; [  ];
     "alarm_control_panel.wink" = ps: with ps; [  ];
+    "alarm_control_panel.yale_smart_alarm" = ps: with ps; [  ];
     "alarmdecoder" = ps: with ps; [  ];
     "alert" = ps: with ps; [  ];
     "alexa" = ps: with ps; [ aiohttp-cors ];
@@ -41,6 +44,7 @@
     "apcupsd" = ps: with ps; [  ];
     "api" = ps: with ps; [ aiohttp-cors ];
     "apple_tv" = ps: with ps; [  ];
+    "aqualogic" = ps: with ps; [  ];
     "arduino" = ps: with ps; [  ];
     "arlo" = ps: with ps; [  ];
     "asterisk_mbox" = ps: with ps; [  ];
@@ -51,6 +55,7 @@
     "auth.mfa_setup_flow" = ps: with ps; [  ];
     "automation" = ps: with ps; [  ];
     "automation.event" = ps: with ps; [  ];
+    "automation.geo_location" = ps: with ps; [  ];
     "automation.homeassistant" = ps: with ps; [  ];
     "automation.litejet" = ps: with ps; [  ];
     "automation.mqtt" = ps: with ps; [ paho-mqtt ];
@@ -59,6 +64,7 @@
     "automation.sun" = ps: with ps; [  ];
     "automation.template" = ps: with ps; [  ];
     "automation.time" = ps: with ps; [  ];
+    "automation.webhook" = ps: with ps; [ aiohttp-cors ];
     "automation.zone" = ps: with ps; [  ];
     "axis" = ps: with ps; [  ];
     "bbb_gpio" = ps: with ps; [  ];
@@ -90,6 +96,7 @@
     "binary_sensor.ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
     "binary_sensor.ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
     "binary_sensor.flic" = ps: with ps; [  ];
+    "binary_sensor.fritzbox" = ps: with ps; [  ];
     "binary_sensor.gc100" = ps: with ps; [  ];
     "binary_sensor.hikvision" = ps: with ps; [  ];
     "binary_sensor.hive" = ps: with ps; [  ];
@@ -113,6 +120,7 @@
     "binary_sensor.netatmo" = ps: with ps; [  ];
     "binary_sensor.nx584" = ps: with ps; [  ];
     "binary_sensor.octoprint" = ps: with ps; [  ];
+    "binary_sensor.opentherm_gw" = ps: with ps; [  ];
     "binary_sensor.openuv" = ps: with ps; [  ];
     "binary_sensor.pilight" = ps: with ps; [  ];
     "binary_sensor.ping" = ps: with ps; [  ];
@@ -123,6 +131,7 @@
     "binary_sensor.random" = ps: with ps; [  ];
     "binary_sensor.raspihats" = ps: with ps; [  ];
     "binary_sensor.rest" = ps: with ps; [  ];
+    "binary_sensor.rflink" = ps: with ps; [  ];
     "binary_sensor.rfxtrx" = ps: with ps; [  ];
     "binary_sensor.ring" = ps: with ps; [  ];
     "binary_sensor.rpi_gpio" = ps: with ps; [  ];
@@ -179,6 +188,7 @@
     "camera.foscam" = ps: with ps; [  ];
     "camera.generic" = ps: with ps; [  ];
     "camera.local_file" = ps: with ps; [  ];
+    "camera.logi_circle" = ps: with ps; [  ];
     "camera.mjpeg" = ps: with ps; [  ];
     "camera.mqtt" = ps: with ps; [ paho-mqtt ];
     "camera.neato" = ps: with ps; [  ];
@@ -203,10 +213,12 @@
     "climate" = ps: with ps; [  ];
     "climate.daikin" = ps: with ps; [  ];
     "climate.demo" = ps: with ps; [  ];
+    "climate.dyson" = ps: with ps; [  ];
     "climate.ecobee" = ps: with ps; [  ];
-    "climate.econet" = ps: with ps; [  ];
+    "climate.elkm1" = ps: with ps; [  ];
     "climate.ephember" = ps: with ps; [  ];
     "climate.eq3btsmart" = ps: with ps; [ construct ];
+    "climate.evohome" = ps: with ps; [  ];
     "climate.flexit" = ps: with ps; [  ];
     "climate.fritzbox" = ps: with ps; [  ];
     "climate.generic_thermostat" = ps: with ps; [  ];
@@ -219,6 +231,7 @@
     "climate.knx" = ps: with ps; [  ];
     "climate.maxcube" = ps: with ps; [  ];
     "climate.melissa" = ps: with ps; [  ];
+    "climate.mill" = ps: with ps; [  ];
     "climate.modbus" = ps: with ps; [  ];
     "climate.mqtt" = ps: with ps; [ paho-mqtt ];
     "climate.mysensors" = ps: with ps; [  ];
@@ -226,6 +239,7 @@
     "climate.netatmo" = ps: with ps; [  ];
     "climate.nuheat" = ps: with ps; [  ];
     "climate.oem" = ps: with ps; [  ];
+    "climate.opentherm_gw" = ps: with ps; [  ];
     "climate.proliphix" = ps: with ps; [  ];
     "climate.radiotherm" = ps: with ps; [  ];
     "climate.sensibo" = ps: with ps; [  ];
@@ -251,9 +265,10 @@
     "config" = ps: with ps; [ aiohttp-cors ];
     "config.auth" = ps: with ps; [  ];
     "config.automation" = ps: with ps; [  ];
-    "config.config_entries" = ps: with ps; [ voluptuous-serialize ];
+    "config.config_entries" = ps: with ps; [  ];
     "config.core" = ps: with ps; [  ];
     "config.customize" = ps: with ps; [  ];
+    "config.device_registry" = ps: with ps; [ aiohttp-cors ];
     "config.entity_registry" = ps: with ps; [ aiohttp-cors ];
     "config.group" = ps: with ps; [  ];
     "config.hassbian" = ps: with ps; [  ];
@@ -268,11 +283,13 @@
     "cover.aladdin_connect" = ps: with ps; [  ];
     "cover.brunt" = ps: with ps; [  ];
     "cover.command_line" = ps: with ps; [  ];
+    "cover.deconz" = ps: with ps; [  ];
     "cover.demo" = ps: with ps; [  ];
     "cover.garadget" = ps: with ps; [  ];
     "cover.gogogate2" = ps: with ps; [  ];
     "cover.group" = ps: with ps; [  ];
     "cover.homematic" = ps: with ps; [ pyhomematic ];
+    "cover.insteon" = ps: with ps; [  ];
     "cover.isy994" = ps: with ps; [  ];
     "cover.knx" = ps: with ps; [  ];
     "cover.lutron" = ps: with ps; [  ];
@@ -284,7 +301,6 @@
     "cover.rflink" = ps: with ps; [  ];
     "cover.rfxtrx" = ps: with ps; [  ];
     "cover.rpi_gpio" = ps: with ps; [  ];
-    "cover.ryobi_gdo" = ps: with ps; [  ];
     "cover.scsgate" = ps: with ps; [  ];
     "cover.tahoma" = ps: with ps; [  ];
     "cover.tellduslive" = ps: with ps; [  ];
@@ -322,6 +338,7 @@
     "device_tracker.google_maps" = ps: with ps; [  ];
     "device_tracker.gpslogger" = ps: with ps; [ aiohttp-cors ];
     "device_tracker.hitron_coda" = ps: with ps; [  ];
+    "device_tracker.huawei_lte" = ps: with ps; [  ];
     "device_tracker.huawei_router" = ps: with ps; [  ];
     "device_tracker.icloud" = ps: with ps; [  ];
     "device_tracker.keenetic_ndms2" = ps: with ps; [  ];
@@ -339,6 +356,7 @@
     "device_tracker.owntracks" = ps: with ps; [ libnacl paho-mqtt ];
     "device_tracker.owntracks_http" = ps: with ps; [ aiohttp-cors libnacl ];
     "device_tracker.ping" = ps: with ps; [  ];
+    "device_tracker.quantum_gateway" = ps: with ps; [  ];
     "device_tracker.ritassist" = ps: with ps; [  ];
     "device_tracker.sky_hub" = ps: with ps; [  ];
     "device_tracker.snmp" = ps: with ps; [ pysnmp ];
@@ -368,8 +386,10 @@
     "dyson" = ps: with ps; [  ];
     "ecobee" = ps: with ps; [  ];
     "ecovacs" = ps: with ps; [  ];
+    "edp_redy" = ps: with ps; [  ];
     "egardia" = ps: with ps; [  ];
     "eight_sleep" = ps: with ps; [  ];
+    "elkm1" = ps: with ps; [  ];
     "emoncms_history" = ps: with ps; [  ];
     "emulated_hue" = ps: with ps; [ aiohttp-cors ];
     "emulated_hue.hue_api" = ps: with ps; [  ];
@@ -377,6 +397,7 @@
     "enocean" = ps: with ps; [  ];
     "envisalink" = ps: with ps; [  ];
     "eufy" = ps: with ps; [  ];
+    "evohome" = ps: with ps; [  ];
     "fan" = ps: with ps; [  ];
     "fan.comfoconnect" = ps: with ps; [  ];
     "fan.demo" = ps: with ps; [  ];
@@ -396,12 +417,15 @@
     "foursquare" = ps: with ps; [ aiohttp-cors ];
     "freedns" = ps: with ps; [  ];
     "fritzbox" = ps: with ps; [  ];
-    "frontend" = ps: with ps; [ aiohttp-cors ];
+    "frontend" = ps: with ps; [ aiohttp-cors ruamel_yaml ];
     "gc100" = ps: with ps; [  ];
+    "geo_location" = ps: with ps; [  ];
+    "geo_location.demo" = ps: with ps; [  ];
+    "geo_location.geo_json_events" = ps: with ps; [  ];
+    "geo_location.nsw_rural_fire_service_feed" = ps: with ps; [  ];
     "goalfeed" = ps: with ps; [  ];
     "google" = ps: with ps; [ google_api_python_client httplib2 oauth2client ];
     "google_assistant" = ps: with ps; [ aiohttp-cors ];
-    "google_assistant.auth" = ps: with ps; [  ];
     "google_assistant.const" = ps: with ps; [  ];
     "google_assistant.helpers" = ps: with ps; [  ];
     "google_assistant.http" = ps: with ps; [  ];
@@ -410,11 +434,16 @@
     "google_domains" = ps: with ps; [  ];
     "graphite" = ps: with ps; [  ];
     "group" = ps: with ps; [  ];
+    "habitica" = ps: with ps; [  ];
     "hangouts" = ps: with ps; [  ];
     "hangouts.config_flow" = ps: with ps; [  ];
     "hangouts.const" = ps: with ps; [  ];
     "hangouts.hangouts_bot" = ps: with ps; [  ];
+    "hangouts.intents" = ps: with ps; [  ];
     "hassio" = ps: with ps; [ aiohttp-cors ];
+    "hassio.auth" = ps: with ps; [  ];
+    "hassio.const" = ps: with ps; [  ];
+    "hassio.discovery" = ps: with ps; [  ];
     "hassio.handler" = ps: with ps; [  ];
     "hassio.http" = ps: with ps; [  ];
     "hdmi_cec" = ps: with ps; [  ];
@@ -441,13 +470,14 @@
     "http.real_ip" = ps: with ps; [  ];
     "http.static" = ps: with ps; [  ];
     "http.view" = ps: with ps; [  ];
+    "huawei_lte" = ps: with ps; [  ];
     "hue" = ps: with ps; [ aiohue ];
     "hue.bridge" = ps: with ps; [  ];
     "hue.config_flow" = ps: with ps; [  ];
     "hue.const" = ps: with ps; [  ];
     "hue.errors" = ps: with ps; [  ];
     "hydrawise" = ps: with ps; [  ];
-    "ifttt" = ps: with ps; [  ];
+    "ifttt" = ps: with ps; [ aiohttp-cors ];
     "ihc" = ps: with ps; [  ];
     "ihc.const" = ps: with ps; [  ];
     "ihc.ihcdevice" = ps: with ps; [  ];
@@ -484,6 +514,7 @@
     "knx" = ps: with ps; [  ];
     "konnected" = ps: with ps; [ aiohttp-cors netdisco ];
     "lametric" = ps: with ps; [  ];
+    "lifx" = ps: with ps; [  ];
     "light" = ps: with ps; [  ];
     "light.abode" = ps: with ps; [  ];
     "light.ads" = ps: with ps; [  ];
@@ -494,6 +525,7 @@
     "light.decora" = ps: with ps; [  ];
     "light.decora_wifi" = ps: with ps; [  ];
     "light.demo" = ps: with ps; [  ];
+    "light.elkm1" = ps: with ps; [  ];
     "light.enocean" = ps: with ps; [  ];
     "light.eufy" = ps: with ps; [  ];
     "light.flux_led" = ps: with ps; [  ];
@@ -525,6 +557,7 @@
     "light.mysensors" = ps: with ps; [  ];
     "light.mystrom" = ps: with ps; [  ];
     "light.nanoleaf_aurora" = ps: with ps; [  ];
+    "light.opple" = ps: with ps; [  ];
     "light.osramlightify" = ps: with ps; [  ];
     "light.piglow" = ps: with ps; [  ];
     "light.qwikswitch" = ps: with ps; [  ];
@@ -570,6 +603,7 @@
     "lock.nello" = ps: with ps; [  ];
     "lock.nuki" = ps: with ps; [  ];
     "lock.sesame" = ps: with ps; [  ];
+    "lock.template" = ps: with ps; [  ];
     "lock.tesla" = ps: with ps; [  ];
     "lock.vera" = ps: with ps; [  ];
     "lock.verisure" = ps: with ps; [  ];
@@ -577,12 +611,15 @@
     "lock.wink" = ps: with ps; [  ];
     "lock.xiaomi_aqara" = ps: with ps; [  ];
     "lock.zwave" = ps: with ps; [  ];
-    "logbook" = ps: with ps; [ aiohttp-cors sqlalchemy ];
+    "logbook" = ps: with ps; [ aiohttp-cors ruamel_yaml sqlalchemy ];
     "logentries" = ps: with ps; [  ];
     "logger" = ps: with ps; [  ];
+    "logi_circle" = ps: with ps; [  ];
+    "lovelace" = ps: with ps; [ ruamel_yaml ];
     "lutron" = ps: with ps; [  ];
     "lutron_caseta" = ps: with ps; [  ];
     "mailbox" = ps: with ps; [ aiohttp-cors ];
+    "mailbox.asterisk_cdr" = ps: with ps; [  ];
     "mailbox.asterisk_mbox" = ps: with ps; [  ];
     "mailbox.demo" = ps: with ps; [  ];
     "mailgun" = ps: with ps; [ aiohttp-cors ];
@@ -618,6 +655,7 @@
     "media_player.itunes" = ps: with ps; [  ];
     "media_player.kodi" = ps: with ps; [ jsonrpc-async jsonrpc-websocket ];
     "media_player.lg_netcast" = ps: with ps; [  ];
+    "media_player.lg_soundbar" = ps: with ps; [  ];
     "media_player.liveboxplaytv" = ps: with ps; [  ];
     "media_player.mediaroom" = ps: with ps; [  ];
     "media_player.monoprice" = ps: with ps; [  ];
@@ -640,7 +678,7 @@
     "media_player.sisyphus" = ps: with ps; [  ];
     "media_player.snapcast" = ps: with ps; [  ];
     "media_player.songpal" = ps: with ps; [  ];
-    "media_player.sonos" = ps: with ps; [ soco ];
+    "media_player.sonos" = ps: with ps; [  ];
     "media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
     "media_player.spotify" = ps: with ps; [ aiohttp-cors ];
     "media_player.squeezebox" = ps: with ps; [  ];
@@ -659,6 +697,8 @@
     "mochad" = ps: with ps; [  ];
     "modbus" = ps: with ps; [  ];
     "mqtt" = ps: with ps; [ paho-mqtt ];
+    "mqtt.config_flow" = ps: with ps; [  ];
+    "mqtt.const" = ps: with ps; [  ];
     "mqtt.discovery" = ps: with ps; [  ];
     "mqtt.server" = ps: with ps; [ aiohttp-cors hbmqtt ];
     "mqtt_eventstream" = ps: with ps; [ paho-mqtt ];
@@ -699,7 +739,8 @@
     "notify.group" = ps: with ps; [  ];
     "notify.hangouts" = ps: with ps; [  ];
     "notify.hipchat" = ps: with ps; [  ];
-    "notify.html5" = ps: with ps; [ aiohttp-cors ];
+    "notify.homematic" = ps: with ps; [ pyhomematic ];
+    "notify.html5" = ps: with ps; [ aiohttp-cors ruamel_yaml ];
     "notify.instapush" = ps: with ps; [  ];
     "notify.ios" = ps: with ps; [ aiohttp-cors zeroconf ];
     "notify.joaoapps_join" = ps: with ps; [  ];
@@ -731,11 +772,12 @@
     "notify.synology_chat" = ps: with ps; [  ];
     "notify.syslog" = ps: with ps; [  ];
     "notify.telegram" = ps: with ps; [ python-telegram-bot ];
+    "notify.tibber" = ps: with ps; [  ];
     "notify.twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twitter" = ps: with ps; [  ];
     "notify.webostv" = ps: with ps; [  ];
-    "notify.xmpp" = ps: with ps; [ pyasn1-modules pyasn1 sleekxmpp ];
+    "notify.xmpp" = ps: with ps; [ slixmpp ];
     "notify.yessssms" = ps: with ps; [  ];
     "nuheat" = ps: with ps; [  ];
     "nuimo_controller" = ps: with ps; [  ];
@@ -743,9 +785,12 @@
     "onboarding" = ps: with ps; [ aiohttp-cors ];
     "onboarding.const" = ps: with ps; [  ];
     "onboarding.views" = ps: with ps; [  ];
+    "opentherm_gw" = ps: with ps; [  ];
     "openuv" = ps: with ps; [  ];
-    "panel_custom" = ps: with ps; [ aiohttp-cors ];
-    "panel_iframe" = ps: with ps; [ aiohttp-cors ];
+    "openuv.config_flow" = ps: with ps; [  ];
+    "openuv.const" = ps: with ps; [  ];
+    "panel_custom" = ps: with ps; [ aiohttp-cors ruamel_yaml ];
+    "panel_iframe" = ps: with ps; [ aiohttp-cors ruamel_yaml ];
     "persistent_notification" = ps: with ps; [  ];
     "pilight" = ps: with ps; [  ];
     "plant" = ps: with ps; [  ];
@@ -775,6 +820,7 @@
     "rflink" = ps: with ps; [  ];
     "rfxtrx" = ps: with ps; [  ];
     "ring" = ps: with ps; [  ];
+    "route53" = ps: with ps; [ boto3 ];
     "rpi_gpio" = ps: with ps; [  ];
     "rpi_pfio" = ps: with ps; [  ];
     "rss_feed_template" = ps: with ps; [ aiohttp-cors ];
@@ -782,6 +828,7 @@
     "satel_integra" = ps: with ps; [  ];
     "scene" = ps: with ps; [  ];
     "scene.deconz" = ps: with ps; [  ];
+    "scene.elkm1" = ps: with ps; [  ];
     "scene.homeassistant" = ps: with ps; [  ];
     "scene.hunterdouglas_powerview" = ps: with ps; [  ];
     "scene.knx" = ps: with ps; [  ];
@@ -805,6 +852,7 @@
     "sensor.android_ip_webcam" = ps: with ps; [  ];
     "sensor.apcupsd" = ps: with ps; [  ];
     "sensor.api_streams" = ps: with ps; [  ];
+    "sensor.aqualogic" = ps: with ps; [  ];
     "sensor.arduino" = ps: with ps; [  ];
     "sensor.arest" = ps: with ps; [  ];
     "sensor.arlo" = ps: with ps; [  ];
@@ -853,9 +901,11 @@
     "sensor.ebox" = ps: with ps; [  ];
     "sensor.ecobee" = ps: with ps; [  ];
     "sensor.eddystone_temperature" = ps: with ps; [ construct ];
+    "sensor.edp_redy" = ps: with ps; [  ];
     "sensor.efergy" = ps: with ps; [  ];
     "sensor.eight_sleep" = ps: with ps; [  ];
     "sensor.eliqonline" = ps: with ps; [  ];
+    "sensor.elkm1" = ps: with ps; [  ];
     "sensor.emoncms" = ps: with ps; [  ];
     "sensor.enocean" = ps: with ps; [  ];
     "sensor.enphase_envoy" = ps: with ps; [  ];
@@ -877,14 +927,16 @@
     "sensor.fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.gearbest" = ps: with ps; [  ];
-    "sensor.geizhals" = ps: with ps; [ beautifulsoup4 ];
-    "sensor.geo_rss_events" = ps: with ps; [ feedparser ];
+    "sensor.geizhals" = ps: with ps; [  ];
+    "sensor.geo_rss_events" = ps: with ps; [  ];
+    "sensor.gitlab_ci" = ps: with ps; [  ];
     "sensor.gitter" = ps: with ps; [  ];
     "sensor.glances" = ps: with ps; [  ];
     "sensor.google_travel_time" = ps: with ps; [  ];
     "sensor.google_wifi" = ps: with ps; [  ];
     "sensor.gpsd" = ps: with ps; [  ];
     "sensor.gtfs" = ps: with ps; [  ];
+    "sensor.habitica" = ps: with ps; [  ];
     "sensor.haveibeenpwned" = ps: with ps; [  ];
     "sensor.hddtemp" = ps: with ps; [  ];
     "sensor.history_stats" = ps: with ps; [ aiohttp-cors sqlalchemy ];
@@ -893,6 +945,7 @@
     "sensor.homematicip_cloud" = ps: with ps; [  ];
     "sensor.hp_ilo" = ps: with ps; [  ];
     "sensor.htu21d" = ps: with ps; [  ];
+    "sensor.huawei_lte" = ps: with ps; [  ];
     "sensor.hydrawise" = ps: with ps; [  ];
     "sensor.hydroquebec" = ps: with ps; [  ];
     "sensor.ihc" = ps: with ps; [  ];
@@ -905,13 +958,16 @@
     "sensor.iperf3" = ps: with ps; [  ];
     "sensor.irish_rail_transport" = ps: with ps; [  ];
     "sensor.isy994" = ps: with ps; [  ];
+    "sensor.jewish_calendar" = ps: with ps; [  ];
     "sensor.juicenet" = ps: with ps; [  ];
     "sensor.kira" = ps: with ps; [  ];
     "sensor.knx" = ps: with ps; [  ];
     "sensor.kwb" = ps: with ps; [  ];
     "sensor.lacrosse" = ps: with ps; [  ];
     "sensor.lastfm" = ps: with ps; [ pylast ];
+    "sensor.linky" = ps: with ps; [  ];
     "sensor.linux_battery" = ps: with ps; [ batinfo ];
+    "sensor.logi_circle" = ps: with ps; [  ];
     "sensor.london_air" = ps: with ps; [  ];
     "sensor.london_underground" = ps: with ps; [  ];
     "sensor.loopenergy" = ps: with ps; [  ];
@@ -953,6 +1009,7 @@
     "sensor.openexchangerates" = ps: with ps; [  ];
     "sensor.openhardwaremonitor" = ps: with ps; [  ];
     "sensor.opensky" = ps: with ps; [  ];
+    "sensor.opentherm_gw" = ps: with ps; [  ];
     "sensor.openuv" = ps: with ps; [  ];
     "sensor.openweathermap" = ps: with ps; [ pyowm ];
     "sensor.otp" = ps: with ps; [ pyotp ];
@@ -978,6 +1035,7 @@
     "sensor.ring" = ps: with ps; [  ];
     "sensor.ripple" = ps: with ps; [  ];
     "sensor.rmvtransport" = ps: with ps; [  ];
+    "sensor.rtorrent" = ps: with ps; [  ];
     "sensor.sabnzbd" = ps: with ps; [  ];
     "sensor.scrape" = ps: with ps; [ beautifulsoup4 ];
     "sensor.season" = ps: with ps; [ ephem ];
@@ -998,9 +1056,10 @@
     "sensor.sochain" = ps: with ps; [  ];
     "sensor.socialblade" = ps: with ps; [  ];
     "sensor.sonarr" = ps: with ps; [  ];
-    "sensor.speedtest" = ps: with ps; [  ];
+    "sensor.speedtest" = ps: with ps; [ speedtest-cli ];
     "sensor.spotcrime" = ps: with ps; [  ];
     "sensor.sql" = ps: with ps; [ sqlalchemy ];
+    "sensor.starlingbank" = ps: with ps; [  ];
     "sensor.startca" = ps: with ps; [ xmltodict ];
     "sensor.statistics" = ps: with ps; [  ];
     "sensor.steam_online" = ps: with ps; [  ];
@@ -1022,6 +1081,7 @@
     "sensor.temper" = ps: with ps; [  ];
     "sensor.template" = ps: with ps; [  ];
     "sensor.tesla" = ps: with ps; [  ];
+    "sensor.thermoworks_smoke" = ps: with ps; [  ];
     "sensor.thethingsnetwork" = ps: with ps; [  ];
     "sensor.thinkingcleaner" = ps: with ps; [  ];
     "sensor.tibber" = ps: with ps; [  ];
@@ -1031,6 +1091,7 @@
     "sensor.tradfri" = ps: with ps; [  ];
     "sensor.trafikverket_weatherstation" = ps: with ps; [  ];
     "sensor.transmission" = ps: with ps; [ transmissionrpc ];
+    "sensor.transport_nsw" = ps: with ps; [  ];
     "sensor.travisci" = ps: with ps; [  ];
     "sensor.twitch" = ps: with ps; [  ];
     "sensor.uber" = ps: with ps; [  ];
@@ -1041,10 +1102,12 @@
     "sensor.uscis" = ps: with ps; [  ];
     "sensor.usps" = ps: with ps; [  ];
     "sensor.vasttrafik" = ps: with ps; [  ];
+    "sensor.velbus" = ps: with ps; [  ];
     "sensor.vera" = ps: with ps; [  ];
     "sensor.verisure" = ps: with ps; [  ];
     "sensor.version" = ps: with ps; [  ];
     "sensor.viaggiatreno" = ps: with ps; [  ];
+    "sensor.volkszaehler" = ps: with ps; [  ];
     "sensor.volvooncall" = ps: with ps; [  ];
     "sensor.vultr" = ps: with ps; [ vultr ];
     "sensor.waqi" = ps: with ps; [  ];
@@ -1074,14 +1137,20 @@
     "shell_command" = ps: with ps; [  ];
     "shiftr" = ps: with ps; [ paho-mqtt ];
     "shopping_list" = ps: with ps; [ aiohttp-cors ];
+    "simplisafe" = ps: with ps; [  ];
+    "simplisafe.config_flow" = ps: with ps; [  ];
+    "simplisafe.const" = ps: with ps; [  ];
     "sisyphus" = ps: with ps; [  ];
     "skybell" = ps: with ps; [  ];
     "sleepiq" = ps: with ps; [  ];
     "smappee" = ps: with ps; [  ];
+    "smhi" = ps: with ps; [  ];
+    "smhi.config_flow" = ps: with ps; [  ];
+    "smhi.const" = ps: with ps; [  ];
     "snips" = ps: with ps; [ paho-mqtt ];
-    "sonos" = ps: with ps; [ soco ];
+    "sonos" = ps: with ps; [  ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
-    "spc" = ps: with ps; [ websockets ];
+    "spc" = ps: with ps; [  ];
     "spider" = ps: with ps; [  ];
     "splunk" = ps: with ps; [  ];
     "statsd" = ps: with ps; [ statsd ];
@@ -1093,6 +1162,7 @@
     "switch.amcrest" = ps: with ps; [ ha-ffmpeg ];
     "switch.android_ip_webcam" = ps: with ps; [  ];
     "switch.anel_pwrctrl" = ps: with ps; [  ];
+    "switch.aqualogic" = ps: with ps; [  ];
     "switch.arduino" = ps: with ps; [  ];
     "switch.arest" = ps: with ps; [  ];
     "switch.bbb_gpio" = ps: with ps; [  ];
@@ -1106,6 +1176,8 @@
     "switch.dlink" = ps: with ps; [  ];
     "switch.doorbird" = ps: with ps; [  ];
     "switch.edimax" = ps: with ps; [  ];
+    "switch.edp_redy" = ps: with ps; [  ];
+    "switch.elkm1" = ps: with ps; [  ];
     "switch.enocean" = ps: with ps; [  ];
     "switch.eufy" = ps: with ps; [  ];
     "switch.flux" = ps: with ps; [  ];
@@ -1146,6 +1218,7 @@
     "switch.raincloud" = ps: with ps; [  ];
     "switch.rainmachine" = ps: with ps; [  ];
     "switch.raspihats" = ps: with ps; [  ];
+    "switch.recswitch" = ps: with ps; [  ];
     "switch.rest" = ps: with ps; [  ];
     "switch.rflink" = ps: with ps; [  ];
     "switch.rfxtrx" = ps: with ps; [  ];
@@ -1157,6 +1230,8 @@
     "switch.smappee" = ps: with ps; [  ];
     "switch.snmp" = ps: with ps; [ pysnmp ];
     "switch.spider" = ps: with ps; [  ];
+    "switch.switchbot" = ps: with ps; [  ];
+    "switch.switchmate" = ps: with ps; [  ];
     "switch.tahoma" = ps: with ps; [  ];
     "switch.tellduslive" = ps: with ps; [  ];
     "switch.tellstick" = ps: with ps; [  ];
@@ -1166,8 +1241,10 @@
     "switch.thinkingcleaner" = ps: with ps; [  ];
     "switch.toon" = ps: with ps; [  ];
     "switch.tplink" = ps: with ps; [  ];
+    "switch.tradfri" = ps: with ps; [  ];
     "switch.transmission" = ps: with ps; [ transmissionrpc ];
     "switch.tuya" = ps: with ps; [  ];
+    "switch.unifi" = ps: with ps; [  ];
     "switch.upcloud" = ps: with ps; [  ];
     "switch.velbus" = ps: with ps; [  ];
     "switch.vera" = ps: with ps; [  ];
@@ -1197,9 +1274,12 @@
     "tesla" = ps: with ps; [  ];
     "thethingsnetwork" = ps: with ps; [  ];
     "thingspeak" = ps: with ps; [  ];
+    "tibber" = ps: with ps; [  ];
     "timer" = ps: with ps; [  ];
     "toon" = ps: with ps; [  ];
     "tradfri" = ps: with ps; [  ];
+    "tradfri.config_flow" = ps: with ps; [  ];
+    "tradfri.const" = ps: with ps; [  ];
     "tts" = ps: with ps; [ aiohttp-cors mutagen ];
     "tts.amazon_polly" = ps: with ps; [ boto3 ];
     "tts.baidu" = ps: with ps; [  ];
@@ -1212,9 +1292,16 @@
     "tts.yandextts" = ps: with ps; [  ];
     "tuya" = ps: with ps; [  ];
     "twilio" = ps: with ps; [ aiohttp-cors twilio ];
+    "unifi" = ps: with ps; [  ];
+    "unifi.const" = ps: with ps; [  ];
+    "unifi.controller" = ps: with ps; [  ];
+    "unifi.errors" = ps: with ps; [  ];
     "upcloud" = ps: with ps; [  ];
     "updater" = ps: with ps; [ distro ];
     "upnp" = ps: with ps; [ aiohttp-cors ];
+    "upnp.config_flow" = ps: with ps; [  ];
+    "upnp.const" = ps: with ps; [  ];
+    "upnp.device" = ps: with ps; [  ];
     "usps" = ps: with ps; [  ];
     "vacuum" = ps: with ps; [  ];
     "vacuum.demo" = ps: with ps; [  ];
@@ -1231,6 +1318,10 @@
     "volvooncall" = ps: with ps; [  ];
     "vultr" = ps: with ps; [ vultr ];
     "wake_on_lan" = ps: with ps; [ wakeonlan ];
+    "water_heater" = ps: with ps; [  ];
+    "water_heater.demo" = ps: with ps; [  ];
+    "water_heater.econet" = ps: with ps; [  ];
+    "water_heater.wink" = ps: with ps; [  ];
     "waterfurnace" = ps: with ps; [  ];
     "watson_iot" = ps: with ps; [  ];
     "weather" = ps: with ps; [  ];
@@ -1240,12 +1331,23 @@
     "weather.demo" = ps: with ps; [  ];
     "weather.ecobee" = ps: with ps; [  ];
     "weather.ipma" = ps: with ps; [  ];
+    "weather.met" = ps: with ps; [  ];
     "weather.metoffice" = ps: with ps; [  ];
     "weather.openweathermap" = ps: with ps; [ pyowm ];
+    "weather.smhi" = ps: with ps; [  ];
     "weather.yweather" = ps: with ps; [ yahooweather ];
     "weather.zamg" = ps: with ps; [  ];
+    "webhook" = ps: with ps; [ aiohttp-cors ];
     "weblink" = ps: with ps; [  ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
+    "websocket_api.auth" = ps: with ps; [  ];
+    "websocket_api.commands" = ps: with ps; [  ];
+    "websocket_api.connection" = ps: with ps; [  ];
+    "websocket_api.const" = ps: with ps; [  ];
+    "websocket_api.decorators" = ps: with ps; [  ];
+    "websocket_api.error" = ps: with ps; [  ];
+    "websocket_api.http" = ps: with ps; [  ];
+    "websocket_api.messages" = ps: with ps; [  ];
     "wemo" = ps: with ps; [  ];
     "wink" = ps: with ps; [  ];
     "wirelesstag" = ps: with ps; [  ];
@@ -1261,6 +1363,7 @@
     "zone.zone" = ps: with ps; [  ];
     "zoneminder" = ps: with ps; [  ];
     "zwave" = ps: with ps; [ pydispatcher python_openzwave ];
+    "zwave.config_flow" = ps: with ps; [  ];
     "zwave.const" = ps: with ps; [  ];
     "zwave.discovery_schemas" = ps: with ps; [  ];
     "zwave.node_entity" = ps: with ps; [  ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index ccc9bee51b99..932995513af6 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -18,12 +18,14 @@ let
 
   defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py
-    (mkOverride "aiohttp" "3.4.0"
-      "9b15efa7411dcf3b59c1f4766eb16ba1aba4531a33e54d469ee22106eabce460")
+    (mkOverride "aiohttp" "3.4.4"
+      "51afec6ffa50a9da4cdef188971a802beb1ca8e8edb40fa429e5e529db3475fa")
     (mkOverride "astral" "1.6.1"
       "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d")
-    (mkOverride "attrs" "18.1.0"
-      "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b")
+    (mkOverride "async-timeout" "3.0.1"
+      "0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f")
+    (mkOverride "attrs" "18.2.0"
+      "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69")
     (mkOverride "bcrypt" "3.1.4"
       "67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d")
     (mkOverride "pyjwt" "1.6.4"
@@ -32,10 +34,12 @@ let
       "8d10113ca826a4c29d5b85b2c4e045ffa8bad74fb525ee0eceb1d38d4c70dfd6")
     (mkOverride "cryptography_vectors" "2.3.1" # required by cryptography==2.3.1
       "bf4d9b61dce69c49e830950aa36fad194706463b0b6dfe81425b9e0bc6644d46")
-    (mkOverride "requests" "2.19.1"
-      "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a")
+    (mkOverride "requests" "2.20.0"
+      "99dcfdaaeb17caf6e526f32b6a7b780461512ab3f1d992187801694cba42770c")
     (mkOverride "voluptuous" "0.11.5"
       "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
+    (mkOverride "voluptuous-serialize" "2.0.0"
+      "44be04d87aec34bd7d31ab539341fadc505205f2299031ed9be985112c21aa41")
 
     # used by check_config script
     # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
@@ -75,7 +79,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.77.2";
+  hassVersion = "0.81.2";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -90,14 +94,14 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "0lqm8n54cs4ji9bqp1z70qswgqv8n9vl8jbip7c2f3icqx19zg10";
+    sha256 = "0qg3kh99bqhsraa8jpqqrvaxz9l1gsbh3aazg3v0d6q6ng42y2bq";
   };
 
   propagatedBuildInputs = [
     # From setup.py
-    aiohttp astral async-timeout attrs bcrypt certifi jinja2 pyjwt cryptography pip pytz pyyaml requests voluptuous
-    # From http, frontend, recorder and config.config_entries components and auth.mfa_modules.totp
-    sqlalchemy aiohttp-cors hass-frontend voluptuous-serialize pyotp pyqrcode
+    aiohttp astral async-timeout attrs bcrypt certifi jinja2 pyjwt cryptography pip pytz pyyaml requests voluptuous voluptuous-serialize
+    # From http, frontend and recorder components and auth.mfa_modules.totp
+    sqlalchemy aiohttp-cors hass-frontend pyotp pyqrcode
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
@@ -109,8 +113,8 @@ in with py.pkgs; buildPythonApplication rec {
     py.test --ignore tests/components
     # Some basic components should be tested however
     py.test \
-      tests/components/{group,http,frontend} \
-      tests/components/test_{api,configurator,demo,discovery,init,introduction,logger,script,shell_command,system_log,websocket_api}.py
+      tests/components/{group,http,frontend,config,websocket_api} \
+      tests/components/test_{api,configurator,demo,discovery,init,introduction,logger,script,shell_command,system_log}.py
   '';
 
   makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index b14d76050f90..4af2a4ec9220 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-frontend";
-  version = "20180831.0";
+  version = "20181026.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d0f897bed934bc2d557db04f8c76ad143db9514ea71943a0038c5bfb3b2151ec";
+    sha256 = "ea5e7fb769df2f096e2993c23d1aa3dc8652e0f0aa09a89863af22e095b80aa8";
   };
 
   propagatedBuildInputs = [ user-agents ];
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index d7f7660bf61f..b4b4cf49592d 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv
+{ stdenv, fetchurl, perl, zlib, apr, aprutil, pcre, libiconv, lynx
 , proxySupport ? true
 , sslSupport ? true, openssl
 , http2Support ? true, nghttp2
@@ -16,12 +16,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert http2Support -> nghttp2 != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.34";
+  version = "2.4.35";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha256 = "1w1q2smdgf6ln0x741lk5pv5r0gzrxj2iza1vslhifzy65bcjlzs";
+    sha256 = "0mlvwsm7hmpc7db6lfc2nx3v4cll3qljjxhjhgsw6aniskywc1r6";
   };
 
   # FIXME: -dev depends on -doc
@@ -38,6 +38,7 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     sed -i config.layout -e "s|installbuilddir:.*|installbuilddir: $dev/share/build|"
+    sed -i support/apachectl.in -e 's|@LYNX_PATH@|${lynx}/bin/lynx|'
   '';
 
   # Required for ‘pthread_cancel’.
diff --git a/pkgs/servers/http/apt-cacher-ng/default.nix b/pkgs/servers/http/apt-cacher-ng/default.nix
index 415b1fb48a2a..aa826a9c528b 100644
--- a/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/pkgs/servers/http/apt-cacher-ng/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   name = "apt-cacher-ng-${version}";
-  version = "3.1";
+  version = "3.2";
 
   src = fetchurl {
     url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
-    sha256 = "0p8cdig70vz1dgw2v8brjin5wqrk8amncphyf11f53bza5grlc91";
+    sha256 = "1kas5xq44rx33pczhrz05dsdhjaavxdmcs5h1ygfi76bpqvyhpa0";
   };
 
   nativeBuildInputs = [ cmake doxygen pkgconfig ];
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 473f2986ff06..29d1bf7a4563 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jetty-${version}";
-  version = "9.4.8.v20171121";
+  version = "9.4.12.v20180830";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "0bvwi70vdk468yqgvgq99lwrpy2y5znrl0b1cr8j6ygmsgnvvmjh";
+    sha256 = "1z498cxvp1llp4ii8g52rhicypay1v2b6mmdmxrj3d82az6biiq3";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/servers/http/lighttpd/default.nix b/pkgs/servers/http/lighttpd/default.nix
index 65679e4ac86e..9503fd14907c 100644
--- a/pkgs/servers/http/lighttpd/default.nix
+++ b/pkgs/servers/http/lighttpd/default.nix
@@ -13,11 +13,11 @@ assert enableWebDAV -> sqlite != null;
 assert enableWebDAV -> libuuid != null;
 
 stdenv.mkDerivation rec {
-  name = "lighttpd-1.4.50";
+  name = "lighttpd-1.4.51";
 
   src = fetchurl {
     url = "https://download.lighttpd.net/lighttpd/releases-1.4.x/${name}.tar.xz";
-    sha256 = "1sr9avcnld22a5wl5s8vgrz8r86mybggm9z8zwabqz48v0986dr9";
+    sha256 = "10lw9vvivpvf4aw7ajayb2yyq4lp4dq3gq9llszjbw6icnrgvy9a";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix
index 49f212a8fe57..f830f0acee35 100644
--- a/pkgs/servers/http/nginx/mainline.nix
+++ b/pkgs/servers/http/nginx/mainline.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }@args:
 
 callPackage ./generic.nix (args // {
-  version = "1.15.3";
-  sha256 = "11dysslkz76cdzhshc6w5qivdplk10pjpb73li0d1sz2qf8zp4ck";
+  version = "1.15.5";
+  sha256 = "0vxfbnc1794al60d9mhjw1w72x5jslfwq51vvs38568liyd8hfhs";
 })
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 0501bcc9e58b..15822a0387b9 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -131,6 +131,18 @@
     };
   };
 
+  opentracing = {
+    src =
+      let src' = fetchFromGitHub {
+        owner = "opentracing-contrib";
+        repo = "nginx-opentracing";
+        rev = "v0.7.0";
+        sha256 = "16jzxhhsyfjaxb50jy5py9ppscidfx1shvc29ihldp0zs6d8khma";
+      };
+      in "${src'}/opentracing";
+    inputs = [ pkgs.opentracing-cpp ];
+  };
+
   pagespeed =
     let
       version = pkgs.psol.version;
diff --git a/pkgs/servers/http/webhook/default.nix b/pkgs/servers/http/webhook/default.nix
new file mode 100644
index 000000000000..5d6b47d28b5d
--- /dev/null
+++ b/pkgs/servers/http/webhook/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "webhook-${version}";
+  version = "2.6.8";
+
+  goPackagePath = "github.com/adnanh/webhook";
+  excludedPackages = [ "test" ];
+
+  src = fetchFromGitHub {
+    owner = "adnanh";
+    repo = "webhook";
+    rev = version;
+    sha256 = "05q6nv04ml1gr4k79czg03i3ifl05xq29iapkgrl3k0a36czxlgs";
+  };
+
+  meta = with lib; {
+    homepage = https://github.com/adnanh/webhook;
+    license = [ licenses.mit ];
+    description = "incoming webhook server that executes shell commands";
+  };
+}
diff --git a/pkgs/servers/hydron/default.nix b/pkgs/servers/hydron/default.nix
index 03fdf7908cc4..012b66e19809 100644
--- a/pkgs/servers/hydron/default.nix
+++ b/pkgs/servers/hydron/default.nix
@@ -3,15 +3,15 @@
 
 buildGoPackage rec {
   name = "hydron-unstable-${version}";
-  version = "2018-08-18";
+  version = "2018-09-25";
   goPackagePath = "github.com/bakape/hydron";
   goDeps = ./deps.nix;
 
   src = fetchFromGitHub {
     owner = "bakape";
     repo = "hydron";
-    rev = "78257f1c1f34cdad1931531601163071f7f29aa9";
-    sha256 = "0rpvbayx48xncy70vzbxn3cs0lslza0i3hxmywlngyl17da97bf0";
+    rev = "ad88ec03e5c7a527fddebb6b54909f50ecaae00c";
+    sha256 = "074bzl38f4y4xs4vavbn7mgi4srv1fbzkcx4p17mrqipzk6ffbca";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/servers/hydron/deps.nix b/pkgs/servers/hydron/deps.nix
index c5d584f1bcd3..b2c367cf42d6 100644
--- a/pkgs/servers/hydron/deps.nix
+++ b/pkgs/servers/hydron/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/Masterminds/squirrel";
-      rev = "8a7e65843414bc07f3d85bebaa10d7cc96253c29";
-      sha256 = "0n7msdji0h7iysyqsi0iiq9i1hdgyyz9cwzxpc6qppz7cllnfpnn";
+      rev = "3b6e9e96624526bce05b577b76ca726a20bb3c83";
+      sha256 = "16jw3af3lyb5x9yn7anx0rb3mz70bivnixkvh8dzrq16wkkn760h";
     };
   }
   {
@@ -23,8 +23,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/dimfeld/httptreemux";
-      rev = "7f532489e7739b3d49df5c602bf63549881fe753";
-      sha256 = "0hkw04rsvljvx8ynqjgz9cb743x09fd2xiiycrgz5vbsa8q9iyyk";
+      rev = "a53c8f73d4b7d82c30b7e5ab6aa155b981c42fb5";
+      sha256 = "08s90ggydcwz2683bbsrc33h2b7x2q5ws104gva838b573xzrhqj";
     };
   }
   {
@@ -32,8 +32,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/gorilla/handlers";
-      rev = "7e0847f9db758cdebd26c149d0ae9d5d0b9c98ce";
-      sha256 = "0mnw81ayjm4d8462qg8spmcwxmchn24158bf93zxjab51pg8n9gm";
+      rev = "7e0369fae54b097612a946bc6709f3a3fbccb3de";
+      sha256 = "00i2is2z7101igf7sr8prmd8m59x7k7xdkhm5h4bjs37k157zm38";
     };
   }
   {
@@ -59,17 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/lib/pq";
-      rev = "90697d60dd844d5ef6ff15135d0203f65d2f53b8";
-      sha256 = "0hb4bfsk8g5473yzbf3lzrb373xicakjznkf0v085xgimz991i9r";
-    };
-  }
-  {
-    goPackagePath = "github.com/mailru/easyjson";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mailru/easyjson";
-      rev = "03f2033d19d5860aef995fe360ac7d395cd8ce65";
-      sha256 = "0r62ym6m1ijby7nwplq0gdnhak8in63njyisrwhr3xpx9vkira97";
+      rev = "4ded0e9383f75c197b3a2aaa6d590ac52df6fd79";
+      sha256 = "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i";
     };
   }
   {
@@ -77,8 +68,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-sqlite3";
-      rev = "b3511bfdd742af558b54eb6160aca9446d762a19";
-      sha256 = "1v41is0h05p4jgv8nal3l8lcdcggylsyblq0ihycnprkdzwls808";
+      rev = "e85a2792f3166972d6619b7051f01a2df254192a";
+      sha256 = "088bckqifg61xdda0f0hrcyzm3dslr3jzcsgdyk8ccjmjv2112sd";
     };
   }
   {
@@ -86,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/valyala/bytebufferpool";
-      rev = "e746df99fe4a3986f4d4f79e13c1e0117ce9c2f7";
-      sha256 = "01lqzjddq6kz9v41nkky7wbgk7f1cw036sa7ldz10d82g5klzl93";
+      rev = "cdfbe9377474227bb42120c1e22fd4433e7f69bf";
+      sha256 = "0c6cixd85dvl2gvs7sdh0k2wm8r3grl4fw0jg4w7d78cp8s2k7ag";
     };
   }
   {
@@ -95,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/valyala/quicktemplate";
-      rev = "a91e0946457b6583004fbfc159339b8171423aed";
-      sha256 = "1z89ang5pkq5qs5b2nwhzyrw0zjlsas539l9kix374fhka49n8yc";
+      rev = "dc50ff9977a68a543145ce34e0e0030bebcc89be";
+      sha256 = "1980q2c5w4jhrlhf1pimc8yrkz005x3jbsi7hk4hnx6d5iy5lmb6";
     };
   }
   {
@@ -104,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/net";
-      rev = "aaf60122140d3fcf75376d319f0554393160eb50";
-      sha256 = "03i6ij7jcf5mp9dc8ps8b63g1k843z7c823qyzn5a276gpxvxlvv";
+      rev = "f04abc6bdfa7a0171a8a0c9fd2ada9391044d056";
+      sha256 = "0mygvmprcssixj3bm2djl3xzdnyh4zqhkwhynzml5rha8mvrxknd";
     };
   }
 ]
diff --git a/pkgs/servers/hylafaxplus/config.site b/pkgs/servers/hylafaxplus/config.site
new file mode 100644
index 000000000000..7c8014449216
--- /dev/null
+++ b/pkgs/servers/hylafaxplus/config.site
@@ -0,0 +1,20 @@
+@config_maxgid@
+DIR_BIN="@out_@/bin"
+DIR_FONTMAP="@out_@/share/ghostscript/@ghostscript_version@"
+DIR_LIB="@out_@/lib"
+DIR_LIBDATA="@out_@/spool/etc"
+DIR_LIBEXEC="@out_@/spool/bin"
+DIR_LOCKS=/var/lock
+DIR_MAN="@out_@/share/man"
+DIR_SBIN="@out_@/spool/bin"
+DIR_SPOOL="@out_@/spool"
+FONTMAP="@ghostscript@/share/ghostscript/@ghostscript_version@"
+PATH_AFM="@ghostscript@/share/ghostscript/fonts"
+PATH_DPSRIP="@out_@/spool/bin/ps2fax"
+PATH_EGETTY="@coreutils@/bin/false"
+PATH_GSRIP="@ghostscript@/bin/gs"
+PATH_IMPRIP="@coreutils@/bin/false"
+PATH_SENDMAIL="@coreutils@/bin/false"
+PATH_VGETTY="@coreutils@/bin/false"
+SYSVINIT=no
+TIFFBIN="@libtiff@/bin"
diff --git a/pkgs/servers/hylafaxplus/default.nix b/pkgs/servers/hylafaxplus/default.nix
new file mode 100644
index 000000000000..dc53ee36f702
--- /dev/null
+++ b/pkgs/servers/hylafaxplus/default.nix
@@ -0,0 +1,95 @@
+{ stdenv
+, lib
+, fakeroot
+, fetchurl
+, libfaketime
+, substituteAll
+## runtime dependencies
+, coreutils
+, file
+, findutils
+, gawk
+, ghostscript
+, gnugrep
+, gnused
+, libtiff
+, psmisc
+, sharutils
+, utillinux
+, zlib
+## optional packages (using `null` disables some functionality)
+, jbigkit ? null
+, lcms2 ? null  # for colored faxes
+, openldap ? null
+, pam ? null
+## system-dependent settings that have to be hardcoded
+, maxgid ? 65534  # null -> try to auto-detect (bad on linux)
+, maxuid ? 65534  # null -> hardcoded value 60002
+}:
+
+let
+
+  name = "hylafaxplus-${version}";
+  version = "5.6.1";
+  sha256 = "100jcnkf44g659fh732a3ic2ik6l619cv0zhhp37n2kaydv876s1";
+
+  configSite = substituteAll {
+    name = "hylafaxplus-config.site";
+    src = ./config.site;
+    config_maxgid = lib.optionalString (maxgid!=null) ''CONFIG_MAXGID=${builtins.toString maxgid}'';
+    ghostscript_version = ghostscript.version;
+    out_ = "@out@";  # "out" will be resolved in post-install.sh
+    inherit coreutils ghostscript libtiff;
+  };
+
+  postPatch = substituteAll {
+    name = "hylafaxplus-post-patch.sh";
+    src = ./post-patch.sh;
+    inherit configSite;
+    maxuid = lib.optionalString (maxuid!=null) (builtins.toString maxuid);
+    faxcover_binpath = lib.makeBinPath
+      [stdenv.shellPackage coreutils];
+    faxsetup_binpath = lib.makeBinPath
+      [stdenv.shellPackage coreutils findutils gnused gnugrep gawk];
+  };
+
+  postInstall = substituteAll {
+    name = "hylafaxplus-post-install.sh";
+    src = ./post-install.sh;
+    inherit fakeroot libfaketime;
+  };
+
+in
+
+stdenv.mkDerivation {
+  inherit name version;
+  src = fetchurl {
+    url = "mirror://sourceforge/hylafax/hylafax-${version}.tar.gz";
+    inherit sha256;
+  };
+  # Note that `configure` (and maybe `faxsetup`) are looking
+  # for a couple of standard binaries in the `PATH` and
+  # hardcode their absolute paths in the new package.
+  buildInputs = [
+    file  # for `file` command
+    ghostscript
+    libtiff
+    psmisc  # for `fuser` command
+    sharutils  # for `uuencode` command
+    utillinux  # for `agetty` command
+    zlib
+    jbigkit  # optional
+    lcms2  # optional
+    openldap  # optional
+    pam  # optional
+  ];
+  postPatch = ''. ${postPatch}'';
+  dontAddPrefix = true;
+  postInstall = ''. ${postInstall}'';
+  postInstallCheck = ''. ${./post-install-check.sh}'';
+  meta.description = "enterprise-class system for sending and receiving facsimiles";
+  meta.homepage = http://hylafax.sourceforge.net;
+  meta.license = lib.licenses.bsd3;
+  meta.maintainers = [ lib.maintainers.yarny ];
+  meta.platforms = lib.platforms.linux;
+}
diff --git a/pkgs/servers/hylafaxplus/post-install-check.sh b/pkgs/servers/hylafaxplus/post-install-check.sh
new file mode 100644
index 000000000000..2850738edccc
--- /dev/null
+++ b/pkgs/servers/hylafaxplus/post-install-check.sh
@@ -0,0 +1,7 @@
+# check if the package contains all the files needed
+for x in faxq faxquit hfaxd faxcron faxqclean faxgetty
+do
+  test -x "$out/spool/bin/$x"
+done
+test -d "$out/spool/config"
+test -f "$out/spool/etc/setup.cache"
diff --git a/pkgs/servers/hylafaxplus/post-install.sh b/pkgs/servers/hylafaxplus/post-install.sh
new file mode 100644
index 000000000000..ddc7c3f85eda
--- /dev/null
+++ b/pkgs/servers/hylafaxplus/post-install.sh
@@ -0,0 +1,24 @@
+# Parts of the `install` make target don't
+# dare to set file modes (or owners), but put the
+# needed commands in a new file called `root.sh`.
+# We execute the `chmod` commands of
+# this script to set execute bits.
+sed '/chown/d;/chgrp/d' --in-place root.sh
+. root.sh
+
+# We run `faxsetup` to prepare some config files
+# that the admin would have to create otherwise.
+# Since `faxsetup` is quite picky about its environment,
+# we have to prepare some dummy files.
+# `faxsetup` stores today's date in the output files,
+# so we employ faketime to simulate a deterministic date.
+echo "uucp:x:0" >> "$TMPDIR/passwd.dummy"  # dummy uucp user
+touch "$out/spool/etc/config.dummy"  # dummy modem config
+mkdir "$TMPDIR/lock.dummy"  # dummy lock dir
+"@libfaketime@/bin/faketime" -f "$(date --utc --date=@$SOURCE_DATE_EPOCH '+%F %T')" \
+  "@fakeroot@/bin/fakeroot" -- \
+  "$out/spool/bin/faxsetup" -with-DIR_LOCKS="$TMPDIR/lock.dummy" -with-PASSWD="$TMPDIR/passwd.dummy"
+rm "$out/spool/etc/config.dummy"
+
+# Ensure all binaries are reachable within the spooling area.
+ln --symbolic --target-directory="$out/spool/bin/" "$out/bin/"*
diff --git a/pkgs/servers/hylafaxplus/post-patch.sh b/pkgs/servers/hylafaxplus/post-patch.sh
new file mode 100644
index 000000000000..6ec5937147e2
--- /dev/null
+++ b/pkgs/servers/hylafaxplus/post-patch.sh
@@ -0,0 +1,25 @@
+# `configure` (maybe others) set `POSIXLY_CORRECT`, which
+# breaks the gcc wrapper script of nixpkgs (maybe others).
+# We simply un-export `POSIXLY_CORRECT` after each export so
+# its effects don't apply within nixpkgs wrapper scripts.
+grep -rlF POSIXLY_CORRECT | xargs \
+  sed '/export *POSIXLY_CORRECT/a export -n POSIXLY_CORRECT' -i
+
+# Replace strange default value for the nobody account.
+if test -n "@maxuid@"
+then
+  for f in util/faxadduser.c hfaxd/manifest.h
+  do
+    substituteInPlace "$f" --replace 60002 "@maxuid@"
+  done
+fi
+
+# Replace hardcoded `PATH` variables with proper paths.
+# Note: `findutils` is needed for `faxcron`.
+substituteInPlace faxcover/edit-faxcover.sh.in \
+  --replace 'PATH=/bin' 'PATH="@faxcover_binpath@"'
+substituteInPlace etc/faxsetup.sh.in \
+  --replace 'PATH=/bin' 'PATH="@faxsetup_binpath@"'
+
+# Create `config.site`
+substitute "@configSite@" config.site --subst-var out
diff --git a/pkgs/servers/identd/nullidentdmod/default.nix b/pkgs/servers/identd/nullidentdmod/default.nix
new file mode 100644
index 000000000000..fdad63d67af4
--- /dev/null
+++ b/pkgs/servers/identd/nullidentdmod/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
+  name = "nullidentdmod-${version}";
+  version = "1.3";
+
+  src = fetchFromGitHub {
+    owner = "Acidhub";
+    repo = "nullidentdmod";
+    rev = "v${version}";
+    sha256 = "1ahwm5pyidc6m07rh5ls2lc25kafrj233nnbcybprgl7bqdq1b0k";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+
+    install -Dm755 nullidentdmod $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple identd that just replies with a random string or customized userid";
+    license = licenses.gpl2;
+    homepage = http://acidhub.click/NullidentdMod;
+    maintainers = with maintainers; [ das_j ];
+    platforms = platforms.linux; # Must be run by systemd
+  };
+}
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 774f8df94a7d..100bc4709bf1 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jackett-${version}";
-  version = "0.9.41";
+  version = "0.10.365";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "0ndzn1p876rkj56g6vscgkmyzi1k0gmqby4rmrb4ilxzjpskii8m";
+    sha256 = "1wq4by10wxhcz72fappb7isw0850laf2yk5bgpx8nrjxigmv4ik0";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/kippo/default.nix b/pkgs/servers/kippo/default.nix
index a9f5ba6f7b2c..3ebcaf7286b4 100644
--- a/pkgs/servers/kippo/default.nix
+++ b/pkgs/servers/kippo/default.nix
@@ -95,5 +95,6 @@ in stdenv.mkDerivation rec {
       license = licenses.bsd3;
       platforms = platforms.linux;
       maintainers = with maintainers; [ tomberek ];
+      broken = true; # 2018-09-12, failed on hydra since 2017-12-11
     };
 }
diff --git a/pkgs/servers/lidarr/default.nix b/pkgs/servers/lidarr/default.nix
new file mode 100644
index 000000000000..9bffb27665dd
--- /dev/null
+++ b/pkgs/servers/lidarr/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, mono, libmediainfo, sqlite, curl, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "lidarr-${version}";
+  version = "0.4.0.524";
+
+  src = fetchurl {
+    url = "https://github.com/lidarr/Lidarr/releases/download/v${version}/Lidarr.develop.${version}.linux.tar.gz";
+    sha256 = "121898v8n9sr9wwys65c28flpmk941wk6df11bb47pfjcalrr3bj";
+  };
+
+  buildInputs = [
+    makeWrapper
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r * $out/bin/
+
+    # Mark all executable files as non-executable
+    find $out/bin -type f -executable | xargs chmod -x
+
+    makeWrapper "${mono}/bin/mono" $out/bin/Lidarr \
+      --add-flags "$out/bin/Lidarr.exe" \
+      --prefix LD_LIBRARY_PATH : ${stdenv.lib.makeLibraryPath [
+          curl sqlite libmediainfo ]}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Usenet/BitTorrent music downloader";
+    homepage = https://lidarr.audio/;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.etu ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix
index acd08f658e66..3e628f876dd7 100644
--- a/pkgs/servers/mail/dovecot/default.nix
+++ b/pkgs/servers/mail/dovecot/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, perl, pkgconfig, systemd, openssl
 , bzip2, zlib, lz4, inotify-tools, pam, libcap
-, clucene_core_2, icu, openldap, libsodium, libstemmer
+, clucene_core_2, icu, openldap, libsodium, libstemmer, cyrus_sasl
 # Auth modules
 , withMySQL ? false, mysql
 , withPgSQL ? false, postgresql
@@ -8,11 +8,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "dovecot-2.3.2.1";
+  name = "dovecot-2.3.3";
 
   nativeBuildInputs = [ perl pkgconfig ];
   buildInputs =
-    [ openssl bzip2 zlib lz4 clucene_core_2 icu openldap libsodium libstemmer ]
+    [ openssl bzip2 zlib lz4 clucene_core_2 icu openldap libsodium libstemmer cyrus_sasl.dev ]
     ++ lib.optionals (stdenv.isLinux) [ systemd pam libcap inotify-tools ]
     ++ lib.optional withMySQL mysql.connector-c
     ++ lib.optional withPgSQL postgresql
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dovecot.org/releases/2.3/${name}.tar.gz";
-    sha256 = "0d2ffbicgl3wswbnyjbw6qigz7r1aqzprpchbwp5cynw122i2raa";
+    sha256 = "13kd0rxdg9scwnx6n24p6mv8p6dyh7v8s7sqv55gp2i54pp2gbqm";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
index 1b744181096c..a0b03193729a 100644
--- a/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
+++ b/pkgs/servers/mail/dovecot/plugins/pigeonhole/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dovecot-pigeonhole-${version}";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchurl {
     url = "https://pigeonhole.dovecot.org/releases/2.3/dovecot-2.3-pigeonhole-${version}.tar.gz";
-    sha256 = "0d95q2yj2f750jwg599jlizlglldcz9hs52y4mhrflwfqlaqw3lm";
+    sha256 = "08i6vw6k2v906s4sc6wl9ffpz6blzdga6vglqpqjm7jzq10jfbz0";
   };
 
   buildInputs = [ dovecot openssl ];
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 3acf777999f7..07623a80f243 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -2,6 +2,7 @@
 , enableLDAP ? false, openldap
 , enableMySQL ? false, mysql, zlib
 , enableAuthDovecot ? false, dovecot
+, enablePAM ? false, pam
 }:
 
 stdenv.mkDerivation rec {
@@ -16,7 +17,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ coreutils db openssl perl pcre ]
     ++ stdenv.lib.optional enableLDAP openldap
     ++ stdenv.lib.optionals enableMySQL [ mysql zlib ]
-    ++ stdenv.lib.optional enableAuthDovecot dovecot;
+    ++ stdenv.lib.optional enableAuthDovecot dovecot
+    ++ stdenv.lib.optional enablePAM pam;
 
   preBuild = ''
     ${stdenv.lib.optionalString enableMySQL "PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${mysql}/share/mysql/pkgconfig/"}
@@ -25,6 +27,7 @@ stdenv.mkDerivation rec {
       s:^\(CONFIGURE_FILE\)=.*:\1=/etc/exim.conf:
       s:^\(EXIM_USER\)=.*:\1=ref\:nobody:
       s:^\(SPOOL_DIRECTORY\)=.*:\1=/exim-homeless-shelter:
+      s:^# \(TRANSPORT_LMTP\)=.*:\1=yes:
       s:^# \(SUPPORT_MAILDIR\)=.*:\1=yes:
       s:^EXIM_MONITOR=.*$:# &:
       s:^\(FIXED_NEVER_USERS\)=root$:\1=0:
@@ -57,6 +60,11 @@ stdenv.mkDerivation rec {
       ${stdenv.lib.optionalString enableAuthDovecot ''
         s:^# \(AUTH_DOVECOT\)=.*:\1=yes:
       ''}
+      ${stdenv.lib.optionalString enablePAM ''
+        s:^# \(SUPPORT_PAM\)=.*:\1=yes:
+        s:^\(EXTRALIBS_EXIM\)=\(.*\):\1=\2 -lpam:
+        s:^# \(EXTRALIBS_EXIM\)=.*:\1=-lpam:
+      ''}
       #/^\s*#.*/d
       #/^\s*$/d
     ' < src/EDITME > Local/Makefile
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index a38c0b277dae..87e0d219c9c6 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "mailman-${version}";
-  version = "2.1.24";
+  version = "2.1.29";
 
   src = fetchurl {
     url = "mirror://gnu/mailman/${name}.tgz";
-    sha256 = "1r6sjapjmbav45xibjzc2a8y1xf4ikz09470ma1kw7iz174wn8z7";
+    sha256 = "0b0dpwf6ap260791c7lg2vpw30llf19hymbf2hja3s016rqp5243";
   };
 
   buildInputs = [ python2 python2.pkgs.dnspython ];
diff --git a/pkgs/servers/mail/nullmailer/default.nix b/pkgs/servers/mail/nullmailer/default.nix
index ab632372b464..4b753bdf0cdb 100644
--- a/pkgs/servers/mail/nullmailer/default.nix
+++ b/pkgs/servers/mail/nullmailer/default.nix
@@ -4,12 +4,12 @@ assert tls -> gnutls != null;
 
 stdenv.mkDerivation rec {
 
-  version = "2.1";
+  version = "2.2";
   name = "nullmailer-${version}";
 
   src = fetchurl {
     url = "https://untroubled.org/nullmailer/nullmailer-${version}.tar.gz";
-    sha256 = "0gykh0qc86rk0knfvp8ndqkryal3pvqdfdya94wvb6n1cc8p3ild";
+    sha256 = "0md8cf90fl2yf3zh9njjy42a673v4j4ygyq95xg7fzkygdigm1lq";
   };
 
   buildInputs = stdenv.lib.optional tls gnutls;
diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix
index 60c517230b4f..d55804504442 100644
--- a/pkgs/servers/mail/opensmtpd/default.nix
+++ b/pkgs/servers/mail/opensmtpd/default.nix
@@ -1,43 +1,33 @@
 { stdenv, lib, fetchurl, fetchpatch, autoconf, automake, libtool, bison
-, libasr, libevent, zlib, openssl, db, pam
-
-# opensmtpd requires root for no reason to encrypt passwords, this patch fixes it
-# see also https://github.com/OpenSMTPD/OpenSMTPD/issues/678
-, unpriviledged_smtpctl_encrypt ? true
-
-# Deprecated: use the subaddressing-delimiter in the config file going forward
-, tag_char ? null
+, libasr, libevent, zlib, libressl, db, pam
 }:
 
-if (tag_char != null)
-then throw "opensmtpd: the tag_char argument is deprecated as it can now be specified at runtime via the 'subaddressing-delimiter' option of the configuration file"
-else stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "opensmtpd-${version}";
-  version = "6.0.3p1";
+  version = "6.4.0p1";
 
   nativeBuildInputs = [ autoconf automake libtool bison ];
-  buildInputs = [ libasr libevent zlib openssl db pam ];
+  buildInputs = [ libasr libevent zlib libressl db pam ];
 
   src = fetchurl {
     url = "https://www.opensmtpd.org/archives/${name}.tar.gz";
-    sha256 = "291881862888655565e8bbe3cfb743310f5dc0edb6fd28a889a9a547ad767a81";
+    sha256 = "1qxxhnlsmpfh9v4azgl0634955r085gsic1c66jdll21bd5w2mq8";
   };
 
   patches = [
     ./proc_path.diff
-    (fetchpatch {
-      url = "https://github.com/OpenSMTPD/OpenSMTPD/commit/725ba4fa2ddf23bbcd1ff9ec92e86bbfaa6825c8.diff";
-      sha256 = "19rla0b2r53jpdiz25fcza29c2msz6j6paivxhp9jcy1xl457dqa";
-    })
+    ./fix-build.diff # See https://github.com/OpenSMTPD/OpenSMTPD/pull/884
   ];
 
-  postPatch = with builtins; with lib;
-    optionalString unpriviledged_smtpctl_encrypt ''
-      substituteInPlace smtpd/smtpctl.c --replace \
-        'if (geteuid())' \
-        'if (geteuid() != 0 && !(argc > 1 && !strcmp(argv[1], "encrypt")))'
-      substituteInPlace mk/smtpctl/Makefile.in --replace "chmod 2555" "chmod 0555"
-    '';
+  # See https://github.com/OpenSMTPD/OpenSMTPD/issues/885 for the `sh bootstrap`
+  # requirement
+  postPatch = ''
+    substituteInPlace smtpd/parse.y \
+      --replace "/usr/libexec/" "$out/libexec/opensmtpd/"
+    substituteInPlace mk/smtpctl/Makefile.am --replace "chgrp" "true"
+    substituteInPlace mk/smtpctl/Makefile.am --replace "chmod 2555" "chmod 0555"
+    sh bootstrap
+  '';
 
   configureFlags = [
     "--sysconfdir=/etc"
@@ -54,6 +44,9 @@ else stdenv.mkDerivation rec {
     "--with-table-db"
   ];
 
+  # See https://github.com/OpenSMTPD/OpenSMTPD/pull/884
+  makeFlags = [ "CFLAGS=-ffunction-sections" "LDFLAGS=-Wl,--gc-sections" ];
+
   installFlags = [
     "sysconfdir=\${out}/etc"
     "localstatedir=\${TMPDIR}"
@@ -67,6 +60,6 @@ else stdenv.mkDerivation rec {
     '';
     license = licenses.isc;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ rickynils obadz ];
+    maintainers = with maintainers; [ rickynils obadz ekleog ];
   };
 }
diff --git a/pkgs/servers/mail/opensmtpd/fix-build.diff b/pkgs/servers/mail/opensmtpd/fix-build.diff
new file mode 100644
index 000000000000..1f995fd4f623
--- /dev/null
+++ b/pkgs/servers/mail/opensmtpd/fix-build.diff
@@ -0,0 +1,12 @@
+diff --git a/mk/smtpctl/Makefile.am b/mk/smtpctl/Makefile.am
+index 5af0b713..f0fce735 100644
+--- a/mk/smtpctl/Makefile.am
++++ b/mk/smtpctl/Makefile.am
+@@ -4,6 +4,7 @@ sbin_PROGRAMS=          smtpctl
+ 
+ smtpctl_SOURCES=	$(smtpd_srcdir)/enqueue.c
+ smtpctl_SOURCES+=	$(smtpd_srcdir)/parser.c
++smtpctl_SOURCES+=	$(smtpd_srcdir)/config.c
+ smtpctl_SOURCES+=	$(smtpd_srcdir)/log.c
+ smtpctl_SOURCES+=	$(smtpd_srcdir)/envelope.c
+ smtpctl_SOURCES+=	$(smtpd_srcdir)/queue_backend.c
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 41dfebab7907..796d5696ebfa 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -1,9 +1,9 @@
 { stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, libnsl
 , coreutils, findutils, gnugrep, gawk, icu, pcre
+, withLDAP ? true, openldap
 , withPgSQL ? false, postgresql
 , withMySQL ? false, mysql
 , withSQLite ? false, sqlite
-, withLDAP ? false, openldap
 }:
 
 let
@@ -13,7 +13,7 @@ let
    ] ++ lib.optional withPgSQL "-DHAS_PGSQL"
      ++ lib.optionals withMySQL [ "-DHAS_MYSQL" "-I${mysql.connector-c}/include/mysql" "-L${mysql.connector-c}/lib/mysql" ]
      ++ lib.optional withSQLite "-DHAS_SQLITE"
-     ++ lib.optional withLDAP "-DHAS_LDAP");
+     ++ lib.optionals withLDAP ["-DHAS_LDAP" "-DUSE_LDAP_SASL"]);
    auxlibs = lib.concatStringsSep " " ([
      "-ldb" "-lnsl" "-lresolv" "-lsasl2" "-lcrypto" "-lssl"
    ] ++ lib.optional withPgSQL "-lpq"
diff --git a/pkgs/servers/mail/postfix/pflogsumm.nix b/pkgs/servers/mail/postfix/pflogsumm.nix
index 3d48e9527819..821999380606 100644
--- a/pkgs/servers/mail/postfix/pflogsumm.nix
+++ b/pkgs/servers/mail/postfix/pflogsumm.nix
@@ -1,7 +1,6 @@
-{ stdenv, fetchurl, buildPerlPackage, perlPackages
-}:
+{ stdenv, fetchurl, perlPackages }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "pflogsumm-${version}";
   version = "1.1.3";
 
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 4de63d694667..b9dd07adde98 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -6,13 +6,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "rspamd-${version}";
-  version = "1.7.3";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "vstakhov";
     repo = "rspamd";
     rev = version;
-    sha256 = "1gb4zg8i1nj337f65s434h299ad19c0d7jyawb2glvv3n4cshm97";
+    sha256 = "1cgnychv8yz7a6mjg3b12nzs4gl0xqg9agl7m6faihnh7gqx4xld";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index acbc50fd42bf..d32957210132 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, buildPerlPackage, perl, perlPackages, HTMLParser, NetDNS, NetAddrIP, DBFile
+{ stdenv, fetchurl, perl, perlPackages, HTMLParser, NetDNS, NetAddrIP, DBFile
 , HTTPDate, MailDKIM, LWP, IOSocketSSL, makeWrapper, gnupg1
 }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "SpamAssassin-3.4.1";
 
   src = fetchurl {
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index 74cd233710cd..dab58d2edd6b 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -26,13 +26,13 @@ let
   };
 in python2Packages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.33.3";
+  version = "0.33.6";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "0yxxrs8yrrkp3pffdfab8apdmyhdcl90wgmglryy4q8vsksxn7d4";
+    sha256 = "0c1dr09f1msv6xvpmdlncx7yyj6qxnpihd93lqckd115fds12g5h";
   };
 
   patches = [
@@ -45,7 +45,7 @@ in python2Packages.buildPythonApplication rec {
     signedjson systemd twisted ujson unpaddedbase64 pyyaml prometheus_client
     matrix-angular-sdk bleach netaddr jinja2 psycopg2
     psutil msgpack-python lxml matrix-synapse-ldap3
-    phonenumbers jsonschema affinity bcrypt sortedcontainers
+    phonenumbers jsonschema affinity bcrypt sortedcontainers treq
   ];
 
   # Checks fail because of Tox.
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index 0654da927769..2969f723b50a 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, buildGoPackage, buildEnv }:
 
 let
-  version = "5.1.0";
+  version = "5.4.0";
 
   mattermost-server = buildGoPackage rec {
     name = "mattermost-server-${version}";
@@ -10,7 +10,7 @@ let
       owner = "mattermost";
       repo = "mattermost-server";
       rev = "v${version}";
-      sha256 = "069ihmfr6np991mbgg001y0kyafghn57nsv3kpyyvfmhv07p0qbc";
+      sha256 = "0sal5ydm1cwnvf3acmiy0400ghhd6v0wj64mkxqwqf8ysnbxizwq";
     };
 
     goPackagePath = "github.com/mattermost/mattermost-server";
@@ -27,7 +27,7 @@ let
 
     src = fetchurl {
       url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-      sha256 = "1bm5nqnhk2w3sy8mvm81k7d65j6bgpvakgphgwqgnlm864i4253z";
+      sha256 = "06dg0f6nrh3a2v3lnyn2s39nj5jpsvfkx3ypq4zjpks0srv4mgfz";
     };
 
     installPhase = ''
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 9790df9ce765..dc66c710a5d4 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.10";
+  version = "1.5.11";
   name = "memcached-${version}";
 
   src = fetchurl {
     url = "https://memcached.org/files/${name}.tar.gz";
-    sha256 = "0jqw3z0408yx0lzc6ykn4d29n02dk31kqnmq9b3ldmcnpl6hck29";
+    sha256 = "0ajql8qs3w1lpw41vxkq2xabkxmmdk2nwg3i4lkclraq8pw92yk9";
   };
 
   buildInputs = [cyrus_sasl libevent];
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 5387a93b5e62..0f2f291318c7 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "metabase-${version}";
-  version = "0.30.0";
+  version = "0.30.4";
 
   src = fetchurl {
     url = "http://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "1wnzd2g1qxqpqjsqq1kfr0zrvjvqg54dvznbhf3637b0iqq3ahkh";
+    sha256 = "0mvyl5v798qwdydqsjjq94ihfwi62kq4gprxjg3rcckmjdyx2ycs";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/miniflux/default.nix b/pkgs/servers/miniflux/default.nix
new file mode 100644
index 000000000000..80fb5575e4d4
--- /dev/null
+++ b/pkgs/servers/miniflux/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildGoPackage
+, fetchFromGitHub
+}:
+
+buildGoPackage rec {
+  name = "miniflux-${version}";
+  version = "2.0.12";
+
+  goPackagePath = "miniflux.app";
+
+  src = fetchFromGitHub {
+    owner = "miniflux";
+    repo = "miniflux";
+    rev = "refs/tags/${version}";
+    sha256 = "13d1dwcwig7b5phymgxqm227k5l3zzzvx997cywarbl953ji2y1d";
+  };
+    
+  goDeps = ./deps.nix;
+
+  doCheck = true;
+
+  buildFlagsArray = ''
+    -ldflags=-X ${goPackagePath}/version.Version=${version}
+  '';
+
+  postInstall = ''
+    mv $bin/bin/miniflux.app $bin/bin/miniflux
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Miniflux is a minimalist and opinionated feed reader.";
+    homepage = https://miniflux.app/;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ benpye ];
+  };
+}
+
diff --git a/pkgs/servers/miniflux/deps.nix b/pkgs/servers/miniflux/deps.nix
new file mode 100644
index 000000000000..4ef30bec3b8d
--- /dev/null
+++ b/pkgs/servers/miniflux/deps.nix
@@ -0,0 +1,153 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+
+  {
+    goPackagePath = "github.com/PuerkitoBio/goquery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/PuerkitoBio/goquery";
+      rev = "v1.4.1";
+      sha256 = "11010z9ask21r0dskvm2pbh3z8951bnpcqg8aqa213if4h34gaa2";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/andybalholm/cascadia";
+    fetch = {
+      type = "git";
+      url = "https://github.com/andybalholm/cascadia";
+      rev = "v1.0.0";
+      sha256 = "09j8cavbhqqdxjqrkwbc40g8p0i49zf3184rpjm5p2rjbprcghcc";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev = "v1.1.0";
+      sha256 = "0ya4ha7m20bw048m1159ppqzlvda4x0vdprlbk5sdgmy74h3xcdq";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/gorilla/context";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/context";
+      rev = "v1.1.1";
+      sha256 = "03p4hn87vcmfih0p9w663qbx9lpsf7i7j3lc7yl7n84la3yz63m4";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/gorilla/mux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/mux";
+      rev = "v1.6.2";
+      sha256 = "0pvzm23hklxysspnz52mih6h1q74vfrdhjfm1l3sa9r8hhqmmld2";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/lib/pq";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lib/pq";
+      rev = "v1.0.0";
+      sha256 = "1zqnnyczaf00xi6xh53vq758v5bdlf0iz7kf22l02cal4i6px47i";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/tdewolff/minify";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tdewolff/minify";
+      rev = "v2.3.5";
+      sha256 = "0x67kgjhc6mfzjhr4xmw0j3qapzhkgwwahvv5b44rb449ml2qx5m";
+    };
+  }
+
+  {
+    goPackagePath = "github.com/tdewolff/parse";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tdewolff/parse";
+      rev = "v2.3.3";
+      sha256 = "190y2jykp8qyp6y58ky1v1fvmaqjnrsr1ksbqrrspf1gpjy69i94";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "614d502a4dac";
+      sha256 = "1rcyvsl8b8pk7h8lwl0fpiflrx8zs121wi5490ln0qnvkk8d4bwy";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "8a410e7b638d";
+      sha256 = "0hp0l8f6fir5gmgrjq0mhh5ikc0rlrm72774228800kfwqjrxxny";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/oauth2";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/oauth2";
+      rev = "d2e6202438be";
+      sha256 = "0wbn75fd10485nb93bm4kqldqifdim5xqy4v7r5sdvimvf3fyhn7";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "1d60e4601c6f";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "4910a1d54f87";
+      sha256 = "0p2pp6mny34gjcvylx3ddzdaxn7hv008hppsr11w1bvyzj7s27by";
+    };
+  }
+
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+
+  {
+    goPackagePath = "google.golang.org/appengine";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/appengine";
+      rev = "v1.1.0";
+      sha256 = "1pz202zszg8f35dk5pfhwgcdi3r6dx1l4yk6x6ly7nb4j45zi96x";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/cadvisor/default.nix b/pkgs/servers/monitoring/cadvisor/default.nix
index bab3faa79695..dd56bc89c0d0 100644
--- a/pkgs/servers/monitoring/cadvisor/default.nix
+++ b/pkgs/servers/monitoring/cadvisor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "cadvisor-${version}";
-  version = "0.30.2";
+  version = "0.31.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "cadvisor";
     rev = "v${version}";
-    sha256 = "143jsm0pbfhsa2iwkg5zanl9qxbpmsdvay5djyac4rvgl53m0wy9";
+    sha256 = "0dnn2vgjbbb82kvbmgrfq0hqwfk0jh5gc3xrcfqwvvq673yf4f2m";
   };
 
   nativeBuildInputs = [ go ];
diff --git a/pkgs/servers/monitoring/fusion-inventory/default.nix b/pkgs/servers/monitoring/fusion-inventory/default.nix
index d9e8ccf1454f..33725cb62839 100644
--- a/pkgs/servers/monitoring/fusion-inventory/default.nix
+++ b/pkgs/servers/monitoring/fusion-inventory/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, fetchurl, buildPerlPackage, perlPackages, nix, dmidecode, pciutils, usbutils, iproute, nettools
+{ stdenv, lib, fetchurl, perlPackages, nix, dmidecode, pciutils, usbutils, iproute, nettools
 , fetchFromGitHub, makeWrapper
 }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "FusionInventory-Agent-${version}";
   version = "2.3.21";
 
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index fb7418551ae6..70112732d273 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "5.2.3";
+  version = "5.3.2";
   name = "grafana-${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -9,12 +9,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "08ws8kpqxl0rihw8xa93285gal6f6c3imymdi9iif13vsn458hiw";
+    sha256 = "1p2vapyaf11d7zri73vnq1rsgwb018pqbjzdkdgppcm5xfrrjh8y";
   };
 
   srcStatic = fetchurl {
     url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "098xrzq7wkizww9552bk8cn300336y51qfzf1fkfwrn1fqf9nswl";
+    sha256 = "067rj2lrdwxda1clcg89m1cnl9sfrl2l9ia5fx2bcxq3yzhchazh";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 2fec42edff33..72d5f124c63d 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
   ];
 
   # needs to find a local perl module during build
-  PERL_USE_UNSAFE_INC = stdenv.lib.optionalString (stdenv.lib.versionAtLeast (stdenv.lib.getVersion perl) "5.26") "1";
+  PERL_USE_UNSAFE_INC = "1";
 
   # TODO: tests are failing http://munin-monitoring.org/ticket/1390#comment:1
   # NOTE: important, test command always exits with 0, think of a way to abort the build once tests pass
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index deac45eadb62..b8649715eb37 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "check_ssl_cert-${version}";
-  version = "1.64.0";
+  version = "1.73.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "v${version}";
-    sha256 = "0pq297sbz9hzcaccnnsfmra0bac81cki9xfrnb22a1hgfhqjxy5r";
+    sha256 = "0ymaypsv1s5pmk8fg9d67khcjy5h7vjbg6hd1fgslp92qcw90dqa";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/net-snmp/CVE-2018-18065.patch b/pkgs/servers/monitoring/net-snmp/CVE-2018-18065.patch
new file mode 100644
index 000000000000..c33f7bb03fa8
--- /dev/null
+++ b/pkgs/servers/monitoring/net-snmp/CVE-2018-18065.patch
@@ -0,0 +1,30 @@
+commit 7ffb8e25a0db851953155de91f0170e9bf8c457d
+Author: Robert Story <rstory@freesnmp.com>
+Date:   Thu Oct 6 10:43:10 2016 -0400
+
+    CHANGES: BUG: 2743: snmpd crashes when receiving a GetNext PDU with multiple Varbinds
+    
+    skip out-of-range varbinds when calling next handler
+
+diff --git a/agent/helpers/table.c b/agent/helpers/table.c
+index 32a08033a..2666638b5 100644
+--- a/agent/helpers/table.c
++++ b/agent/helpers/table.c
+@@ -340,6 +340,8 @@ table_helper_handler(netsnmp_mib_handler *handler,
+             else if (reqinfo->mode == MODE_GET)
+                 table_helper_cleanup(reqinfo, request,
+                                      SNMP_NOSUCHOBJECT);
++            else
++                request->processed = 1; /* skip if next handler called */
+             continue;
+         }
+ 
+@@ -409,6 +411,8 @@ table_helper_handler(netsnmp_mib_handler *handler,
+                 else if (reqinfo->mode == MODE_GET)
+                     table_helper_cleanup(reqinfo, request,
+                                          SNMP_NOSUCHOBJECT);
++                else
++                    request->processed = 1; /* skip if next handler called */
+                 continue;
+             }
+             /*
diff --git a/pkgs/servers/monitoring/net-snmp/default.nix b/pkgs/servers/monitoring/net-snmp/default.nix
index a6b738270a9a..0e7a53306eb4 100644
--- a/pkgs/servers/monitoring/net-snmp/default.nix
+++ b/pkgs/servers/monitoring/net-snmp/default.nix
@@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
     (fetchAlpinePatch "fix-includes.patch" "0zpkbb6k366qpq4dax5wknwprhwnhighcp402mlm7950d39zfa3m")
     (fetchAlpinePatch "netsnmp-swinst-crash.patch" "0gh164wy6zfiwiszh58fsvr25k0ns14r3099664qykgpmickkqid")
     (fetchAlpinePatch "remove-U64-typedef.patch" "1msxyhcqkvhqa03dwb50288g7f6nbrcd9cs036m9xc8jdgjb8k8j")
+    ./CVE-2018-18065.patch
   ];
 
   preConfigure =
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix
index 38b789261773..516a537bb247 100644
--- a/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "alertmanager-${version}";
-  version = "0.15.1";
+  version = "0.15.2";
   rev = "v${version}";
 
   goPackagePath = "github.com/prometheus/alertmanager";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    sha256 = "110l8xy3bkgq137hvvz2v5cr464j02fy43lvgd3l8n5v8qmv81vy";
+    sha256 = "1r4j22jnxayicz9hn0pwm77cgzzywr5haq0hwz6sx5j2xwjmnwm7";
   };
 
   # Tests exist, but seem to clash with the firewall.
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 37d82326cc29..2430a8cf1711 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -50,7 +50,7 @@ in rec {
   };
 
   prometheus_2 = generic {
-    version = "2.2.1";
-    sha256 = "1zwxjmj8jh02i4y3i3zrkz7ml66zyhg3ad1npjzf3319mglsp7ch";
+    version = "2.4.3";
+    sha256 = "1kci2zhh4ixil0b72d138vm8006y117mw51wsyz8j0gyy4180msj";
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix b/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
index c2dea18ee815..d94aad821485 100644
--- a/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
+++ b/pkgs/servers/monitoring/prometheus/dovecot-exporter-deps.nix
@@ -23,8 +23,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/beorn7/perks";
-      rev = "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
-      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+      rev = "3a771d992973f24aa725d07868b467d1ddfceafb";
+      sha256 = "1l2lns4f5jabp61201sh88zf3b0q793w4zdgp9nll7mmfcxxjif3";
+    };
+  }
+  {
+    goPackagePath = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev = "4aa4cc277ae58d2fab6cfe51dd17df5dceaf457d";
+      sha256 = "009z6rpivyakgsxs0zkm94c9i7l65hcw2ljvah94wq3y6v6j47gs";
     };
   }
   {
@@ -32,8 +41,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/golang/protobuf";
-      rev = "bbd03ef6da3a115852eaf24c8a1c46aeb39aa175";
-      sha256 = "1pyli3dcagi7jzpiazph4fhkz7a3z4bhd25nwbb7g0iy69b8z1g4";
+      rev = "0f2620f554cf5c8e281a2eb655a035f5a0f6dc90";
+      sha256 = "0lxngq1a8cnsy6dlr6gi8pjv3fir2wiw76qh075pa9g02h7ywhv3";
     };
   }
   {
@@ -50,8 +59,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_golang";
-      rev = "c3324c1198cf3374996e9d3098edd46a6b55afc9";
-      sha256 = "19qcz5bpzj5kqyhmbq5kxr8nrqqlszazzq6w0wldis1yk1wwww00";
+      rev = "b5bfa0eb2c8d46bd91dc58271e973c5f0bbebcfa";
+      sha256 = "1msxzkdgi0ing4ddmp0s4qrf267n6ylafw9mbz5yrr7spb1dgxgk";
     };
   }
   {
@@ -59,8 +68,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/client_model";
-      rev = "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
-      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+      rev = "5c3871d89910bfb32f5fcab2aa4b9ec68e65a99f";
+      sha256 = "04psf81l9fjcwascsys428v03fx4fi894h7fhrj2vvcz723q57k0";
     };
   }
   {
@@ -68,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/common";
-      rev = "e4aa40a9169a88835b849a6efb71e05dc04b88f0";
-      sha256 = "0m1n616d694jca0qjwjn5ci7scfgm2jpi94dhi356arm9lhda4jc";
+      rev = "c7de2306084e37d54b8be01f3541a8464345e9a5";
+      sha256 = "11dqfm2d0m4sjjgyrnayman96g59x2apmvvqby9qmww2qj2k83ig";
     };
   }
   {
@@ -77,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/prometheus/procfs";
-      rev = "54d17b57dd7d4a3aa092476596b3f8a933bde349";
-      sha256 = "1b5218hi6k9i637k6xc7ynpll577zbnrhjm9jr2iczy3j0rr4rvr";
+      rev = "05ee40e3a273f7245e8777337fc7b46e533a9a92";
+      sha256 = "0f6fnczxa42b9rys2h3l0m8fy3x5hrhaq707vq0lbx5fcylw8lis";
     };
   }
   {
diff --git a/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
index 86f43116f746..5a3fd23ec22e 100644
--- a/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/dovecot-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "dovecot_exporter-${version}";
-  version = "0.1.1";
+  version = "0.1.3";
 
   goPackagePath = "github.com/kumina/dovecot_exporter";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "kumina";
     repo = "dovecot_exporter";
     rev = version;
-    sha256 = "0i7nfgkb5jqdbgr16i29jdsvh69dx9qgn6nazpw78k0lgy7mpidn";
+    sha256 = "1lnxnnm45fhcyv40arcvpiiibwdnxdwhkf8sbjpifx1wspvphcj9";
   };
 
   goDeps = ./dovecot-exporter-deps.nix;
diff --git a/pkgs/servers/monitoring/prometheus/json-exporter.nix b/pkgs/servers/monitoring/prometheus/json-exporter.nix
index ffba472bdc33..aeb7b7445a5d 100644
--- a/pkgs/servers/monitoring/prometheus/json-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/json-exporter.nix
@@ -1,25 +1,30 @@
 # This file was generated by go2nix.
-{ buildGoPackage, fetchFromGitHub, lib }:
+{ buildGoPackage, fetchFromGitHub, fetchpatch, lib }:
 
 buildGoPackage rec {
   name = "prometheus-json-exporter-${version}";
-  version = "unstable-2016-09-13";
-  rev = "d45e5ebdb08cb734ad7a8683966032af1d91a76c";
+  version = "unstable-2017-10-06";
 
   goPackagePath = "github.com/kawamuray/prometheus-json-exporter";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "kawamuray";
     repo = "prometheus-json-exporter";
-    sha256 = "0v3as7gakdqpsir97byknsrqxxxkq66hp23j4cscs45hsdb24pi9";
+    rev = "51e3dc02a30ab818bb73e5c98c3853231c2dbb5f";
+    sha256 = "1v1p4zcqnb3d3rm55r695ydn61h6gz95f55cpa22hzw18dasahdh";
   };
 
   goDeps = ./json-exporter_deps.nix;
 
-  meta = {
+  patches = [(fetchpatch { # adds bool support
+    url = "https://patch-diff.githubusercontent.com/raw/kawamuray/prometheus-json-exporter/pull/17.patch";
+    sha256 = "0mc5axhd2bykci41dgswl4r1552d70jsmb17lbih7czhsy6rgmrm";
+  })];
+
+  meta = with lib; {
     description = "A prometheus exporter which scrapes remote JSON by JSONPath";
     homepage = https://github.com/kawamuray/prometheus-json-exporter;
-    license = lib.licenses.asl20;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ willibutz ];
   };
 }
diff --git a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
index 29454dd44d2b..be8fbd3d85cb 100644
--- a/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/snmp-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "snmp_exporter-${version}";
-  version = "0.11.0";
+  version = "0.13.0";
 
   goPackagePath = "github.com/prometheus/snmp_exporter";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "prometheus";
     repo = "snmp_exporter";
     rev = "v${version}";
-    sha256 = "027p96jzhq9l7m3s5qxxg3rqp14pai7q66d3ppin19lg7al11c9x";
+    sha256 = "071v9qqhp2hcbgml94dm1l212qi18by88r9755npq9ycrsmawkll";
   };
 
   buildInputs = [ net_snmp ];
diff --git a/pkgs/servers/monitoring/prometheus/tor-exporter.nix b/pkgs/servers/monitoring/prometheus/tor-exporter.nix
new file mode 100644
index 000000000000..88f469ebe179
--- /dev/null
+++ b/pkgs/servers/monitoring/prometheus/tor-exporter.nix
@@ -0,0 +1,37 @@
+{ lib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  name = "tor-exporter-${version}";
+  version = "0.3";
+
+  # Just a single .py file to use as the application's main entry point.
+  format = "other";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "atx";
+    repo = "prometheus-tor_exporter";
+    sha256 = "0d7pk8s8ya2pm8b4ijbfdniqcbd3vqy15dlhnmaf4wgb51pmm5yv";
+  };
+
+  propagatedBuildInputs = with python3Packages; [ prometheus_client stem retrying ];
+
+  installPhase = ''
+    mkdir -p $out/share/
+    cp prometheus-tor-exporter.py $out/share/
+  '';
+
+  fixupPhase = ''
+    makeWrapper "${python3Packages.python.interpreter}" "$out/bin/prometheus-tor-exporter" \
+          --set PYTHONPATH "$PYTHONPATH" \
+          --add-flags "$out/share/prometheus-tor-exporter.py"
+  '';
+
+  meta = with lib; {
+    description = "Prometheus exporter that exposes metrics from a Tor daemon";
+    homepage = https://github.com/atx/prometheus-tor_exporter;
+    license = licenses.mit;
+    maintainers = with maintainers; [ delroth ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 031ba423cc40..99380fbae9cb 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -19,7 +19,7 @@ buildGoPackage rec {
     -X main.version=${version}
   '' ];
 
-  goDeps = ./. + builtins.toPath "/deps-${version}.nix";
+  goDeps = ./. + "/deps-${version}.nix";
 
   meta = with lib; {
     description = "The plugin-driven server agent for collecting & reporting metrics.";
diff --git a/pkgs/servers/monitoring/uchiwa/bower-packages.nix b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
index f18ea3875516..a8180c5de3dc 100644
--- a/pkgs/servers/monitoring/uchiwa/bower-packages.nix
+++ b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
@@ -1,7 +1,7 @@
 # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
 { fetchbower, buildEnv }:
 buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "uchiwa-web" "1.2.0" "1.2.0" "0733ha6bahzg9qlvhz75agi8hwwqdk99hfx9j8dhpdf1v5xkj2fz")
+  (fetchbower "uchiwa-web" "1.3.1" "1.3.1" "0vhfwm4z3d4v4p2vfq1vvk4fifxm43f8lyccwpgmw153z4gj14gk")
   (fetchbower "angular" "1.6.10" "~1.6.3" "0ag8xddsgxx5yka4wjq4ala4y6z3x2g1vc3x7a1n291fzz26p7ws")
   (fetchbower "angular-bootstrap" "2.2.0" "~2.2.0" "11r2nlwp6xrim2y6lnrr8v064mx3bmlxchqpg1i803v9zxz3q53d")
   (fetchbower "angular-cookies" "1.6.10" "~1.6.3" "0bjgmz5jnw06dfxhq9sajj62fk0b3v4j9p7nb45x8bl8rzkf25pn")
@@ -19,7 +19,7 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
   (fetchbower "highlightjs" "9.1.0" "~9.1.0" "0ld1da3h416a5j8v3v50rrpm4xwvvq8k8y2vwncvaqm9cqddz4s3")
   (fetchbower "moment" "2.16.0" "~2.16.0" "1mji892i60f2aw3vhl6878acrcgh0ycn3r4af0ivnjf8az2b9n71")
   (fetchbower "moment-picker" "0.9.11" "~0.9.7" "0p2g6rp2kcixydrga9lfihg4bxb598rvpi8n8l59mp549diy7vsb")
-  (fetchbower "ua-parser-js" "0.7.17" "~0.7.12" "1dx46rm9han9fj409rjxrlnrk9zxmaqbnn62ljnh32ihngd4yxh0")
+  (fetchbower "ua-parser-js" "0.7.18" "~0.7.12" "0qi7y5yrsdh2brpmwx0xs53bzr4pja5x1k2875x6zh259ag3zdkn")
   (fetchbower "jsoneditor" "5.5.11" "~5.5.10" "1gfsf8jqnd3hb3r9s9246mg40iqxk2ix8k4bjnrsbfmg6cd3xw6x")
   (fetchbower "jquery" "3.3.1" ">= 1.9.0" "1l891s3vgnpi1g8ksplid9jvrvnnv6lci8vraix4ssy50i264rkx")
 ]; }
diff --git a/pkgs/servers/monitoring/uchiwa/src.nix b/pkgs/servers/monitoring/uchiwa/src.nix
index 0cf6815fbe5d..51c343d01da8 100644
--- a/pkgs/servers/monitoring/uchiwa/src.nix
+++ b/pkgs/servers/monitoring/uchiwa/src.nix
@@ -1,4 +1,4 @@
 {
-    version = "1.2.0-1";
-    sha256  = "1gj9cr0gkiivxdlq7ha6gxq9s8s26j79crijkrlrsqpg59jz063p";
+    version = "1.3.1-1";
+    sha256  = "1cjb7k19iy79hh9gbjx67yrz44y92s516d0h403bf6w272g23yzi";
 }
diff --git a/pkgs/servers/mpd/clientlib.nix b/pkgs/servers/mpd/clientlib.nix
index 478d43722679..d8aed78e28ae 100644
--- a/pkgs/servers/mpd/clientlib.nix
+++ b/pkgs/servers/mpd/clientlib.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, meson, ninja, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
-  version = "2.14";
+  version = "2.16";
   name = "libmpdclient-${version}";
 
   src = fetchFromGitHub {
     owner  = "MusicPlayerDaemon";
     repo   = "libmpdclient";
     rev    = "v${version}";
-    sha256 = "15vn9m4qcsccff5rg7jkzy5503skz6bmqqk6qc2smgvjgwn533sm";
+    sha256 = "0kd76pcf8pvmzl4k3cbq68c16imwaak2zljsa1wwwgk6idyw6gb1";
   };
 
   nativeBuildInputs = [ meson ninja ]
diff --git a/pkgs/servers/mqtt/mosquitto/default.nix b/pkgs/servers/mqtt/mosquitto/default.nix
index bce69370d2bd..231124a42efb 100644
--- a/pkgs/servers/mqtt/mosquitto/default.nix
+++ b/pkgs/servers/mqtt/mosquitto/default.nix
@@ -1,36 +1,51 @@
-{ stdenv, fetchurl, openssl, libuuid, cmake, libwebsockets, c-ares, libuv }:
+{ stdenv, fetchFromGitHub, fetchpatch, cmake, docbook_xsl, libxslt
+, openssl, libuuid, libwebsockets, c-ares, libuv }:
 
 stdenv.mkDerivation rec {
-  pname = "mosquitto";
-  version = "1.4.15";
+  name = "mosquitto-${version}";
+  version = "1.5.3";
 
-  name = "${pname}-${version}";
-
-  src = fetchurl {
-    url = "http://mosquitto.org/files/source/mosquitto-${version}.tar.gz";
-    sha256 = "10wsm1n4y61nz45zwk4zjhvrfd86r2cq33370m5wjkivb8j3wfvx";
+  src = fetchFromGitHub {
+    owner  = "eclipse";
+    repo   = "mosquitto";
+    rev    = "v${version}";
+    sha256 = "0bknmnvssix7c1cps6mzjjnw9zxdlyfsy6ksqx4zfglcw41p8gnz";
   };
 
-  buildInputs = [ openssl libuuid libwebsockets c-ares libuv ]
-    ++ stdenv.lib.optional stdenv.isDarwin cmake;
-
-  makeFlags = stdenv.lib.optionals stdenv.isLinux [
-    "DESTDIR=$(out)"
-    "PREFIX="
+  patches = [
+    # https://github.com/eclipse/mosquitto/issues/983
+    (fetchpatch {
+      url    = "https://github.com/eclipse/mosquitto/commit/7f1419e4de981f5cc38aa3a9684369b1de27ba46.patch";
+      sha256 = "05npr0h79mbaxzjyhdw78hi9gs1cwydf2fv67bqxm81jzj2yhx2s";
+      name   = "fix_threading_on_cmake.patch";
+    })
   ];
 
   postPatch = ''
-    substituteInPlace config.mk \
-      --replace "/usr/local" ""
-    substituteInPlace config.mk \
-      --replace "WITH_WEBSOCKETS:=no" "WITH_WEBSOCKETS:=yes"
+    substituteInPlace man/manpage.xsl \
+      --replace /usr/share/xml/docbook/stylesheet/ ${docbook_xsl}/share/xml/
+
+    # the manpages are not generated when using cmake
+    pushd man
+    make
+    popd
   '';
 
-  meta = {
-    homepage = http://mosquitto.org/;
+  buildInputs = [ openssl libuuid libwebsockets c-ares libuv ];
+
+  nativeBuildInputs = [ cmake docbook_xsl libxslt ];
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = [
+    "-DWITH_THREADING=ON"
+  ];
+
+  meta = with stdenv.lib; {
     description = "An open source MQTT v3.1/3.1.1 broker";
-    platforms = stdenv.lib.platforms.unix;
-    # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
-    license = stdenv.lib.licenses.epl10;
+    homepage = http://mosquitto.org/;
+    license = licenses.epl10;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/nats-streaming-server/default.nix b/pkgs/servers/nats-streaming-server/default.nix
new file mode 100644
index 000000000000..8270fa398214
--- /dev/null
+++ b/pkgs/servers/nats-streaming-server/default.nix
@@ -0,0 +1,26 @@
+{  buildGoPackage, fetchFromGitHub, lib  }:
+
+with lib;
+
+buildGoPackage rec {
+  name = "nats-streaming-server-${version}";
+  version = "0.11.0";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/nats-io/nats-streaming-server";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "nats-io";
+    repo = "nats-streaming-server";
+	sha256 = "0skkx3f7dpbf6nqpsbsk8ssn8hl55s9k76a5y5ksyqar5bdxvds5";
+  };
+
+  meta = {
+    description = "NATS Streaming System Server";
+    license = licenses.asl20;
+    maintainers = [ maintainers.swdunlop ];
+    homepage = https://nats.io/;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index 3245666d8ec3..3f6fed1e0a03 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name= "nextcloud-${version}";
-  version = "13.0.5";
+  name = "nextcloud-${version}";
+  version = "14.0.3";
 
   src = fetchurl {
     url = "https://download.nextcloud.com/server/releases/${name}.tar.bz2";
-    sha256 = "1sl0kvn52m6p7rglwhgfb737y1897897hc5g2fcbg6i594ld6451";
+    sha256 = "1vykmvkqds1mjz9hl0xapi70s5s66xd8ysw0sczgavir7092gl6p";
   };
 
+  patches = [ (fetchpatch {
+    name = "Mailer-discover-sendmail-path-instead-of-hardcoding-.patch";
+    url = https://github.com/nextcloud/server/pull/11404.patch;
+    sha256 = "1h0cqnfwn735vqrm3yh9nh6a7h6srr9h29p13vywd6rqbcndqjjd";
+  }) ];
+
   installPhase = ''
     mkdir -p $out/
     cp -R . $out/
@@ -17,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Sharing solution for files, calendars, contacts and more";
     homepage = https://nextcloud.com;
-    maintainers = with stdenv.lib.maintainers; [ schneefux bachp ];
+    maintainers = with stdenv.lib.maintainers; [ schneefux bachp globin fpletz ];
     license = stdenv.lib.licenses.agpl3Plus;
     platforms = with stdenv.lib.platforms; unix;
   };
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
index 9281bdd0af75..1f4876c11183 100644
--- a/pkgs/servers/nosql/arangodb/default.nix
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -3,14 +3,14 @@
 
 let
 in stdenv.mkDerivation rec {
-  version = "3.3.14";
+  version = "3.3.16";
   name    = "arangodb-${version}";
 
   src = fetchFromGitHub {
     repo = "arangodb";
     owner = "arangodb";
     rev = "v${version}";
-    sha256 = "00l0mvnyv8y0p13pyxx3hzsnwna9qfq7yjdpisvayipbl7zpvadc";
+    sha256 = "0pw930ri5a0f1s6mhsbjc58lsmpy535f5wv2vcp8mzdx1rk3l091";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index 0c549e2b7e9e..a47553b975e3 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "influxdb-${version}";
-  version = "1.4.1";
+  version = "1.6.3";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = "influxdb";
     rev = "v${version}";
-    sha256 = "048ap70hdfkxhy0y8q1jsb0lql1i99jnf3cqaqar6qs2ynzsw9hd";
+    sha256 = "0xf16liapllk8qnw0vsy1ja4if1xlazwwaa4p0r5j7bny5lxm7zy";
   };
 
   buildFlagsArray = [ ''-ldflags=
@@ -19,8 +19,8 @@ buildGoPackage rec {
 
   excludedPackages = "test";
 
-  # Generated with the nix2go
-  goDeps = ./. + builtins.toPath "/deps-${version}.nix";
+  # Generated with dep2nix (for 1.6.3) / nix2go (for 1.4.1).
+  goDeps = ./. + "/deps-${version}.nix";
 
   meta = with lib; {
     description = "An open-source distributed time series database";
diff --git a/pkgs/servers/nosql/influxdb/deps-1.6.3.nix b/pkgs/servers/nosql/influxdb/deps-1.6.3.nix
new file mode 100644
index 000000000000..a2f4dfaeb8d6
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/deps-1.6.3.nix
@@ -0,0 +1,444 @@
+# file generated from Gopkg.lock using dep2nix (https://github.com/nixcloud/dep2nix)
+[
+  {
+    goPackagePath  = "collectd.org";
+    fetch = {
+      type = "git";
+      url = "https://github.com/collectd/go-collectd";
+      rev =  "2ce144541b8903101fb8f1483cc0497a68798122";
+      sha256 = "0rr9rnc777jk27a7yxhdb7vgkj493158a8k6q44x51s30dkp78x3";
+    };
+  }
+  {
+    goPackagePath  = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev =  "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
+      sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
+    };
+  }
+  {
+    goPackagePath  = "github.com/RoaringBitmap/roaring";
+    fetch = {
+      type = "git";
+      url = "https://github.com/RoaringBitmap/roaring";
+      rev =  "d6540aab65a17321470b1661bfc52da1823871e9";
+      sha256 = "1lsrz7j55blalpp95vgz214b35sjf8nfmrw3fxybdl4xipk2ssdj";
+    };
+  }
+  {
+    goPackagePath  = "github.com/beorn7/perks";
+    fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
+      rev =  "4c0e84591b9aa9e6dcfdf3e020114cd81f89d5f9";
+      sha256 = "1hrybsql68xw57brzj805xx2mghydpdiysv3gbhr7f5wlxj2514y";
+    };
+  }
+  {
+    goPackagePath  = "github.com/bmizerany/pat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bmizerany/pat";
+      rev =  "6226ea591a40176dd3ff9cd8eff81ed6ca721a00";
+      sha256 = "0qjkm7169y6pybwh0s02fjjk251isa2b367xqfzrwvl6cy4yzfxp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/boltdb/bolt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/boltdb/bolt";
+      rev =  "2f1ce7a837dcb8da3ec595b1dac9d0632f0f99e8";
+      sha256 = "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r";
+    };
+  }
+  {
+    goPackagePath  = "github.com/cespare/xxhash";
+    fetch = {
+      type = "git";
+      url = "https://github.com/cespare/xxhash";
+      rev =  "5c37fe3735342a2e0d01c87a907579987c8936cc";
+      sha256 = "02aii7z46sasagw816zz3v0gzax1z5d1hkjslz7ng25386p0gzk1";
+    };
+  }
+  {
+    goPackagePath  = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev =  "346938d642f2ec3594ed81d874461961cd0faa76";
+      sha256 = "0d4jfmak5p6lb7n2r6yvf5p1zcw0l8j74kn55ghvr7zr7b7axm6c";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgrijalva/jwt-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgrijalva/jwt-go";
+      rev =  "06ea1031745cb8b3dab3f6a236daf2b0aa468b7e";
+      sha256 = "08m27vlms74pfy5z79w67f9lk9zkx6a9jd68k3c4msxy75ry36mp";
+    };
+  }
+  {
+    goPackagePath  = "github.com/dgryski/go-bitstream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dgryski/go-bitstream";
+      rev =  "9f22ccc24718d9643ac427c8c897ae1a01575783";
+      sha256 = "0x3hbsrn7qafhhjz6lgyc1pd1p5kgkrkbccvsr6yygkl785h5lhn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/glycerine/go-unsnap-stream";
+    fetch = {
+      type = "git";
+      url = "https://github.com/glycerine/go-unsnap-stream";
+      rev =  "62a9a9eb44fd8932157b1a8ace2149eff5971af6";
+      sha256 = "1ray7p4q3vv5zn9w5xs7m9kjh68b2ck98nh25mxhfiwl9jxkabrc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/gogo/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gogo/protobuf";
+      rev =  "1adfc126b41513cc696b209667c8656ea7aac67c";
+      sha256 = "1j7azzlnihcvnd1apw5zr0bz30h7n0gyimqqkgc76vzb1n5dpi7m";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/protobuf";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
+      rev =  "925541529c1fa6821df4e44ce2723319eb2be768";
+      sha256 = "1d3zjvhl115l23xakj0014qpjchivlg098h10v5nfirkk1i9f9sa";
+    };
+  }
+  {
+    goPackagePath  = "github.com/golang/snappy";
+    fetch = {
+      type = "git";
+      url = "https://github.com/golang/snappy";
+      rev =  "d9eb7a3d35ec988b8585d4a0068e462c27d28380";
+      sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/google/go-cmp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/google/go-cmp";
+      rev =  "3af367b6b30c263d47e8895973edcca9a49cf029";
+      sha256 = "1fbv0x27k9sn8svafc0hjwsnckk864lv4yi7bvzrxvmd3d5hskds";
+    };
+  }
+  {
+    goPackagePath  = "github.com/influxdata/influxql";
+    fetch = {
+      type = "git";
+      url = "https://github.com/influxdata/influxql";
+      rev =  "a7267bff5327e316e54c54342b0bc9598753e3d5";
+      sha256 = "0mqc9xki5l9yfbb0dqjb417cmv3pca1bj71m90dkshladr2wlcg3";
+    };
+  }
+  {
+    goPackagePath  = "github.com/influxdata/usage-client";
+    fetch = {
+      type = "git";
+      url = "https://github.com/influxdata/usage-client";
+      rev =  "6d3895376368aa52a3a81d2a16e90f0f52371967";
+      sha256 = "0a5adnid42f9vpckgcpkj7v60fh147j7zlg1rhxcpq5vkw698ifl";
+    };
+  }
+  {
+    goPackagePath  = "github.com/influxdata/yamux";
+    fetch = {
+      type = "git";
+      url = "https://github.com/influxdata/yamux";
+      rev =  "1f58ded512de5feabbe30b60c7d33a7a896c5f16";
+      sha256 = "08y1lgcyyaa8zrg24ck64b5dfassgb2pp1fb9x5lw9q16fb170bx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/influxdata/yarpc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/influxdata/yarpc";
+      rev =  "f0da2db138cad2fb425541938fc28dd5a5bc6918";
+      sha256 = "1g71flc8s8xas7vmaiwv0425paii1akc7jsdqsgxkhyfxx2gvib0";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jsternberg/zap-logfmt";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jsternberg/zap-logfmt";
+      rev =  "ac4bd917e18a4548ce6e0e765b29a4e7f397b0b6";
+      sha256 = "0pqp2nsqvsq8kqc7l14340lrvl03715s12bag63kdbi25s8fcdkx";
+    };
+  }
+  {
+    goPackagePath  = "github.com/jwilder/encoding";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jwilder/encoding";
+      rev =  "b4e1701a28efcc637d9afcca7d38e495fe909a09";
+      sha256 = "195js5njz86k096p3ggglgpc7rw3801mpqzdfwfr3miflhnp7nwg";
+    };
+  }
+  {
+    goPackagePath  = "github.com/klauspost/compress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/compress";
+      rev =  "6c8db69c4b49dd4df1fff66996cf556176d0b9bf";
+      sha256 = "00h2lpqcyc3pg2xk3q4a9cgyv0vkn15bx0hb725j5zbkr9vah23x";
+    };
+  }
+  {
+    goPackagePath  = "github.com/klauspost/cpuid";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/cpuid";
+      rev =  "ae7887de9fa5d2db4eaa8174a7eff2c1ac00f2da";
+      sha256 = "178apw89g8nsd7w6mbdylxn956h3iig6rbw3bkivp6lplhb5dvq4";
+    };
+  }
+  {
+    goPackagePath  = "github.com/klauspost/crc32";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/crc32";
+      rev =  "cb6bfca970f6908083f26f39a79009d608efd5cd";
+      sha256 = "0q4yr4isgmph1yf1vq527lpmid7vqv56q7vxh3gkp5679fb90q6n";
+    };
+  }
+  {
+    goPackagePath  = "github.com/klauspost/pgzip";
+    fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/pgzip";
+      rev =  "0bf5dcad4ada2814c3c00f996a982270bb81a506";
+      sha256 = "0dgp2iljvhibzxia1g3lsfg4bjmfh4kf0bfrmfi7sd49hwhrvk7s";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev =  "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c";
+      sha256 = "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w";
+    };
+  }
+  {
+    goPackagePath  = "github.com/matttproud/golang_protobuf_extensions";
+    fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
+      rev =  "3247c84500bff8d9fb6d579d800f20b3e091582c";
+      sha256 = "12hcych25wf725zxdkpnyx4wa0gyxl8v4m8xmhdmmaki9bbmqd0d";
+    };
+  }
+  {
+    goPackagePath  = "github.com/mschoch/smat";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mschoch/smat";
+      rev =  "90eadee771aeab36e8bf796039b8c261bebebe4f";
+      sha256 = "141saq6d4z3c7v3jw45zy4gn6wwjlyralqygjff1fzvz1gkvimk3";
+    };
+  }
+  {
+    goPackagePath  = "github.com/opentracing/opentracing-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/opentracing/opentracing-go";
+      rev =  "328fceb7548c744337cd010914152b74eaf4c4ab";
+      sha256 = "1w6s42n9glqwif6awyiapr7sh1wjvkxan41qhc1yi555byyw200k";
+    };
+  }
+  {
+    goPackagePath  = "github.com/paulbellamy/ratecounter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/paulbellamy/ratecounter";
+      rev =  "524851a93235ac051e3540563ed7909357fe24ab";
+      sha256 = "0z4c61ac6v8mpnr9z37d91h1cf8v9psja5jfdxmsf69r1b7qr4f9";
+    };
+  }
+  {
+    goPackagePath  = "github.com/peterh/liner";
+    fetch = {
+      type = "git";
+      url = "https://github.com/peterh/liner";
+      rev =  "6106ee4fe3e8435f18cd10e34557e5e50f0e792a";
+      sha256 = "178s1amw5r60lywgmh24pd2ljim0b05fdfsm4c8px22fkycmn1qr";
+    };
+  }
+  {
+    goPackagePath  = "github.com/philhofer/fwd";
+    fetch = {
+      type = "git";
+      url = "https://github.com/philhofer/fwd";
+      rev =  "bb6d471dc95d4fe11e432687f8b70ff496cf3136";
+      sha256 = "1pg84khadh79v42y8sjsdgfb54vw2kzv7hpapxkifgj0yvcp30g2";
+    };
+  }
+  {
+    goPackagePath  = "github.com/prometheus/client_golang";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
+      rev =  "661e31bf844dfca9aeba15f27ea8aa0d485ad212";
+      sha256 = "0r9sr3m57ks7rc5bbghl0gy9wxlznzmz331xdp42zlgk6g774xcn";
+    };
+  }
+  {
+    goPackagePath  = "github.com/prometheus/client_model";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
+      rev =  "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c";
+      sha256 = "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998";
+    };
+  }
+  {
+    goPackagePath  = "github.com/prometheus/common";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
+      rev =  "e4aa40a9169a88835b849a6efb71e05dc04b88f0";
+      sha256 = "0m1n616d694jca0qjwjn5ci7scfgm2jpi94dhi356arm9lhda4jc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/prometheus/procfs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
+      rev =  "54d17b57dd7d4a3aa092476596b3f8a933bde349";
+      sha256 = "1b5218hi6k9i637k6xc7ynpll577zbnrhjm9jr2iczy3j0rr4rvr";
+    };
+  }
+  {
+    goPackagePath  = "github.com/retailnext/hllpp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/retailnext/hllpp";
+      rev =  "101a6d2f8b52abfc409ac188958e7e7be0116331";
+      sha256 = "1dyyjyrscd3d22jhh2pbn67c6nzva0v069215sjjmj313k1xzmj3";
+    };
+  }
+  {
+    goPackagePath  = "github.com/tinylib/msgp";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tinylib/msgp";
+      rev =  "b2b6a672cf1e5b90748f79b8b81fc8c5cf0571a1";
+      sha256 = "0pypfknghg1hcjjrqz3f1riaylk6hcxn9h0qyzynb74rp0qmlxjc";
+    };
+  }
+  {
+    goPackagePath  = "github.com/willf/bitset";
+    fetch = {
+      type = "git";
+      url = "https://github.com/willf/bitset";
+      rev =  "d860f346b89450988a379d7d705e83c58d1ea227";
+      sha256 = "18419ip5mnblnyx2rjixad90dhjb1x2kaiidr7zk9b3qci799rh0";
+    };
+  }
+  {
+    goPackagePath  = "github.com/xlab/treeprint";
+    fetch = {
+      type = "git";
+      url = "https://github.com/xlab/treeprint";
+      rev =  "f3a15cfd24bf976c724324cb6846a8b54b88b639";
+      sha256 = "0fgbdyk2mfj5vh8902sga33w5gw7q0f1if4nqx631ca33fd6pfbn";
+    };
+  }
+  {
+    goPackagePath  = "go.uber.org/atomic";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/atomic";
+      rev =  "8474b86a5a6f79c443ce4b2992817ff32cf208b8";
+      sha256 = "166shnjw8rvjvksymi2gqw1ygsbxlq15xb10j2dx5rwy4y4asq8x";
+    };
+  }
+  {
+    goPackagePath  = "go.uber.org/multierr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/multierr";
+      rev =  "3c4937480c32f4c13a875a1829af76c98ca3d40a";
+      sha256 = "1slfc6syvw8cvr6rbrjsy6ja5w8gsx0f8aq8qm16rp2x5c2pj07w";
+    };
+  }
+  {
+    goPackagePath  = "go.uber.org/zap";
+    fetch = {
+      type = "git";
+      url = "https://github.com/uber-go/zap";
+      rev =  "35aad584952c3e7020db7b839f6b102de6271f89";
+      sha256 = "0n79ir7jcr7s51j85swji7an0jgy1w5dxg1g68j722rmpbvsagwv";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev =  "c3a3ad6d03f7a915c0f7e194b7152974bb73d287";
+      sha256 = "0x18275g5xlaw55bpx8hdna66d2hpbcw6hs0pxf1kmvfds6gzn6n";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev =  "92b859f39abd2d91a854c9f9c4621b2f5054a92d";
+      sha256 = "1nzbay48k53pxa1sh102v571k6pa57540p0bzcil4qgan47yxba6";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev =  "1d60e4601c6fd243af51cc01ddf169918a5407ca";
+      sha256 = "046jlanz2lkxq1r57x9bl6s4cvfqaic6p2xybsj8mq1120jv4rs6";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev =  "d8e400bc7db4870d786864138af681469693d18c";
+      sha256 = "08d23f9gjarp63dw0wj54nlqh3x2lqnchzkw8n5d7ik3wy7qy4yf";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev =  "f21a4dfb5e38f5895301dc265a8def02365cc3d0";
+      sha256 = "0r6x6zjzhr8ksqlpiwm5gdd7s209kwk5p4lw54xjvz10cs3qlq19";
+    };
+  }
+  {
+    goPackagePath  = "golang.org/x/time";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/time";
+      rev =  "26559e0f760e39c24d730d3224364aef164ee23f";
+      sha256 = "00fx6m59cjbi7y0ri4a57q1zs6r310xbg5yqns5kfm2cax0dkmnf";
+    };
+  }
+]
\ No newline at end of file
diff --git a/pkgs/servers/nosql/neo4j/default.nix b/pkgs/servers/nosql/neo4j/default.nix
index c1fe1a84d15f..0f20128678ce 100644
--- a/pkgs/servers/nosql/neo4j/default.nix
+++ b/pkgs/servers/nosql/neo4j/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "neo4j-${version}";
-  version = "3.4.5";
+  version = "3.4.9";
 
   src = fetchurl {
     url = "https://neo4j.com/artifact.php?name=neo4j-community-${version}-unix.tar.gz";
-    sha256 = "1fzzj227r5xjls6j5mkjam8pnhbyiqv1799n8k812pk4fqvq4lxg";
+    sha256 = "0kg0dr42qi8cwg3i1hcgczd4psh97s54q5zd8z2wn1fqf4m2h597";
   };
 
   buildInputs = [ makeWrapper jre8 which gawk ];
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index ab2ff85939f6..afa0c6c0f938 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, lua }:
 
 stdenv.mkDerivation rec {
-  version = "4.0.11";
+  version = "5.0.0";
   name = "redis-${version}";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${name}.tar.gz";
-    sha256 = "1fqvxlpaxr80iykyvpf1fia8rxh4zz8paf5nnjncsssqwwxfflzw";
+    sha256 = "194rvj3wzdil2rny93vq9g9vlqnb7gv4vnwaklybgcj00qnqpjbh";
   };
 
   buildInputs = [ lua ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = https://redis.io;
     description = "An open source, advanced key-value store";
-    license = stdenv.lib.licenses.bsd3;
+    license = licenses.bsd3;
     platforms = platforms.unix;
     maintainers = [ maintainers.berdario ];
   };
diff --git a/pkgs/servers/openafs/1.6/module.nix b/pkgs/servers/openafs/1.6/module.nix
index 7ad9199b7ace..c133161cf576 100644
--- a/pkgs/servers/openafs/1.6/module.nix
+++ b/pkgs/servers/openafs/1.6/module.nix
@@ -8,7 +8,7 @@ let
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
 in stdenv.mkDerivation rec {
-  name = "openafs-${version}-${kernel.version}";
+  name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
   nativeBuildInputs = [ autoconf automake flex perl bison which ] ++ kernel.moduleBuildDependencies;
@@ -51,8 +51,8 @@ in stdenv.mkDerivation rec {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = [ maintainers.z77z maintainers.spacefrogg ];
-    broken = versionOlder kernel.version "3.18" ||
-             versionAtLeast kernel.version "4.18";
+    broken = versionOlder kernel.version "3.18"
+             || stdenv.targetPlatform.isAarch64;
   };
 
 }
diff --git a/pkgs/servers/openafs/1.6/srcs.nix b/pkgs/servers/openafs/1.6/srcs.nix
index 9e9ff623e5cd..17048b68024e 100644
--- a/pkgs/servers/openafs/1.6/srcs.nix
+++ b/pkgs/servers/openafs/1.6/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.6.22.2";
+  version = "1.6.23";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "15j17igignsfzv5jb47ryczsrz3zsmiqwnj38dx9gzz95807rkyf";
+    sha256 = "1gy7a0jhagxif8av540xb1aa6cl7id08nsgjbgady54bnmb0viga";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "1lpydca95nx5pmqvplb9n3akmxbzvhhypswh0s589ywxpv3zynxm";
+      sha256 = "18my71s9mddy0k835852ksjzkza7xs73kyxavmdqflh5vkywb6y0";
     })];
 }
diff --git a/pkgs/servers/openafs/1.8/cross-build.patch b/pkgs/servers/openafs/1.8/cross-build.patch
new file mode 100644
index 000000000000..2b4fd58b23a4
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/cross-build.patch
@@ -0,0 +1,223 @@
+diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new/configure.ac
+--- openafs-1.8.2/configure.ac	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/configure.ac	2018-10-16 15:56:36.512277860 +0200
+@@ -23,6 +23,7 @@
+ 
+ AC_PROG_CC
+ AC_PROG_LIBTOOL
++AX_PROG_CC_FOR_BUILD
+ 
+ AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
+ AC_SUBST([PATH_CPP])
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4 openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4
+--- openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4	1970-01-01 01:00:00.000000000 +0100
++++ openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4	2018-10-16 16:20:40.278641658 +0200
+@@ -0,0 +1,125 @@
++# ===========================================================================
++#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_PROG_CC_FOR_BUILD
++#
++# DESCRIPTION
++#
++#   This macro searches for a C compiler that generates native executables,
++#   that is a C compiler that surely is not a cross-compiler. This can be
++#   useful if you have to generate source code at compile-time like for
++#   example GCC does.
++#
++#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
++#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
++#   The value of these variables can be overridden by the user by specifying
++#   a compiler with an environment variable (like you do for standard CC).
++#
++#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
++#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
++#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
++#   substituted in the Makefile.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 9
++
++AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
++AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_PROG_CPP])dnl
++AC_REQUIRE([AC_EXEEXT])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++dnl Use the standard macros, but make them use other variable names
++dnl
++pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
++pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
++pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
++pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
++pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
++pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
++pushdef([ac_cv_objext], ac_cv_build_objext)dnl
++pushdef([ac_exeext], ac_build_exeext)dnl
++pushdef([ac_objext], ac_build_objext)dnl
++pushdef([CC], CC_FOR_BUILD)dnl
++pushdef([CPP], CPP_FOR_BUILD)dnl
++pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
++pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
++pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
++pushdef([host], build)dnl
++pushdef([host_alias], build_alias)dnl
++pushdef([host_cpu], build_cpu)dnl
++pushdef([host_vendor], build_vendor)dnl
++pushdef([host_os], build_os)dnl
++pushdef([ac_cv_host], ac_cv_build)dnl
++pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
++pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
++pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
++pushdef([ac_cv_host_os], ac_cv_build_os)dnl
++pushdef([ac_cpp], ac_build_cpp)dnl
++pushdef([ac_compile], ac_build_compile)dnl
++pushdef([ac_link], ac_build_link)dnl
++
++save_cross_compiling=$cross_compiling
++save_ac_tool_prefix=$ac_tool_prefix
++cross_compiling=no
++ac_tool_prefix=
++
++AC_PROG_CC
++AC_PROG_CPP
++AC_EXEEXT
++
++ac_tool_prefix=$save_ac_tool_prefix
++cross_compiling=$save_cross_compiling
++
++dnl Restore the old definitions
++dnl
++popdef([ac_link])dnl
++popdef([ac_compile])dnl
++popdef([ac_cpp])dnl
++popdef([ac_cv_host_os])dnl
++popdef([ac_cv_host_vendor])dnl
++popdef([ac_cv_host_cpu])dnl
++popdef([ac_cv_host_alias])dnl
++popdef([ac_cv_host])dnl
++popdef([host_os])dnl
++popdef([host_vendor])dnl
++popdef([host_cpu])dnl
++popdef([host_alias])dnl
++popdef([host])dnl
++popdef([LDFLAGS])dnl
++popdef([CPPFLAGS])dnl
++popdef([CFLAGS])dnl
++popdef([CPP])dnl
++popdef([CC])dnl
++popdef([ac_objext])dnl
++popdef([ac_exeext])dnl
++popdef([ac_cv_objext])dnl
++popdef([ac_cv_exeext])dnl
++popdef([ac_cv_prog_cc_g])dnl
++popdef([ac_cv_prog_cc_cross])dnl
++popdef([ac_cv_prog_cc_works])dnl
++popdef([ac_cv_prog_gcc])dnl
++popdef([ac_cv_prog_CPP])dnl
++
++dnl Finally, set Makefile variables
++dnl
++BUILD_EXEEXT=$ac_build_exeext
++BUILD_OBJEXT=$ac_build_objext
++AC_SUBST(BUILD_EXEEXT)dnl
++AC_SUBST(BUILD_OBJEXT)dnl
++AC_SUBST([CFLAGS_FOR_BUILD])dnl
++AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
++AC_SUBST([LDFLAGS_FOR_BUILD])dnl
++])
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/comerr/Makefile.in openafs-1.8.2.new/src/comerr/Makefile.in
+--- openafs-1.8.2/src/comerr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/comerr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
+@@ -38,11 +38,14 @@
+ compile_et:	compile_et.o error_table.o
+ 	$(Q)case $(SYS_NAME) in \
+ 	*_linux* | *_umlinux* | *_darwin* ) \
+-	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr $(buildtool_roken) $(MT_LIBS);; \
++	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build $(buildtool_roken) $(MT_LIBS);; \
+ 	* ) \
+-	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr -ll $(buildtool_roken) $(MT_LIBS);; \
++	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build -ll $(buildtool_roken) $(MT_LIBS);; \
+ 	esac
+ 
++compile_et compile_et.o error_table.o: CC=$(CC_FOR_BUILD)
++compile_et compile_et.o error_table.o: LD=$(CC_FOR_BUILD)
++
+ libafscom_err.a: $(LT_objs)
+ 	$(LT_LDLIB_lwp) $(LT_objs)
+ 
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/config/Makefile.in openafs-1.8.2.new/src/config/Makefile.in
+--- openafs-1.8.2/src/config/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/config/Makefile.in	2018-10-16 15:48:19.677898926 +0200
+@@ -54,6 +54,8 @@
+ 
+ config.o: config.c AFS_component_version_number.c
+ 
++config mkvers config.o mc.o: CC=$(CC_FOR_BUILD)
++
+ #
+ # Include installation targets
+ #
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/opr/Makefile.in openafs-1.8.2.new/src/opr/Makefile.in
+--- openafs-1.8.2/src/opr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/opr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
+@@ -21,7 +21,7 @@
+ 	  $(TOP_INCDIR)/opr/time.h \
+ 	  $(TOP_INCDIR)/opr/uuid.h
+ 
+-all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a
++all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a $(TOP_LIBDIR)/libopr_build.a
+ 
+ liboafs_opr.la: liboafs_opr.la.sym $(LT_objs) $(LT_deps)
+ 	$(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
+@@ -29,12 +29,26 @@
+ libopr.a: $(LT_objs)
+ 	$(LT_LDLIB_static) $(LT_objs)
+ 
++LT_objs_build = $(patsubst %.lo, %_build.lo, $(LT_objs))
++
++%_build.lo: %.c
++	$(LT_CCRULE) $<
++
++libopr_build.a: $(LT_objs_build)
++	$(LT_LDLIB_static) $(LT_objs_build)
++
++libopr_build.a $(LT_objs_build): CC=$(CC_FOR_BUILD)
++libopr_build.a $(LT_objs_build): LD=$(CC_FOR_BUILD)
++
+ libopr_pic.la: $(LT_objs)
+ 	$(LT_LDLIB_pic) $(LT_objs)
+ 
+ $(TOP_LIBDIR)/libopr.a: libopr.a
+ 	$(INSTALL_DATA) libopr.a $@
+ 
++$(TOP_LIBDIR)/libopr_build.a: libopr_build.a
++	$(INSTALL_DATA) libopr_build.a $@
++
+ $(TOP_LIBDIR)/libopr_pic.a: libopr_pic.la
+ 	$(INSTALL_DATA) .libs/libopr_pic.a $@
+ 
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/rxgen/Makefile.in openafs-1.8.2.new/src/rxgen/Makefile.in
+--- openafs-1.8.2/src/rxgen/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/rxgen/Makefile.in	2018-10-16 15:48:19.677898926 +0200
+@@ -25,6 +25,8 @@
+ 
+ CFLAGS_rpc_main.o= -DPATH_CPP="\"$(PATH_CPP)\""
+ 
++rxgen $(OBJS): CC=$(CC_FOR_BUILD)
++
+ #
+ # Install targets
+ #
diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix
index fc6b1bc2426b..c77bef6ad24e 100644
--- a/pkgs/servers/openafs/1.8/default.nix
+++ b/pkgs/servers/openafs/1.8/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, which, autoconf, automake, flex, yacc
-, glibc, perl, kerberos, libxslt, docbook_xsl, docbook_xml_dtd_43
-, libtool_2, removeReferencesTo
+{ stdenv, buildPackages, fetchurl, which, autoconf, automake, flex
+, yacc , glibc, perl, kerberos, libxslt, docbook_xsl
+, docbook_xml_dtd_43 , libtool_2, removeReferencesTo
 , ncurses # Extra ncurses utilities. Only needed for debugging.
 , tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
 }:
@@ -11,12 +11,13 @@ stdenv.mkDerivation rec {
   name = "openafs-${version}";
   inherit version srcs;
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ autoconf automake flex libxslt libtool_2 perl
     removeReferencesTo which yacc ];
 
   buildInputs = [ kerberos ncurses ];
 
-  patches = [ ./bosserver.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
+  patches = [ ./bosserver.patch ./cross-build.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
 
   outputs = [ "out" "dev" "man" "doc" "server" ];
 
@@ -27,6 +28,9 @@ stdenv.mkDerivation rec {
   # Makefiles don't include install targets for all new shared libs, yet.
   dontDisableStatic = true;
 
+  # Fixes broken format string in 1.8.2
+  hardeningDisable=[ "format" ];
+
   preConfigure = ''
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index cfd9f0561e99..958fcd578c2b 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -8,7 +8,7 @@ let
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
 in stdenv.mkDerivation rec {
-  name = "openafs-${version}-${kernel.version}";
+  name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
   nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
@@ -54,9 +54,7 @@ in stdenv.mkDerivation rec {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = [ maintainers.z77z maintainers.spacefrogg ];
-    broken = (versionOlder kernel.version "3.18") ||
-             (versionAtLeast kernel.version "4.18") ||
-             stdenv.targetPlatform.isAarch64;
+    broken = versionOlder kernel.version "3.18";
   };
 
 }
diff --git a/pkgs/servers/openafs/1.8/srcs.nix b/pkgs/servers/openafs/1.8/srcs.nix
index e51504528999..ffdbe47220d7 100644
--- a/pkgs/servers/openafs/1.8/srcs.nix
+++ b/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.0";
+  version = "1.8.2";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d";
+    sha256 = "13hksffp7k5f89c9lc5g5b1q0pc9h7wyarq3sjyjqam7c513xz95";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8";
+      sha256 = "09n8nymrhpyb0fhahpln2spzhy9pn48hvry35ccqif2jd4wsxdmr";
     })];
 }
diff --git a/pkgs/servers/openxpki/default.nix b/pkgs/servers/openxpki/default.nix
index f68e1f5e9816..2b1000d0d851 100644
--- a/pkgs/servers/openxpki/default.nix
+++ b/pkgs/servers/openxpki/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildPerlPackage, fetchgit, perl, openssl, perlPackages, gettext, python34Packages
+{ stdenv, fetchgit, perl, openssl, perlPackages, gettext, python3Packages
 # TODO: Remove extra dependencies once it is clear that they are NOT needed somewhere.
 , extraDependencies1 ? false, extraDependencies2 ? false, extraDependencies3 ? false }:
 
-buildPerlPackage {
+perlPackages.buildPerlPackage {
   name = "openxpki-git20150807";
 
   src = fetchgit {
@@ -11,7 +11,7 @@ buildPerlPackage {
     sha256 = "05bmhani2c7ays488xv3hx5xbxb612bnwq5rdjwmsj51xpaz454p";
   };
 
-  buildInputs = [ perl openssl gettext python34Packages.sphinx ];
+  buildInputs = [ perl openssl gettext python3Packages.sphinx ];
   propagatedBuildInputs = with perlPackages;
     [ # dependencies from Makefile.PL
       libintl_perl ConfigVersioned LWP ClassAccessorChained IOSocketSSL ClassStd
diff --git a/pkgs/servers/osrm-backend/default.nix b/pkgs/servers/osrm-backend/default.nix
index 04fd2e37b357..97612f656cbc 100644
--- a/pkgs/servers/osrm-backend/default.nix
+++ b/pkgs/servers/osrm-backend/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "osrm-backend-${version}";
-  version = "5.18.0";
+  version = "5.19.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner  = "Project-OSRM";
     repo   = "osrm-backend";
-    sha256 = "0ffdw02rgjb4z7xi8fk97c0hl1i7z04csjh3yd18zsb19bk1mkva";
+    sha256 = "1y3k2j4c3jparzm9ck1jkw5g12jr6kd9llq50jran2dwikc6hpyz";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index 88a8d0e87071..b562df681a06 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -6,9 +6,9 @@
 let
   plexPass = throw "Plex pass has been removed at upstream's request; please unset nixpkgs.config.plex.pass";
   plexpkg = if enablePlexPass then plexPass else {
-    version = "1.13.5.5291";
-    vsnHash = "6fa5e50a8";
-    sha256 = "1h0r7hxxw5jf2dn8w4cnj71dm873y2j0l87rg8pf0r3cyx6rhxnx";
+    version = "1.13.8.5395";
+    vsnHash = "10d48da0d";
+    sha256 = "0lpsh87kcrqwi2qqkj1ccb86hif535yb45hhc41c0ixsfxbqk5cw";
   };
 
 in stdenv.mkDerivation rec {
@@ -37,9 +37,9 @@ in stdenv.mkDerivation rec {
     # Now we need to patch up the executables and libraries to work on Nix.
     # Side note: PLEASE don't put spaces in your binary names. This is stupid.
     for bin in "Plex Media Server"              \
+               "Plex Commercial Skipper"        \
                "Plex DLNA Server"               \
                "Plex Media Scanner"             \
-               "Plex Media Server Tests"        \
                "Plex Relay"                     \
                "Plex Script Host"               \
                "Plex Transcoder"                \
@@ -66,7 +66,7 @@ in stdenv.mkDerivation rec {
     RSC=$out/usr/lib/plexmediaserver/Resources
     for db in "com.plexapp.plugins.library.db"; do
         mv $RSC/$db $RSC/base_$db
-        ln -s ${dataDir}/.skeleton/$db $RSC/$db
+        ln -s "${dataDir}/.skeleton/$db" $RSC/$db
     done
   '';
 
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
index 5fd23476d7da..8d920af654da 100644
--- a/pkgs/servers/radarr/default.nix
+++ b/pkgs/servers/radarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "radarr-${version}";
-  version = "0.2.0.995";
+  version = "0.2.0.1120";
 
   src = fetchurl {
     url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.develop.${version}.linux.tar.gz";
-    sha256 = "04sgs292qz65fcg5vsps0fk2669xzvyfw1rbc5sbbk3hig5lhlns";
+    sha256 = "0vsjaza0k4djb3vnazl2py4qmbxqfyyr0x9p4flq78yn79hp3439";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/roundcube/default.nix b/pkgs/servers/roundcube/default.nix
new file mode 100644
index 000000000000..40afd7043e41
--- /dev/null
+++ b/pkgs/servers/roundcube/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchzip }:
+let
+  version = "1.3.7";
+in
+fetchzip rec {
+  name= "roundcube-${version}";
+
+  url = "https://github.com/roundcube/roundcubemail/releases/download/${version}/roundcubemail-${version}-complete.tar.gz"; 
+  sha256 = "0xwqy0adynx7066a0cvz9vyg85waax1i4p70kcdkz7q5jnw4jzhf";
+ 
+  extraPostFetch = ''
+    ln -sf /etc/roundcube/config.inc.php $out/config/config.inc.php
+    rm -rf $out/installer
+  '';
+
+  meta = {
+    description = "Open Source Webmail Software";
+    maintainers = with stdenv.lib.maintainers; [ vskilet ];
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
+
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 385674c12a86..38f13fcd1fa1 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -3,10 +3,8 @@
 , docbook_xml_dtd_42, readline, talloc
 , popt, iniparser, libbsd, libarchive, libiconv, gettext
 , krb5Full, zlib, openldap, cups, pam, avahi, acl, libaio, fam, libceph, glusterfs
-, gnutls
-, ncurses, libunwind, libibverbs, librdmacm, systemd
+, gnutls, ncurses, libunwind, systemd
 
-, enableInfiniband ? false
 , enableLDAP ? false
 , enablePrinting ? false
 , enableMDNS ? false
@@ -22,11 +20,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "samba-${version}";
-  version = "4.7.9";
+  version = "4.7.10";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "1v0pd2k4rfdzcqbzb3g5gjiy8rwqamppwzwy5swz4x5rxyr5567c";
+    sha256 = "0w5y6a7kiw5ap7hd84yglzk7cjax6lxlszd0wz1sxnmqx4a6hn9l";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -47,7 +45,6 @@ stdenv.mkDerivation rec {
       libbsd libarchive zlib fam libiconv gettext libunwind krb5Full
     ]
     ++ optionals stdenv.isLinux [ libaio systemd ]
-    ++ optionals (enableInfiniband && stdenv.isLinux) [ libibverbs librdmacm ]
     ++ optional enableLDAP openldap
     ++ optional (enablePrinting && stdenv.isLinux) cups
     ++ optional enableMDNS avahi
diff --git a/pkgs/servers/search/elasticsearch/default.nix b/pkgs/servers/search/elasticsearch/default.nix
index 84872649c492..5a43a30257ed 100644
--- a/pkgs/servers/search/elasticsearch/default.nix
+++ b/pkgs/servers/search/elasticsearch/default.nix
@@ -29,7 +29,8 @@ stdenv.mkDerivation (rec {
     sed -i "s|ES_CLASSPATH=\"\$ES_HOME/lib/\*\"|ES_CLASSPATH=\"$out/lib/*\"|" ./bin/elasticsearch-env
   '';
 
-  buildInputs = [ makeWrapper jre_headless utillinux ];
+  buildInputs = [ makeWrapper jre_headless utillinux ]
+             ++ optional enableUnfree zlib;
 
   installPhase = ''
     mkdir -p $out
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index 439acd927e31..861bd7fe5ed5 100644
--- a/pkgs/servers/search/groonga/default.nix
+++ b/pkgs/servers/search/groonga/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
 
   name    = "groonga-${version}";
-  version = "8.0.5";
+  version = "8.0.7";
 
   src = fetchurl {
     url    = "https://packages.groonga.org/source/groonga/${name}.tar.gz";
-    sha256 = "1w7yygqp089kmiznxrwhvyny8cfdb4lr2pazh4873r8xxb9dyfvn";
+    sha256 = "040q525qdlxlypgs7jzklndshdvd5shzss67lcs6xhkbs0f977cc";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/shairport-sync/default.nix b/pkgs/servers/shairport-sync/default.nix
index fbce457aedc2..aaeb810eca0b 100644
--- a/pkgs/servers/shairport-sync/default.nix
+++ b/pkgs/servers/shairport-sync/default.nix
@@ -2,11 +2,11 @@
 , libdaemon, popt, pkgconfig, libconfig, libpulseaudio, soxr }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.1";
+  version = "3.2.2";
   name = "shairport-sync-${version}";
 
   src = fetchFromGitHub {
-    sha256 = "1g9pd00c1x66cbp4gls93pvnrwbzl37q7p8jaag3h5d6f1431i51";
+    sha256 = "1cw6wybnh4sp3llzmam0zpd6fcmr9y6ykrirzygckp2iaglcqbcv";
     rev = version;
     repo = "shairport-sync";
     owner = "mikebrady";
@@ -28,9 +28,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   configureFlags = [
-    "--with-alsa" "--with-pipe" "--with-pulseaudio" "--with-stdout"
+    "--with-alsa" "--with-pipe" "--with-pa" "--with-stdout"
     "--with-avahi" "--with-ssl=openssl" "--with-soxr"
-    "--without-configfiles" "--without-initscript"
+    "--without-configfiles"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix
index 1540a6f1fd18..b066ff18bfdc 100644
--- a/pkgs/servers/shishi/default.nix
+++ b/pkgs/servers/shishi/default.nix
@@ -14,7 +14,7 @@ let
   mkWith = mkFlag "with-" "without-";
   mkOther = mkFlag "" "" true;
 
-  shouldUsePkg = pkg: if pkg != null && pkg.meta.available then pkg else null;
+  shouldUsePkg = pkg: if pkg != null && stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) pkg.meta.platforms then pkg else null;
 
   optPam = shouldUsePkg pam;
   optLibidn = shouldUsePkg libidn;
diff --git a/pkgs/servers/sickbeard/default.nix b/pkgs/servers/sickbeard/default.nix
new file mode 100644
index 000000000000..4d6e181c61d2
--- /dev/null
+++ b/pkgs/servers/sickbeard/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, python2, makeWrapper }:
+
+let
+  pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
+in python2.pkgs.buildPythonApplication rec {
+  name = "sickbeard-${version}";
+  version = "2016-03-21";
+
+  src = fetchFromGitHub {
+    owner = "midgetspy";
+    repo = "Sick-Beard";
+    rev = "171a607e41b7347a74cc815f6ecce7968d9acccf";
+    sha256 = "16bn13pvzl8w6nxm36ii724x48z1cnf8y5fl0m5ig1vpqfypk5vq";
+  };
+
+  dontBuild = true;
+  doCheck = false;
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pythonEnv ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R {autoProcessTV,cherrypy,data,lib,sickbeard,SickBeard.py} $out/
+
+    makeWrapper $out/SickBeard.py $out/bin/sickbeard
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PVR & episode guide that downloads and manages all your TV shows";
+    license     = licenses.gpl3;
+    homepage    = https:/github.com/midgetspy/Sick-Beard;
+    maintainers = with stdenv.lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/servers/sickbeard/sickgear.nix b/pkgs/servers/sickbeard/sickgear.nix
new file mode 100644
index 000000000000..21254f557530
--- /dev/null
+++ b/pkgs/servers/sickbeard/sickgear.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, python2, makeWrapper }:
+
+let
+  pythonEnv = python2.withPackages(ps: with ps; [ cheetah ]);
+in python2.pkgs.buildPythonApplication rec {
+  name = "sickgear-${version}";
+  version = "0.17.5";
+
+  src = fetchFromGitHub {
+    owner = "SickGear";
+    repo = "SickGear";
+    rev = "release_${version}";
+    sha256 = "1lx060klgxz8gjanfjvya6p6kd8842qbpp1qhhiw49a25r8gyxpk";
+  };
+
+  dontBuild = true;
+  doCheck = false;
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ pythonEnv ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R {autoProcessTV,gui,lib,sickbeard,SickBeard.py} $out/
+
+    makeWrapper $out/SickBeard.py $out/bin/sickgear
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The most reliable stable TV fork of the great Sick-Beard to fully automate TV enjoyment with innovation";
+    license     = licenses.gpl3;
+    homepage    = https:/github.com/SickGear/SickGear;
+    maintainers = with stdenv.lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/servers/sickbeard/sickrage.nix b/pkgs/servers/sickbeard/sickrage.nix
new file mode 100644
index 000000000000..6ee119520b41
--- /dev/null
+++ b/pkgs/servers/sickbeard/sickrage.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, python2, makeWrapper }:
+
+python2.pkgs.buildPythonApplication rec {
+  name = "sickrage-${version}";
+  version = "v2018.07.21-1";
+
+  src = fetchFromGitHub {
+    owner = "SickRage";
+    repo = "SickRage";
+    rev = "${version}"; 
+    sha256 = "0lzklpsxqrb73inbv8almnhbnb681pmi44gzc8i4sjwmdksiiif9";
+  };
+
+  dontBuild = true;
+  doCheck = false;
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ python2 ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -R {gui,lib,locale,sickbeard,sickrage,SickBeard.py} $out/
+
+    makeWrapper $out/SickBeard.py $out/bin/sickrage
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Automatic Video Library Manager for TV Shows";
+    longDescription = "It watches for new episodes of your favorite shows, and when they are posted it does its magic.";
+    license     = licenses.gpl3;
+    homepage    = https://sickrage.github.io;
+    maintainers = [ "sterfield@gmail.com" ];
+  };
+}
diff --git a/pkgs/servers/sks/adapt-to-nixos.patch b/pkgs/servers/sks/adapt-to-nixos.patch
new file mode 100644
index 000000000000..b4403e8c7bc7
--- /dev/null
+++ b/pkgs/servers/sks/adapt-to-nixos.patch
@@ -0,0 +1,27 @@
+--- a/version.ml	2018-09-08 15:56:18.919154257 +0200
++++ b/version.ml	2018-09-08 15:56:07.544028575 +0200
+@@ -24,16 +24,6 @@
+ 
+ let run () =
+   let bdb_version = Bdb.version () in
+-  let dbstats_dir =
+-    let split = Str.regexp_string "." in
+-    let major_minor_string major minor =
+-      sprintf "Further details about the BDB environment can be seen by \
+-	  executing\ndb%s.%s_stat -x in the KDB and Ptree directories\n" major minor
+-    in
+-    match Str.split split bdb_version with
+-    | major :: minor :: _ -> major_minor_string major minor
+-    | [] | _ :: []        -> major_minor_string "X"   "Y"
+-  in
+   printf "SKS version %s%s\n"
+     Common.version Common.version_suffix;
+ 	
+@@ -44,5 +34,6 @@
+          requirement for recon of SKS %s\n"
+       Common.compatible_version_string;
+ 	
+-  printf "%s" dbstats_dir
++  printf "Further details about the BDB environment can be seen by executing\n\
++    db_stat -x in the KDB and PTree directories\n"
+ 
diff --git a/pkgs/servers/sks/default.nix b/pkgs/servers/sks/default.nix
index fe4029db1c14..deeeabda7451 100644
--- a/pkgs/servers/sks/default.nix
+++ b/pkgs/servers/sks/default.nix
@@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
     sha256 = "00q5ma5rvl10rkc6cdw8d69bddgrmvy0ckqj3hbisy65l4idj2zm";
   };
 
+  # pkgs.db provides db_stat, not db$major.$minor_stat
+  patches = [ ./adapt-to-nixos.patch ];
+
+  outputs = [ "out" "webSamples" ];
+
   buildInputs = [ ocaml zlib db perl camlp4 ];
 
   makeFlags = [ "PREFIX=$(out)" "MANDIR=$(out)/share/man" ];
@@ -26,6 +31,9 @@ stdenv.mkDerivation rec {
   doCheck = true;
   checkPhase = "./sks unit_test";
 
+  # Copy the web examples for the NixOS module
+  postInstall = "cp -R sampleWeb $webSamples";
+
   meta = with stdenv.lib; {
     description = "An easily deployable & decentralized OpenPGP keyserver";
     longDescription = ''
diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix
index 523292f6b0f4..fe14f0f33c81 100644
--- a/pkgs/servers/slimserver/default.nix
+++ b/pkgs/servers/slimserver/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, buildPerlPackage, fetchurl, fetchpatch, makeWrapper
+{ stdenv, fetchurl, fetchpatch, makeWrapper
 , perl, perlPackages, flac, faad2, sox, lame, monkeysAudio, wavpack }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "slimserver-${version}";
   version = "7.9.1";
 
@@ -10,11 +10,6 @@ buildPerlPackage rec {
     sha256 = "0szp5zkmx2b5lncsijf97asjnl73fyijkbgbwkl1i7p8qnqrb4mp";
   };
 
-  patches = [ (fetchpatch {
-    url = "https://github.com/Logitech/slimserver/pull/204.patch";
-    sha256 = "0n1c8nsbvqkmwj5ivkcxh1wkqqm1lwymmfz9i47ih6ifj06hkpxk";
-  } ) ];
-
   buildInputs = [
     makeWrapper
     perl
@@ -72,6 +67,10 @@ buildPerlPackage rec {
     rm -rf CPAN
     rm -rf Bin
     touch Makefile.PL
+
+    # relax audio scan version constraints
+    substituteInPlace lib/Audio/Scan.pm --replace "0.93" "1.01"
+    substituteInPlace modules.conf --replace "Audio::Scan 0.93 0.95" "Audio::Scan 0.93"
     '';
 
   preConfigurePhase = "";
diff --git a/pkgs/servers/smcroute/default.nix b/pkgs/servers/smcroute/default.nix
index 241ed17d2a11..75fff3715edc 100644
--- a/pkgs/servers/smcroute/default.nix
+++ b/pkgs/servers/smcroute/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "smcroute-${version}";
-  version = "2.4.1";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "smcroute";
     rev = version;
-    sha256 = "0wh7c15lglcgiap9pplqpd5abnxhfx3vh0nqjzvfnl82hwhnld1z";
+    sha256 = "197bi3il0c1vldw35ijx3zqyfj738nvfvr7yr4cwrbv40p3ascaq";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index 6e78a84b4c7d..1b4bad093c49 100644
--- a/pkgs/servers/sonarr/default.nix
+++ b/pkgs/servers/sonarr/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sonarr-${version}";
-  version = "2.0.0.5228";
+  version = "2.0.0.5252";
 
   src = fetchurl {
     url = "https://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz";
-    sha256 = "0nys6livqzdn19f9qazs6w9mz35d1wj2f2fgcrccshrbwafrxdw1";
+    sha256 = "0rs6sw2yjnhv3v3qbnalz445cilppw91zxxkj93dbp5vdlinw3fp";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index da6143c21f0d..d2a4406a9730 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
+{ stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, ncurses, zlib, xz, lzo, lz4, bzip2, snappy
 , libiconv, openssl, pcre, boost, judy, bison, libxml2
 , libaio, libevent, jemalloc, cracklib, systemd, numactl, perl
 , fixDarwinDylibNames, cctools, CoreServices
@@ -180,11 +180,11 @@ everything = stdenv.mkDerivation (common // {
 
 connector-c = stdenv.mkDerivation rec {
   name = "mariadb-connector-c-${version}";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchurl {
     url = "https://downloads.mariadb.org/interstitial/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz/from/http%3A//nyc2.mirrors.digitalocean.com/mariadb/";
-    sha256 = "15iy5iqp0njbwbn086x2dq8qnbkaci7ydvi84cf5z8fxvljis9vb";
+    sha256 = "13izi35vvxhiwl2dsnqrz75ciisy2s2k30giv7hrm01qlwnmiycl";
     name   = "mariadb-connector-c-${version}-src.tar.gz";
   };
 
@@ -221,11 +221,14 @@ connector-c = stdenv.mkDerivation rec {
 
 galera = stdenv.mkDerivation rec {
   name = "mariadb-galera-${version}";
-  version = "25.3.23";
-
-  src = fetchurl {
-    url = "https://mirrors.nxthost.com/mariadb/mariadb-10.2.14/galera-${version}/src/galera-${version}.tar.gz";
-    sha256 = "11pfc85z29jk0h6g6bmi3hdv4in4yb00xsr2r0qm1b0y7m2wq3ra";
+  version = "25.3.24";
+
+  src = fetchFromGitHub {
+    owner = "codership";
+    repo = "galera";
+    rev = "release_${version}";
+    sha256 = "1yx3rqy7r4w2l3hnrri30hvsa296v8xidi18p5fdzcpmnhnlwjbi";
+    fetchSubmodules = true;
   };
 
   buildInputs = [ asio boost check openssl scons ];
diff --git a/pkgs/servers/sql/mysql/5.7.x.nix b/pkgs/servers/sql/mysql/5.7.x.nix
index 723b4e4d8d3e..b5912dd9ab94 100644
--- a/pkgs/servers/sql/mysql/5.7.x.nix
+++ b/pkgs/servers/sql/mysql/5.7.x.nix
@@ -7,11 +7,11 @@
 let
 self = stdenv.mkDerivation rec {
   name = "mysql-${version}";
-  version = "5.7.23";
+  version = "5.7.24";
 
   src = fetchurl {
     url = "mirror://mysql/MySQL-5.7/${name}.tar.gz";
-    sha256 = "0rbc3xsc11lq2dm0ip6gxa16c06hi74scb97x5cw7yhbabaz4c07";
+    sha256 = "11qz8cc4zyi7sxs66c5zlap6fd3vra1srwgzcxdzhz59qs90rgq5";
   };
 
   preConfigure = stdenv.lib.optional stdenv.isDarwin ''
diff --git a/pkgs/servers/sql/postgresql/cstore_fdw/default.nix b/pkgs/servers/sql/postgresql/cstore_fdw/default.nix
index b6b9f3a5650f..a6e2c590f385 100644
--- a/pkgs/servers/sql/postgresql/cstore_fdw/default.nix
+++ b/pkgs/servers/sql/postgresql/cstore_fdw/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "cstore_fdw-${version}";
-  version = "1.6.1";
+  version = "1.6.2";
 
   nativeBuildInputs = [ protobufc ];
   buildInputs = [ postgresql ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "cstore_fdw";
     rev    = "refs/tags/v${version}";
-    sha256 = "1cpkpbv4c82l961anzwp74r1jc8f0n5z5cvwy4lyrqg5jr501nd4";
+    sha256 = "0kdmzpbhhjdg4p6i5963h7qbs88jzgpqc52gz450h7hwb9ckpv74";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/default.nix b/pkgs/servers/sql/postgresql/default.nix
index bccd54ca4ba8..b81b4340d767 100644
--- a/pkgs/servers/sql/postgresql/default.nix
+++ b/pkgs/servers/sql/postgresql/default.nix
@@ -99,34 +99,40 @@ let
 
 in {
 
-  postgresql93 = common {
+  postgresql_9_3 = common {
     version = "9.3.24";
     psqlSchema = "9.3";
     sha256 = "1a8dnv16n2rxnbwhqw7c0kjpj3xqvkpwk50kvimj4d917cxaf542";
   };
 
-  postgresql94 = common {
+  postgresql_9_4 = common {
     version = "9.4.19";
     psqlSchema = "9.4";
     sha256 = "12qn9h47rkn4k41gdbxkkvg0pff43k1113jmhc83f19adc1nnxq3";
   };
 
-  postgresql95 = common {
+  postgresql_9_5 = common {
     version = "9.5.14";
     psqlSchema = "9.5";
     sha256 = "0k8s62h6qd9p3xlx315j5irniskqsnx1nz4ir5r1yhqp07mdab1y";
   };
 
-  postgresql96 = common {
+  postgresql_9_6 = common {
     version = "9.6.10";
     psqlSchema = "9.6";
     sha256 = "09l4zqs74fqnazdsyln9x657mq3wsbgng9wpvq71yh26cv2sq5c6";
   };
 
-  postgresql100 = common {
+  postgresql_10 = common {
     version = "10.5";
     psqlSchema = "10.0";
     sha256 = "04a07jkvc5s6zgh6jr78149kcjmsxclizsqabjw44ld4j5n633kc";
   };
 
+  postgresql_11 = common {
+    version = "11.0";
+    psqlSchema = "11.0";
+    sha256 = "0szk9ssfych1wlpyqxz3z6dllg1l6m5labpii8c2r463s01vm6xz";
+  };
+
 }
diff --git a/pkgs/servers/sql/postgresql/jdbc/default.nix b/pkgs/servers/sql/postgresql/jdbc/default.nix
index 62ebf6b44533..c67d72705482 100644
--- a/pkgs/servers/sql/postgresql/jdbc/default.nix
+++ b/pkgs/servers/sql/postgresql/jdbc/default.nix
@@ -2,25 +2,25 @@
 
 stdenv.mkDerivation rec {
   name = "postgresql-jdbc-${version}";
-  version = "42.2.2";
+  version = "42.2.5";
 
   src = fetchMavenArtifact {
     artifactId = "postgresql";
     groupId = "org.postgresql";
-    sha256 = "0w7sfi1gmzqhyhr4iq9znv8hff41xwwqcblkyd9ph0m34r0555hr";
+    sha256 = "1p0cbb7ka41xxipzjy81hmcndkqynav22xyipkg7qdqrqvw4dykz";
     inherit version;
   };
 
   phases = [ "installPhase" ];
 
   installPhase = ''
-    install -D $src/share/java/*_postgresql-${version}.jar $out/share/java/postgresql-jdbc.jar
+    install -m444 -D $src/share/java/*postgresql-${version}.jar $out/share/java/postgresql-jdbc.jar
   '';
 
   meta = with stdenv.lib; {
     homepage = https://jdbc.postgresql.org/;
     description = "JDBC driver for PostgreSQL allowing Java programs to connect to a PostgreSQL database";
-    license = licenses.bsd3;
+    license = licenses.bsd2;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/pg_cron/default.nix b/pkgs/servers/sql/postgresql/pg_cron/default.nix
index c5a7a40546ef..959c2c382524 100644
--- a/pkgs/servers/sql/postgresql/pg_cron/default.nix
+++ b/pkgs/servers/sql/postgresql/pg_cron/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "pg_cron-${version}";
-  version = "1.0.2";
+  version = "1.1.2";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "pg_cron";
     rev    = "refs/tags/v${version}";
-    sha256 = "0z743bbal9j0pvqskznfj0zvjsqvdl7p90d4fdrl0sc0crc3nvyx";
+    sha256 = "0n74dx1wkg9qxvjhnx03028465ap3p97v2kzqww833dws1wqk5m1";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/pg_repack/default.nix b/pkgs/servers/sql/postgresql/pg_repack/default.nix
index 1b7cd08b082b..a50605bd0409 100644
--- a/pkgs/servers/sql/postgresql/pg_repack/default.nix
+++ b/pkgs/servers/sql/postgresql/pg_repack/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
     name = "pg_repack-${version}";
-    version = "1.4.3";
+    version = "1.4.4";
 
     buildInputs = [ postgresql openssl zlib readline ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       owner  = "reorg";
       repo   = "pg_repack";
       rev    = "refs/tags/ver_${version}";
-      sha256 = "1mmd22nfaxjwnbl3i95f3ivmjvfqwdflgaczlg3129dbpwg265xr";
+      sha256 = "0ynsmsxfkcp82ccpz2nrgg8wiil8yxqigvw6425lx8v80h5lszbw";
     };
 
     installPhase = ''
diff --git a/pkgs/servers/sql/postgresql/pgroonga/default.nix b/pkgs/servers/sql/postgresql/pgroonga/default.nix
index f4c7bfb1b85f..aca5eb1f4ee7 100644
--- a/pkgs/servers/sql/postgresql/pgroonga/default.nix
+++ b/pkgs/servers/sql/postgresql/pgroonga/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pgroonga-${version}";
-  version = "2.0.9";
+  version = "2.1.6";
 
   src = fetchurl {
     url = "https://packages.groonga.org/source/pgroonga/${name}.tar.gz";
-    sha256 = "0dfkhl2im4cn2lczbsvb8zyylrzlm0vqk9ixjsalcaqxgxph2dpz";
+    sha256 = "1scybfmmlz5p4xgkhfx7pzdiqj5cd60kvbk8m4xa6k3avz0p1sw9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/sql/postgresql/pgtap/default.nix b/pkgs/servers/sql/postgresql/pgtap/default.nix
index c6eb4013c5ce..2f37d3a85d3e 100644
--- a/pkgs/servers/sql/postgresql/pgtap/default.nix
+++ b/pkgs/servers/sql/postgresql/pgtap/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pgtap-${version}";
-  version = "0.98.0";
+  version = "0.99.0";
 
   src = fetchFromGitHub {
     owner = "theory";
     repo = "pgtap";
     rev = "v${version}";
-    sha256 = "17r3b409k05pbypmwdwgm1fl669jc6a1391szyxizx784k44a369";
+    sha256 = "0xakjlbb99mgd8za6m0xa6n3s5fhif217iip6b3aywqw7nh1j6nv";
   };
 
   nativeBuildInputs = [ postgresql perl perlPackages.TAPParserSourceHandlerpgTAP which ];
diff --git a/pkgs/servers/sql/sqlite/jdbc/default.nix b/pkgs/servers/sql/sqlite/jdbc/default.nix
index 5b0425c410fc..4e40d8761526 100644
--- a/pkgs/servers/sql/sqlite/jdbc/default.nix
+++ b/pkgs/servers/sql/sqlite/jdbc/default.nix
@@ -1,25 +1,28 @@
-{ lib, stdenv, fetchurl }:
+{ stdenv, fetchMavenArtifact }:
 
 stdenv.mkDerivation rec {
-  version = "3.20.0";
   pname = "sqlite-jdbc";
   name = "${pname}-${version}";
+  version = "3.25.2";
 
-  src = fetchurl {
-    url = "https://bitbucket.org/xerial/${pname}/downloads/${name}.jar";
-    sha256 = "0wxfxnq2ghiwy2mwz3rljgmy1lciafhrw80lprvqz6iw8l51qfql";
+  src = fetchMavenArtifact {
+    groupId = "org.xerial";
+    artifactId = "sqlite-jdbc";
+    inherit version;
+    sha256 = "1xk5fi2wzq3jspvbdm5hvs78501i14jy3v7x6fjnh5fnpqdacpd4";
   };
 
   phases = [ "installPhase" ];
 
   installPhase = ''
-    install -D "${src}" "$out/share/java/${name}.jar"
+    install -m444 -D ${src}/share/java/*${name}.jar "$out/share/java/${name}.jar"
   '';
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     homepage = "https://github.com/xerial/sqlite-jdbc";
-    description = "SQLite JDBC Driver";
+    description = "Library for accessing and creating SQLite database files in Java";
     license = licenses.asl20;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ jraygauthier ];
   };
 }
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 58054c34225b..b1097c1e96fc 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "traefik-${version}";
-  version = "1.6.5";
+  version = "1.7.1";
 
   goPackagePath = "github.com/containous/traefik";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "containous";
     repo = "traefik";
     rev = "v${version}";
-    sha256 = "0swiyyw7j7264avfk0a5jqs7h1hv4bq1k1kr92v4830azc9fxrvn";
+    sha256 = "13vvwb1mrnxn4y1ga37pc5c46qdj5jkrcnyn2w9rb59madgq4c77";
   };
 
   buildInputs = [ go-bindata bash ];
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index 2db004d9000f..86fe1d7b008c 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "trezord-go-${version}";
-  version = "2.0.14";
+  version = "2.0.24";
 
   # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
   hardeningDisable = [ "fortify" ];
@@ -13,14 +13,14 @@ buildGoPackage rec {
     owner  = "trezor";
     repo   = "trezord-go";
     rev    = "v${version}";
-    sha256 = "1bnzib1cbs7cj6vdf015vr60vm5wgfgbqajcpqxcikfckwhjsykv";
+    sha256 = "1fl2d57qqrrwl995w4b2d57rvl2cxxy6afjmcp648hhb3dnmp7c3";
   };
 
   meta = with stdenv.lib; {
     description = "TREZOR Communication Daemon aka TREZOR Bridge";
-    homepage = https://mytrezor.com;
-    license = licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ canndrew jb55 ];
+    homepage = https://trezor.io;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ canndrew jb55 maintainers."1000101"];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix
index c0a3b5a28c31..674d96e54622 100644
--- a/pkgs/servers/tvheadend/default.nix
+++ b/pkgs/servers/tvheadend/default.nix
@@ -3,7 +3,7 @@
 , which, zlib }:
 
 let
-  version = "4.2.6";
+  version = "4.2.7";
 
 in stdenv.mkDerivation rec {
   name = "tvheadend-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     owner  = "tvheadend";
     repo   = "tvheadend";
     rev    = "v${version}";
-    sha256 = "0rnhk0r34mfmz3cnf735nzkkyal7pnv16hfyrs0g4v5rk99rlab3";
+    sha256 = "09q6lddkld22z9nbxx5v3v3z5yvcnl4lgjirvrdprwkv67fld70g";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/uftp/default.nix b/pkgs/servers/uftp/default.nix
index a484e0382104..768fdf0b46f8 100644
--- a/pkgs/servers/uftp/default.nix
+++ b/pkgs/servers/uftp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "uftp-${version}";
-  version = "4.9.7";
+  version = "4.9.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/uftp-multicast/source-tar/uftp-${version}.tar.gz";
-    sha256 = "1gh1zpc6dh690xjhfp5x2ajhwjkchyh5wazr8agm6axxwqhd9gn8";
+    sha256 = "16g54372xy5apk485xz9bp1hfci15mssw7m7givls4lpwhc67379";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/uhub/default.nix b/pkgs/servers/uhub/default.nix
index 87d0a0ee4553..52866784faa9 100644
--- a/pkgs/servers/uhub/default.nix
+++ b/pkgs/servers/uhub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, openssl, sqlite, pkgconfig, systemd
+{ stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkgconfig, systemd
 , tlsSupport ? false }:
 
 assert tlsSupport -> openssl != null;
@@ -7,9 +7,11 @@ stdenv.mkDerivation rec {
   name = "uhub-${version}";
   version = "0.5.0";
 
-  src = fetchurl {
-    url = "https://www.extatic.org/downloads/uhub/uhub-${version}-src.tar.bz2";
-    sha256 = "1xcqjz20lxikzn96f4f69mqyl9y985h9g0gyc9f7ckj18q22b5j5";
+  src = fetchFromGitHub {
+    owner = "janvidar";
+    repo = "uhub";
+    rev = version;
+    sha256 = "0zdbxfvw7apmfhqgsfkfp4pn9iflzwdn0zwvzymm5inswfc00pxg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -20,6 +22,7 @@ stdenv.mkDerivation rec {
     "mod_welcome"
     "mod_logging"
     "mod_auth_simple"
+    "mod_auth_sqlite"
     "mod_chat_history"
     "mod_chat_only"
     "mod_topic"
@@ -28,9 +31,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./plugin-dir.patch
+    # fix aarch64 build: https://github.com/janvidar/uhub/issues/46
+    (fetchpatch {
+      url = "https://github.com/janvidar/uhub/pull/47.patch";
+      sha256 = "07yik6za89ar5bxm7m2183i7f6hfbawbxvd4vs02n1zr2fgfxmiq";
+    })
 
     # Fixed compilation on systemd > 210
-    (fetchurl {
+    (fetchpatch {
       url = "https://github.com/janvidar/uhub/commit/70f2a43f676cdda5961950a8d9a21e12d34993f8.diff";
       sha256 = "1jp8fvw6f9jh0sdjml9mahkk6p6b96p6rzg2y601mnnbcdj8y8xp";
     })
diff --git a/pkgs/servers/uhub/plugin-dir.patch b/pkgs/servers/uhub/plugin-dir.patch
index 01cbcbb31cf3..d29d600425ff 100644
--- a/pkgs/servers/uhub/plugin-dir.patch
+++ b/pkgs/servers/uhub/plugin-dir.patch
@@ -7,7 +7,7 @@
 -	install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_history_sqlite mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL )
 -	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL )
 +
-+    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
++    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
 +
 +    foreach( PLUGIN ${PLUGINS} )
 +        install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL )
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 7436c06d7b84..fd1787d4c99d 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -49,13 +49,9 @@ in rec {
   };
 
   unifiStable = generic {
-    version = "5.8.28";
-    sha256  = "1zyc6n54dwqy9diyqnzlwypgnj3hqcv0lfx47s4rkq3kbm49nwnl";
+    version = "5.9.29";
+    sha256  = "0djdjh7lwaa5nvhvz2yh6dn07iad5nq4jpab7rc909sljl6wvwvx";
   };
 
-  unifiTesting = generic {
-    version = "5.9.22";
-    suffix  = "-d2a4718971";
-    sha256  = "1xxpvvn0815snag4bmmsdm8zh0cb2qjrhnvlkgn8i478ja1r3n54";
-  };
+  unifiTesting = unifiStable;
 }
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index ff1acad90944..7517560a521c 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -2,7 +2,7 @@
 , python2, makeWrapper }:
 
 let
-  common = { version, sha256 }:
+  common = { version, sha256, extraBuildInputs ? [] }:
     stdenv.mkDerivation rec {
       name = "varnish-${version}";
 
@@ -15,7 +15,7 @@ let
       buildInputs = [
         pcre libxslt groff ncurses readline python2 libedit
         python2.pkgs.docutils makeWrapper
-      ];
+      ] ++ extraBuildInputs;
 
       buildFlags = "localstatedir=/var/spool";
 
@@ -39,15 +39,16 @@ let
 in
 {
   varnish4 = common {
-    version = "4.1.9";
-    sha256 = "11zwyasz2fn9qxc87r175wb5ba7388sd79mlygjmqn3yv2m89n12";
+    version = "4.1.10";
+    sha256 = "08kwx0il6cqxsx3897042plh1yxjaanbaqjbspfl0xgvyvxk6j1n";
   };
   varnish5 = common {
     version = "5.2.1";
     sha256 = "1cqlj12m426c1lak1hr1fx5zcfsjjvka3hfirz47hvy1g2fjqidq";
   };
   varnish6 = common {
-    version = "6.0.0";
-    sha256 = "1vhbdch33m6ig4ijy57zvrramhs9n7cba85wd8rizgxjjnf87cn7";
+    version = "6.1.0";
+    sha256 = "0zg2aqkg7a4zsjpxj0s7mphxv5f9xy279hjwln30h901k18r46qn";
+    extraBuildInputs = [ python2.pkgs.sphinx ];
   };
 }
diff --git a/pkgs/servers/web-apps/codimd/CodeMirror/default.nix b/pkgs/servers/web-apps/codimd/CodeMirror/default.nix
new file mode 100644
index 000000000000..e4899597de4f
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/CodeMirror/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, pkgs, buildEnv, fetchFromGitHub, nodejs-6_x, phantomjs2, which }:
+
+let
+  nodePackages = import ./node.nix {
+    inherit pkgs;
+    system = stdenv.system;
+  };
+
+  phantomjs-prebuilt = nodePackages."phantomjs-prebuilt-^2.1.12".override (oldAttrs: {
+    buildInputs = oldAttrs.buildInputs ++ [ phantomjs2 ];
+  });
+in
+
+stdenv.mkDerivation {
+  name = "codemirror-hackmdio-05-07-2018";
+
+  src = fetchFromGitHub {
+    owner = "hackmdio";
+    repo = "CodeMirror";
+    rev = "df412731ed3923124f9a43f60e84bdf855eb843a";
+    sha256 = "02v2wccv9sjdda9x45ib8d08i1pc4b8kwg3p6qc314wqq89nhniw";
+  };
+
+  nativeBuildInputs = [ which ];
+  buildInputs = [ nodejs-6_x phantomjs-prebuilt ] ++ (stdenv.lib.attrVals [
+    "blint-^1"
+    "node-static-0.6.0"
+    "rollup-^0.41.0"
+    "rollup-plugin-buble-^0.15.0"
+    "rollup-watch-^3.2.0"
+    "uglify-js-^2.8.15"
+  ] nodePackages);
+
+  buildPhase = ''
+    patchShebangs .
+    npm run build
+    node release
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib/node_modules/codemirror
+    cp -R {codemirror.min.js,addon,bin,keymap,lib,mode,theme} $out/lib/node_modules/codemirror/
+    ln -s ${nodePackages."url-loader-^0.5.7"}/lib/node_modules/url-loader \
+      $out/lib/node_modules
+  '';
+}
diff --git a/pkgs/servers/web-apps/codimd/CodeMirror/deps.json b/pkgs/servers/web-apps/codimd/CodeMirror/deps.json
new file mode 100644
index 000000000000..672e413a4a9e
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/CodeMirror/deps.json
@@ -0,0 +1,8 @@
+[ { "blint": "^1" }
+, { "node-static": "0.6.0" }
+, { "phantomjs-prebuilt": "^2.1.12" }
+, { "rollup": "^0.41.0" }
+, { "rollup-plugin-buble": "^0.15.0" }
+, { "rollup-watch": "^3.2.0" }
+, { "uglify-js": "^2.8.15" }
+, { "url-loader": "^0.5.7" } ]
diff --git a/pkgs/servers/web-apps/codimd/CodeMirror/generate.sh b/pkgs/servers/web-apps/codimd/CodeMirror/generate.sh
new file mode 100755
index 000000000000..c42da7340c31
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/CodeMirror/generate.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix -6 -i deps.json \
+  -e ../../../../development/node-packages/node-env.nix \
+  --no-copy-node-env \
+  -c node.nix
diff --git a/pkgs/servers/web-apps/codimd/CodeMirror/node-packages.nix b/pkgs/servers/web-apps/codimd/CodeMirror/node-packages.nix
new file mode 100644
index 000000000000..a2d475d5831a
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/CodeMirror/node-packages.nix
@@ -0,0 +1,1459 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "acorn-3.3.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz";
+        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+      };
+    };
+    "acorn-5.7.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz";
+        sha512 = "d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==";
+      };
+    };
+    "acorn-jsx-3.0.1" = {
+      name = "acorn-jsx";
+      packageName = "acorn-jsx";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
+        sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+      };
+    };
+    "acorn-object-spread-1.0.0" = {
+      name = "acorn-object-spread";
+      packageName = "acorn-object-spread";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz";
+        sha1 = "48ead0f4a8eb16995a17a0db9ffc6acaada4ba68";
+      };
+    };
+    "ajv-5.5.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "5.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz";
+        sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
+      };
+    };
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    };
+    "ansi-styles-1.0.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
+        sha1 = "cb102df1c56f5123eab8b67cd7b98027a0279178";
+      };
+    };
+    "ansi-styles-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
+    "asn1-0.2.4" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
+      };
+    };
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    };
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    };
+    "aws-sign2-0.7.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    };
+    "aws4-1.8.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz";
+        sha512 = "ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "bcrypt-pbkdf-1.0.2" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    };
+    "big.js-3.2.0" = {
+      name = "big.js";
+      packageName = "big.js";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz";
+        sha512 = "+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==";
+      };
+    };
+    "brace-expansion-1.1.11" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+      };
+    };
+    "buble-0.15.2" = {
+      name = "buble";
+      packageName = "buble";
+      version = "0.15.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buble/-/buble-0.15.2.tgz";
+        sha1 = "547fc47483f8e5e8176d82aa5ebccb183b02d613";
+      };
+    };
+    "buffer-from-1.1.1" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+      };
+    };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "chalk-0.4.0" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
+        sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f";
+      };
+    };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    };
+    "combined-stream-1.0.6" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
+        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "concat-stream-1.6.2" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    };
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    };
+    "debug-2.6.9" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    };
+    "ecc-jsbn-0.1.2" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    };
+    "emojis-list-2.1.0" = {
+      name = "emojis-list";
+      packageName = "emojis-list";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    };
+    "es6-promise-4.2.4" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz";
+        sha512 = "/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "estree-walker-0.2.1" = {
+      name = "estree-walker";
+      packageName = "estree-walker";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz";
+        sha1 = "bdafe8095383d8414d5dc2ecf4c9173b6db9412e";
+      };
+    };
+    "extend-3.0.2" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
+      };
+    };
+    "extract-zip-1.6.7" = {
+      name = "extract-zip";
+      packageName = "extract-zip";
+      version = "1.6.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz";
+        sha1 = "a840b4b8af6403264c8db57f4f1a74333ef81fe9";
+      };
+    };
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    };
+    "fast-deep-equal-1.1.0" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz";
+        sha1 = "c053477817c86b51daa853c81e059b733d023614";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "fd-slicer-1.0.1" = {
+      name = "fd-slicer";
+      packageName = "fd-slicer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
+        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
+      };
+    };
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    };
+    "form-data-2.3.2" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
+        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
+      };
+    };
+    "fs-extra-1.0.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz";
+        sha1 = "cd3ce5f7e7cb6145883fcae3191e9877f8587950";
+      };
+    };
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    };
+    "graceful-fs-4.1.11" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz";
+        sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
+      };
+    };
+    "har-schema-2.0.0" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    };
+    "har-validator-5.1.0" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz";
+        sha512 = "+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==";
+      };
+    };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
+    "has-color-0.1.7" = {
+      name = "has-color";
+      packageName = "has-color";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
+        sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
+      };
+    };
+    "hasha-2.2.0" = {
+      name = "hasha";
+      packageName = "hasha";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz";
+        sha1 = "78d7cbfc1e6d66303fe79837365984517b2f6ee1";
+      };
+    };
+    "http-signature-1.2.0" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "is-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "isexe-2.0.0" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "json-schema-traverse-0.3.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
+        sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "json5-0.5.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    };
+    "jsonfile-2.4.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz";
+        sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8";
+      };
+    };
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    };
+    "kew-0.7.0" = {
+      name = "kew";
+      packageName = "kew";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz";
+        sha1 = "79d93d2d33363d6fdd2970b335d9141ad591d79b";
+      };
+    };
+    "kind-of-3.2.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    };
+    "klaw-1.3.1" = {
+      name = "klaw";
+      packageName = "klaw";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz";
+        sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
+    "loader-utils-1.1.0" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz";
+        sha1 = "c98aef488bcceda2ffb5e2de646d6a754429f5cd";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
+    "magic-string-0.14.0" = {
+      name = "magic-string";
+      packageName = "magic-string";
+      version = "0.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.14.0.tgz";
+        sha1 = "57224aef1701caeed273b17a39a956e72b172462";
+      };
+    };
+    "mime-1.3.6" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz";
+        sha1 = "591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0";
+      };
+    };
+    "mime-db-1.35.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.35.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz";
+        sha512 = "JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==";
+      };
+    };
+    "mime-types-2.1.19" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz";
+        sha512 = "P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    };
+    "nomnom-1.8.1" = {
+      name = "nomnom";
+      packageName = "nomnom";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz";
+        sha1 = "2151f722472ba79e50a76fc125bb8c8f2e4dc2a7";
+      };
+    };
+    "oauth-sign-0.9.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz";
+        sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
+      };
+    };
+    "os-homedir-1.0.2" = {
+      name = "os-homedir";
+      packageName = "os-homedir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    };
+    "pend-1.2.0" = {
+      name = "pend";
+      packageName = "pend";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+      };
+    };
+    "performance-now-2.1.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
+    "process-nextick-args-2.0.0" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz";
+        sha512 = "MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==";
+      };
+    };
+    "progress-1.1.8" = {
+      name = "progress";
+      packageName = "progress";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
+        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+      };
+    };
+    "psl-1.1.29" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.1.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz";
+        sha512 = "AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "qs-6.5.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+      };
+    };
+    "readable-stream-2.3.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "request-2.88.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.88.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.88.0.tgz";
+        sha512 = "NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==";
+      };
+    };
+    "request-progress-2.0.1" = {
+      name = "request-progress";
+      packageName = "request-progress";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz";
+        sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
+      };
+    };
+    "require-relative-0.8.7" = {
+      name = "require-relative";
+      packageName = "require-relative";
+      version = "0.8.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz";
+        sha1 = "7999539fc9e047a37928fa196f8e1563dabd36de";
+      };
+    };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
+    "rollup-pluginutils-1.5.2" = {
+      name = "rollup-pluginutils";
+      packageName = "rollup-pluginutils";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz";
+        sha1 = "1e156e778f94b7255bfa1b3d0178be8f5c552408";
+      };
+    };
+    "safe-buffer-5.1.2" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+      };
+    };
+    "safer-buffer-2.1.2" = {
+      name = "safer-buffer";
+      packageName = "safer-buffer";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "source-map-support-0.4.18" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.4.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz";
+        sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
+      };
+    };
+    "sshpk-1.14.2" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.14.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz";
+        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
+      };
+    };
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+      };
+    };
+    "strip-ansi-0.1.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
+        sha1 = "39e8a98d044d150660abe4a6808acf70bb7bc991";
+      };
+    };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
+    "throttleit-1.0.0" = {
+      name = "throttleit";
+      packageName = "throttleit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz";
+        sha1 = "9e785836daf46743145a5984b6268d828528ac6c";
+      };
+    };
+    "tough-cookie-2.4.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+      };
+    };
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    };
+    "tweetnacl-0.14.5" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    };
+    "typedarray-0.0.6" = {
+      name = "typedarray";
+      packageName = "typedarray";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "underscore-1.6.0" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
+        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "uuid-3.3.2" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
+        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
+      };
+    };
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    };
+    "vlq-0.2.3" = {
+      name = "vlq";
+      packageName = "vlq";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz";
+        sha512 = "DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==";
+      };
+    };
+    "which-1.3.1" = {
+      name = "which";
+      packageName = "which";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+    "yauzl-2.4.1" = {
+      name = "yauzl";
+      packageName = "yauzl";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz";
+        sha1 = "9528f442dab1b2284e58b4379bb194e22e0c4005";
+      };
+    };
+  };
+in
+{
+  "blint-^1" = nodeEnv.buildNodePackage {
+    name = "blint";
+    packageName = "blint";
+    version = "1.0.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/blint/-/blint-1.0.3.tgz";
+      sha512 = "6RwH3oJYMujQNd38WWU+jUSRqWfECrmpfL8o3fn3Q3fE9nn5iAktLZJHGEHqeecownbZZwZneTLbaNbIWwU9/A==";
+    };
+    dependencies = [
+      sources."acorn-5.7.1"
+      sources."ansi-styles-1.0.0"
+      sources."chalk-0.4.0"
+      sources."has-color-0.1.7"
+      sources."nomnom-1.8.1"
+      sources."strip-ansi-0.1.1"
+      sources."underscore-1.6.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "No-ceremony linter";
+      homepage = http://github.com/marijnh/blint;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "node-static-0.6.0" = nodeEnv.buildNodePackage {
+    name = "node-static";
+    packageName = "node-static";
+    version = "0.6.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/node-static/-/node-static-0.6.0.tgz";
+      sha1 = "e8543a897f3c82048220b39569284d44796eb1e2";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "simple, compliant file streaming module for node";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "phantomjs-prebuilt-^2.1.12" = nodeEnv.buildNodePackage {
+    name = "phantomjs-prebuilt";
+    packageName = "phantomjs-prebuilt";
+    version = "2.1.16";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz";
+      sha1 = "efd212a4a3966d3647684ea8ba788549be2aefef";
+    };
+    dependencies = [
+      sources."ajv-5.5.2"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.8.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."buffer-from-1.1.1"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-2.6.9"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."es6-promise-4.2.4"
+      sources."extend-3.0.2"
+      sources."extract-zip-1.6.7"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fd-slicer-1.0.1"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."fs-extra-1.0.0"
+      sources."getpass-0.1.7"
+      sources."graceful-fs-4.1.11"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.0"
+      sources."hasha-2.2.0"
+      sources."http-signature-1.2.0"
+      sources."inherits-2.0.3"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonfile-2.4.0"
+      sources."jsprim-1.4.1"
+      sources."kew-0.7.0"
+      sources."klaw-1.3.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."oauth-sign-0.9.0"
+      sources."pend-1.2.0"
+      sources."performance-now-2.1.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."process-nextick-args-2.0.0"
+      sources."progress-1.1.8"
+      sources."psl-1.1.29"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."request-2.88.0"
+      sources."request-progress-2.0.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sshpk-1.14.2"
+      sources."string_decoder-1.1.1"
+      sources."throttleit-1.0.0"
+      sources."tough-cookie-2.4.3"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."typedarray-0.0.6"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."which-1.3.1"
+      sources."yauzl-2.4.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Headless WebKit with JS API";
+      homepage = https://github.com/Medium/phantomjs;
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "rollup-^0.41.0" = nodeEnv.buildNodePackage {
+    name = "rollup";
+    packageName = "rollup";
+    version = "0.41.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/rollup/-/rollup-0.41.6.tgz";
+      sha1 = "e0d05497877a398c104d816d2733a718a7a94e2a";
+    };
+    dependencies = [
+      sources."source-map-0.5.7"
+      sources."source-map-support-0.4.18"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Next-generation ES6 module bundler";
+      homepage = https://github.com/rollup/rollup;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "rollup-plugin-buble-^0.15.0" = nodeEnv.buildNodePackage {
+    name = "rollup-plugin-buble";
+    packageName = "rollup-plugin-buble";
+    version = "0.15.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.15.0.tgz";
+      sha1 = "83c3e89c7fd2266c7918f41ba3980313519c7fd0";
+    };
+    dependencies = [
+      sources."acorn-3.3.0"
+      sources."acorn-jsx-3.0.1"
+      sources."acorn-object-spread-1.0.0"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."buble-0.15.2"
+      sources."chalk-1.1.3"
+      sources."concat-map-0.0.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."estree-walker-0.2.1"
+      sources."has-ansi-2.0.0"
+      sources."magic-string-0.14.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."os-homedir-1.0.2"
+      sources."rollup-pluginutils-1.5.2"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."vlq-0.2.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Compile ES2015 with buble";
+      homepage = "https://gitlab.com/rich-harris/rollup-plugin-buble#README";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "rollup-watch-^3.2.0" = nodeEnv.buildNodePackage {
+    name = "rollup-watch";
+    packageName = "rollup-watch";
+    version = "3.2.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/rollup-watch/-/rollup-watch-3.2.2.tgz";
+      sha1 = "5e574232e9ef36da9177f46946d8080cb267354b";
+    };
+    dependencies = [
+      sources."require-relative-0.8.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Watch files for changes and perform incremental rebuilds with Rollup";
+      homepage = "https://github.com/rollup/rollup-watch#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "uglify-js-^2.8.15" = nodeEnv.buildNodePackage {
+    name = "uglify-js";
+    packageName = "uglify-js";
+    version = "2.8.29";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz";
+      sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
+    };
+    dependencies = [
+      sources."align-text-0.1.4"
+      sources."camelcase-1.2.1"
+      sources."center-align-0.1.3"
+      sources."cliui-2.1.0"
+      sources."decamelize-1.2.0"
+      sources."is-buffer-1.1.6"
+      sources."kind-of-3.2.2"
+      sources."lazy-cache-1.0.4"
+      sources."longest-1.0.1"
+      sources."repeat-string-1.6.1"
+      sources."right-align-0.1.3"
+      sources."source-map-0.5.7"
+      sources."uglify-to-browserify-1.0.2"
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.2"
+      sources."yargs-3.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "JavaScript parser, mangler/compressor and beautifier toolkit";
+      homepage = http://lisperator.net/uglifyjs;
+      license = "BSD-2-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "url-loader-^0.5.7" = nodeEnv.buildNodePackage {
+    name = "url-loader";
+    packageName = "url-loader";
+    version = "0.5.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz";
+      sha512 = "B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-1.1.0"
+      sources."mime-1.3.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "url loader module for webpack";
+      homepage = "https://github.com/webpack/url-loader#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/web-apps/codimd/CodeMirror/node.nix b/pkgs/servers/web-apps/codimd/CodeMirror/node.nix
new file mode 100644
index 000000000000..85aedb8a5a4c
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/CodeMirror/node.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
+
+let
+  nodeEnv = import ../../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/servers/web-apps/codimd/default.nix b/pkgs/servers/web-apps/codimd/default.nix
new file mode 100644
index 000000000000..e9f5e0898720
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/default.nix
@@ -0,0 +1,156 @@
+{ stdenv, pkgs, buildEnv, fetchFromGitHub, makeWrapper
+, fetchpatch, nodejs-6_x, phantomjs2 }:
+let
+  nodePackages = import ./node.nix {
+    inherit pkgs;
+    system = stdenv.system;
+  };
+
+  addPhantomjs = (pkgs:
+    map (pkg: pkg.override ( oldAttrs: {
+      buildInputs = oldAttrs.buildInputs or [] ++ [ phantomjs2 ];
+    })) pkgs);
+
+  drvName = drv: (builtins.parseDrvName drv).name;
+
+  linkNodeDeps = ({ pkg, deps, name ? "" }:
+    nodePackages.${pkg}.override (oldAttrs: {
+      postInstall = stdenv.lib.concatStringsSep "\n" (map (dep: ''
+        ln -s ${nodePackages.${dep}}/lib/node_modules/${drvName dep} \
+          $out/lib/node_modules/${if name != "" then name else drvName pkg}/node_modules
+      '') deps
+      );
+    })
+  );
+
+  filterNodePackagesToList = (filterPkgs: allPkgs:
+    stdenv.lib.mapAttrsToList (_: v: v) (
+      stdenv.lib.filterAttrs (n: _:
+        ! builtins.elem (drvName n) filterPkgs
+      ) allPkgs)
+  );
+
+  # add phantomjs to buildInputs
+  pkgsWithPhantomjs = (addPhantomjs (map (
+    p: nodePackages.${p}
+  ) [
+    "js-url-^2.3.0"
+    "markdown-pdf-^8.0.0"
+  ]));
+
+  # link extra dependencies to lib/node_modules
+  pkgsWithExtraDeps = map (args:
+    linkNodeDeps args ) [
+    { pkg = "select2-^3.5.2-browserify";
+      deps = [ "url-loader-^0.5.7" ]; }
+    { pkg = "js-sequence-diagrams-^1000000.0.6";
+      deps = [ "lodash-^4.17.4" ]; }
+    { pkg = "ionicons-~2.0.1";
+      deps = [ "url-loader-^0.5.7" "file-loader-^0.9.0" ]; }
+    { pkg = "font-awesome-^4.7.0";
+      deps = [ "url-loader-^0.5.7" "file-loader-^0.9.0" ]; }
+    { pkg = "bootstrap-^3.3.7";
+      deps = [ "url-loader-^0.5.7" "file-loader-^0.9.0" ]; }
+    { pkg = "markdown-it-^8.2.2";
+      deps = [ "json-loader-^0.5.4" ]; }
+    { pkg = "markdown-it-emoji-^1.3.0";
+      deps = [ "json-loader-^0.5.4" ]; }
+    { pkg = "raphael-git+https://github.com/dmitrybaranovskiy/raphael";
+      deps = [ "eve-^0.5.4" ];
+      name = "raphael"; }
+  ];
+
+  codemirror = pkgs.callPackage ./CodeMirror { };
+
+  nodeEnv = buildEnv {
+    name = "codimd-env";
+    paths = pkgsWithPhantomjs ++ pkgsWithExtraDeps ++ [
+      codemirror
+   ] ++ filterNodePackagesToList [
+     "bootstrap"
+     "codemirror-git+https://github.com/hackmdio/CodeMirror.git"
+     "font-awesome"
+     "ionicons"
+     "js-sequence-diagrams"
+     "js-url"
+     "markdown-it"
+     "markdown-pdf"
+"node-uuid"
+     "raphael-git+https://github.com/dmitrybaranovskiy/raphael"
+     "select2-browserify"
+   ] nodePackages;
+  };
+
+  name = "codimd-${version}";
+  version = "1.2.0";
+
+  src = stdenv.mkDerivation {
+    name = "${name}-src";
+    inherit version;
+
+    src = fetchFromGitHub {
+      owner = "hackmdio";
+      repo = "codimd";
+      rev = version;
+      sha256 = "003v90g5sxxjv5smxvz6y6bq2ny0xpxhsx2cdgkvj7jla243v48s";
+    };
+
+    dontBuild = true;
+
+    installPhase = ''
+      mkdir $out
+      cp -R . $out
+    '';
+  };
+in
+stdenv.mkDerivation rec {
+  inherit name version src;
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ nodejs-6_x ];
+
+  NODE_PATH = "${nodeEnv}/lib/node_modules";
+
+  patches = [
+    (fetchpatch { # fixes for configurable paths
+      url = "https://patch-diff.githubusercontent.com/raw/hackmdio/codimd/pull/940.patch";
+      sha256 = "0w1cvnp3k1n8690gzlrfijisn182i0v8psjs3df394rfx2347xyp";
+    })
+  ];
+
+  buildPhase = ''
+    ln -s ${nodeEnv}/lib/node_modules node_modules
+    npm run build
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cat > $out/bin/codimd <<EOF
+      #!${stdenv.shell}/bin/sh
+      ${nodejs-6_x}/bin/node $out/app.js
+    EOF
+    cp -R {app.js,bin,lib,locales,package.json,public} $out/
+  '';
+
+  postFixup = ''
+    chmod +x $out/bin/codimd
+    wrapProgram $out/bin/codimd \
+      --set NODE_PATH "${nodeEnv}/lib/node_modules"
+  '';
+
+  passthru = {
+    sequelize = pkgs.writeScript "codimd-sequelize" ''
+      #!${pkgs.bash}/bin/bash -e
+      export NODE_PATH="${nodeEnv}/lib/node_modules"
+      exec -a "$0" "${nodeEnv}/lib/node_modules/sequelize-cli/bin/sequelize" "$@"
+    '';
+  };
+
+  meta = with stdenv.lib; {
+    description = "Realtime collaborative markdown notes on all platforms";
+    license = licenses.agpl3;
+    homepage = https://github.com/hackmdio/codimd;
+    maintainers = with maintainers; [ willibutz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/web-apps/codimd/deps.json b/pkgs/servers/web-apps/codimd/deps.json
new file mode 100644
index 000000000000..c7cf790fe58e
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/deps.json
@@ -0,0 +1,150 @@
+[ { "eve": "^0.5.4" }
+
+, { "babel-cli": "^6.18.0" }
+, { "babel-core": "^6.21.0" }
+, { "babel-loader": "^6.2.10" }
+, { "babel-plugin-transform-runtime": "^6.15.0" }
+, { "babel-polyfill": "^6.22.0" }
+, { "babel-preset-es2015": "^6.18.0" }
+, { "babel-runtime": "^6.20.0" }
+, { "copy-webpack-plugin": "^4.0.1" }
+, { "css-loader": "^0.26.1" }
+, { "doctoc": "^1.3.0" }
+, { "ejs-loader": "^0.3.0" }
+, { "exports-loader": "^0.6.3" }
+, { "expose": "^0.1.4" }
+, { "expose-loader": "^0.7.1" }
+, { "extract-text-webpack-plugin": "^1.0.1" }
+, { "file-loader": "^0.9.0" }
+, { "html-webpack-plugin": "^2.25.0" }
+, { "imports-loader": "^0.7.0" }
+, { "json-loader": "^0.5.4" }
+, { "jsonlint": "^1.6.2" }
+, { "less": "^2.7.1" }
+, { "less-loader": "^2.2.3" }
+, { "optimize-css-assets-webpack-plugin": "^1.3.0" }
+, { "script-loader": "^0.7.0" }
+, { "standard": "^9.0.1" }
+, { "string-loader": "^0.0.1" }
+, { "style-loader": "^0.13.1" }
+, { "url-loader": "^0.5.7" }
+, { "webpack": "^1.14.0" }
+, { "webpack-parallel-uglify-plugin": "^0.2.0" }
+
+, { "Idle.Js": "git+https://github.com/shawnmclean/Idle.js" }
+, { "archiver": "^2.1.1" }
+, { "async": "^2.1.4" }
+, { "aws-sdk": "^2.7.20" }
+, { "base64url": "^3.0.0" }
+, { "azure-storage": "^2.7.0" }
+, { "blueimp-md5": "^2.6.0" }
+, { "body-parser": "^1.15.2" }
+, { "bootstrap": "^3.3.7" }
+, { "bootstrap-validator": "^0.11.8" }
+, { "chance": "^1.0.4" }
+, { "cheerio": "^0.22.0" }
+, { "codemirror": "git+https://github.com/hackmdio/CodeMirror.git" }
+, { "compression": "^1.6.2" }
+, { "connect-flash": "^0.1.1" }
+, { "connect-session-sequelize": "^4.1.0" }
+, { "cookie": "0.3.1" }
+, { "cookie-parser": "1.4.3" }
+, { "deep-freeze": "^0.0.1" }
+, { "diff-match-patch": "git+https://github.com/hackmdio/diff-match-patch.git" }
+, { "ejs": "^2.5.5" }
+, { "emojify.js": "~1.1.0" }
+, { "express": ">=4.14" }
+, { "express-session": "^1.14.2" }
+, { "file-saver": "^1.3.3" }
+, { "flowchart.js": "^1.6.4" }
+, { "font-awesome": "^4.7.0" }
+, { "formidable": "^1.0.17" }
+, { "gist-embed": "~2.6.0" }
+, { "graceful-fs": "^4.1.11" }
+, { "handlebars": "^4.0.6" }
+, { "helmet": "^3.3.0" }
+, { "highlight.js": "~9.12.0" }
+, { "i18n": "^0.8.3" }
+, { "imgur": "git+https://github.com/hackmdio/node-imgur.git" }
+, { "ionicons": "~2.0.1" }
+, { "jquery": "^3.1.1" }
+, { "jquery-mousewheel": "^3.1.13" }
+, { "jquery-ui": "^1.12.1" }
+, { "js-cookie": "^2.1.3" }
+, { "js-sequence-diagrams": "^1000000.0.6" }
+, { "js-url": "^2.3.0" }
+, { "js-yaml": "^3.7.0" }
+, { "jsdom-nogyp": "^0.8.3" }
+, { "keymaster": "^1.6.2" }
+, { "list.js": "^1.5.0" }
+, { "lodash": "^4.17.4" }
+, { "lz-string": "1.4.4" }
+, { "markdown-it": "^8.2.2" }
+, { "markdown-it-abbr": "^1.0.4" }
+, { "markdown-it-container": "^2.0.0" }
+, { "markdown-it-deflist": "^2.0.1" }
+, { "markdown-it-emoji": "^1.3.0" }
+, { "markdown-it-footnote": "^3.0.1" }
+, { "markdown-it-imsize": "^2.0.1" }
+, { "markdown-it-ins": "^2.0.0" }
+, { "markdown-it-mark": "^2.0.0" }
+, { "markdown-it-mathjax": "^2.0.0" }
+, { "markdown-it-regexp": "^0.4.0" }
+, { "markdown-it-sub": "^1.0.0" }
+, { "markdown-it-sup": "^1.0.0" }
+, { "markdown-pdf": "^8.0.0" }
+, { "mathjax": "~2.7.0" }
+, { "mermaid": "~7.1.0" }
+, { "mattermost": "^3.4.0" }
+, { "meta-marked": "^0.4.2" }
+, { "method-override": "^2.3.7" }
+, { "minimist": "^1.2.0" }
+, { "minio": "^6.0.0" }
+, { "moment": "^2.17.1" }
+, { "morgan": "^1.7.0" }
+, { "mysql": "^2.12.0" }
+, { "node-uuid": "^1.4.7" }
+, { "octicons": "~4.4.0" }
+, { "passport": "^0.4.0" }
+, { "passport-dropbox-oauth2": "^1.1.0" }
+, { "passport-facebook": "^2.1.1" }
+, { "passport-github": "^1.1.0" }
+, { "passport-gitlab2": "^4.0.0" }
+, { "passport-google-oauth20": "^1.0.0" }
+, { "passport-ldapauth": "^2.0.0" }
+, { "passport-local": "^1.0.0" }
+, { "passport-oauth2": "^1.4.0" }
+, { "passport-twitter": "^1.0.4" }
+, { "passport-saml": "^0.31.0" }
+, { "passport.socketio": "^3.7.0" }
+, { "pdfobject": "^2.0.201604172" }
+, { "pg": "^6.1.2" }
+, { "pg-hstore": "^2.3.2" }
+, { "prismjs": "^1.6.0" }
+, { "randomcolor": "^0.5.3" }
+, { "raphael": "git+https://github.com/dmitrybaranovskiy/raphael" }
+, { "readline-sync": "^1.4.7" }
+, { "request": "^2.79.0" }
+, { "reveal.js": "~3.6.0" }
+, { "scrypt": "^6.0.3" }
+, { "select2": "^3.5.2-browserify" }
+, { "sequelize": "^3.28.0" }
+, { "sequelize-cli": "^2.5.1" }
+, { "shortid": "2.2.8" }
+, { "socket.io": "~2.0.4" }
+, { "socket.io-client": "~2.0.4" }
+, { "spin.js": "^2.3.2" }
+, { "sqlite3": "^4.0.1" }
+, { "store": "^2.0.12" }
+, { "string": "^3.3.3" }
+, { "tedious": "^1.14.0" }
+, { "to-markdown": "^3.0.3" }
+, { "toobusy-js": "^0.5.1" }
+, { "uuid": "^3.1.0" }
+, { "uws": "~0.14.1" }
+, { "validator": "^10.4.0" }
+, { "velocity-animate": "^1.4.0" }
+, { "visibilityjs": "^1.2.4" }
+, { "viz.js": "^1.7.0" }
+, { "winston": "^2.3.0" }
+, { "xss": "^1.0.3" } ]
diff --git a/pkgs/servers/web-apps/codimd/generate.sh b/pkgs/servers/web-apps/codimd/generate.sh
new file mode 100755
index 000000000000..6d2bf29532e9
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/generate.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix -6 -i deps.json \
+  -e ../../../development/node-packages/node-env.nix \
+  --no-copy-node-env \
+  -c node.nix
diff --git a/pkgs/servers/web-apps/codimd/node-packages.nix b/pkgs/servers/web-apps/codimd/node-packages.nix
new file mode 100644
index 000000000000..414cf6c31589
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/node-packages.nix
@@ -0,0 +1,17911 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "@types/body-parser-1.17.0" = {
+      name = "_at_types_slash_body-parser";
+      packageName = "@types/body-parser";
+      version = "1.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz";
+        sha512 = "a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==";
+      };
+    };
+    "@types/connect-3.4.32" = {
+      name = "_at_types_slash_connect";
+      packageName = "@types/connect";
+      version = "3.4.32";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz";
+        sha512 = "4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==";
+      };
+    };
+    "@types/events-1.2.0" = {
+      name = "_at_types_slash_events";
+      packageName = "@types/events";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz";
+        sha512 = "KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==";
+      };
+    };
+    "@types/express-4.16.0" = {
+      name = "_at_types_slash_express";
+      packageName = "@types/express";
+      version = "4.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express/-/express-4.16.0.tgz";
+        sha512 = "TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w==";
+      };
+    };
+    "@types/express-serve-static-core-4.16.0" = {
+      name = "_at_types_slash_express-serve-static-core";
+      packageName = "@types/express-serve-static-core";
+      version = "4.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz";
+        sha512 = "lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w==";
+      };
+    };
+    "@types/geojson-1.0.6" = {
+      name = "_at_types_slash_geojson";
+      packageName = "@types/geojson";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/geojson/-/geojson-1.0.6.tgz";
+        sha512 = "Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==";
+      };
+    };
+    "@types/ldapjs-1.0.3" = {
+      name = "_at_types_slash_ldapjs";
+      packageName = "@types/ldapjs";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ldapjs/-/ldapjs-1.0.3.tgz";
+        sha512 = "FSj24s1WsFEfOy8taIKp2DokSZfFkjWYZb88AS5eDj3WTocZ+4DnHjhzrXEs048WQ5mfOLJXMOAnc0kSnHh5Lw==";
+      };
+    };
+    "@types/mime-2.0.0" = {
+      name = "_at_types_slash_mime";
+      packageName = "@types/mime";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz";
+        sha512 = "A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==";
+      };
+    };
+    "@types/node-7.0.68" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "7.0.68";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-7.0.68.tgz";
+        sha512 = "ym3LNHwJQU0XDyPrTK6NHJTH5YmGKKe0k56in6pg+Wx4HD8fiKrt8xute6/unHvHujCfzmOQTGz1NoEKgFF5Mw==";
+      };
+    };
+    "@types/passport-0.3.5" = {
+      name = "_at_types_slash_passport";
+      packageName = "@types/passport";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/passport/-/passport-0.3.5.tgz";
+        sha512 = "J7mdY1nnhjdbkXT84S3WsyrTtDf2KqUJ9JW3Y9vxA5GuXlejIuvwHw9A2TdNklAqPG2Q0TWqlsA2a2GIeV1jYA==";
+      };
+    };
+    "@types/range-parser-1.2.2" = {
+      name = "_at_types_slash_range-parser";
+      packageName = "@types/range-parser";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz";
+        sha512 = "HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw==";
+      };
+    };
+    "@types/serve-static-1.13.2" = {
+      name = "_at_types_slash_serve-static";
+      packageName = "@types/serve-static";
+      version = "1.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz";
+        sha512 = "/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==";
+      };
+    };
+    "JSV-4.0.2" = {
+      name = "JSV";
+      packageName = "JSV";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz";
+        sha1 = "d077f6825571f82132f9dffaed587b4029feff57";
+      };
+    };
+    "abab-1.0.4" = {
+      name = "abab";
+      packageName = "abab";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz";
+        sha1 = "5faad9c2c07f60dd76770f71cf025b62a63cfd4e";
+      };
+    };
+    "abbrev-1.1.1" = {
+      name = "abbrev";
+      packageName = "abbrev";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz";
+        sha512 = "nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==";
+      };
+    };
+    "accepts-1.3.5" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz";
+        sha1 = "eb777df6011723a3b14e8a72c0805c8e86746bd2";
+      };
+    };
+    "acorn-3.3.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz";
+        sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+      };
+    };
+    "acorn-4.0.13" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "4.0.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz";
+        sha1 = "105495ae5361d697bd195c825192e1ad7f253787";
+      };
+    };
+    "acorn-5.7.1" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz";
+        sha512 = "d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==";
+      };
+    };
+    "acorn-globals-3.1.0" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz";
+        sha1 = "fd8270f71fbb4996b004fa880ee5d46573a731bf";
+      };
+    };
+    "acorn-jsx-3.0.1" = {
+      name = "acorn-jsx";
+      packageName = "acorn-jsx";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
+        sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+      };
+    };
+    "acorn-object-spread-1.0.0" = {
+      name = "acorn-object-spread";
+      packageName = "acorn-object-spread";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz";
+        sha1 = "48ead0f4a8eb16995a17a0db9ffc6acaada4ba68";
+      };
+    };
+    "after-0.8.2" = {
+      name = "after";
+      packageName = "after";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/after/-/after-0.8.2.tgz";
+        sha1 = "fedb394f9f0e02aa9768e702bda23b505fae7e1f";
+      };
+    };
+    "ajv-4.11.8" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "4.11.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";
+        sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
+      };
+    };
+    "ajv-5.5.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "5.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz";
+        sha1 = "73b5eeca3fab653e3d3f9422b341ad42205dc965";
+      };
+    };
+    "ajv-6.5.2" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz";
+        sha512 = "hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==";
+      };
+    };
+    "ajv-keywords-1.5.1" = {
+      name = "ajv-keywords";
+      packageName = "ajv-keywords";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz";
+        sha1 = "314dd0a4b3368fad3dfcdc54ede6171b886daf3c";
+      };
+    };
+    "ajv-keywords-3.2.0" = {
+      name = "ajv-keywords";
+      packageName = "ajv-keywords";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz";
+        sha1 = "e86b819c602cf8821ad637413698f1dec021847a";
+      };
+    };
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "alphanum-sort-1.0.2" = {
+      name = "alphanum-sort";
+      packageName = "alphanum-sort";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz";
+        sha1 = "97a1119649b211ad33691d9f9f486a8ec9fbe0a3";
+      };
+    };
+    "ambi-2.5.0" = {
+      name = "ambi";
+      packageName = "ambi";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ambi/-/ambi-2.5.0.tgz";
+        sha1 = "7c8e372be48891157e7cea01cb6f9143d1f74220";
+      };
+    };
+    "amdefine-1.0.1" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
+      };
+    };
+    "anchor-markdown-header-0.5.7" = {
+      name = "anchor-markdown-header";
+      packageName = "anchor-markdown-header";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anchor-markdown-header/-/anchor-markdown-header-0.5.7.tgz";
+        sha1 = "045063d76e6a1f9cd327a57a0126aa0fdec371a7";
+      };
+    };
+    "ansi-escapes-1.4.0" = {
+      name = "ansi-escapes";
+      packageName = "ansi-escapes";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
+        sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
+      };
+    };
+    "ansi-gray-0.1.1" = {
+      name = "ansi-gray";
+      packageName = "ansi-gray";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz";
+        sha1 = "2962cf54ec9792c48510a3deb524436861ef7251";
+      };
+    };
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    };
+    "ansi-regex-3.0.0" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
+        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+      };
+    };
+    "ansi-styles-1.0.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz";
+        sha1 = "cb102df1c56f5123eab8b67cd7b98027a0279178";
+      };
+    };
+    "ansi-styles-2.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+      };
+    };
+    "ansi-styles-3.2.1" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
+      };
+    };
+    "ansi-wrap-0.1.0" = {
+      name = "ansi-wrap";
+      packageName = "ansi-wrap";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz";
+        sha1 = "a82250ddb0015e9a27ca82e82ea603bbfa45efaf";
+      };
+    };
+    "anymatch-1.3.2" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz";
+        sha512 = "0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==";
+      };
+    };
+    "aproba-1.2.0" = {
+      name = "aproba";
+      packageName = "aproba";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
+      };
+    };
+    "archiver-utils-1.3.0" = {
+      name = "archiver-utils";
+      packageName = "archiver-utils";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz";
+        sha1 = "e50b4c09c70bf3d680e32ff1b7994e9f9d895174";
+      };
+    };
+    "archy-1.0.0" = {
+      name = "archy";
+      packageName = "archy";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
+        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
+      };
+    };
+    "are-we-there-yet-1.1.5" = {
+      name = "are-we-there-yet";
+      packageName = "are-we-there-yet";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz";
+        sha512 = "5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==";
+      };
+    };
+    "argparse-0.1.16" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "0.1.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
+        sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
+      };
+    };
+    "argparse-1.0.10" = {
+      name = "argparse";
+      packageName = "argparse";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
+      };
+    };
+    "arr-diff-2.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz";
+        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
+      };
+    };
+    "arr-diff-4.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz";
+        sha1 = "d6461074febfec71e7e15235761a329a5dc7c520";
+      };
+    };
+    "arr-flatten-1.1.0" = {
+      name = "arr-flatten";
+      packageName = "arr-flatten";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha512 = "L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==";
+      };
+    };
+    "arr-union-3.1.0" = {
+      name = "arr-union";
+      packageName = "arr-union";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz";
+        sha1 = "e39b09aea9def866a8f206e288af63919bae39c4";
+      };
+    };
+    "array-differ-1.0.0" = {
+      name = "array-differ";
+      packageName = "array-differ";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz";
+        sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031";
+      };
+    };
+    "array-each-1.0.1" = {
+      name = "array-each";
+      packageName = "array-each";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz";
+        sha1 = "a794af0c05ab1752846ee753a1f211a05ba0c44f";
+      };
+    };
+    "array-equal-1.0.0" = {
+      name = "array-equal";
+      packageName = "array-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz";
+        sha1 = "8c2a5ef2472fd9ea742b04c77a75093ba2757c93";
+      };
+    };
+    "array-flatten-1.1.1" = {
+      name = "array-flatten";
+      packageName = "array-flatten";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
+        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+      };
+    };
+    "array-slice-1.1.0" = {
+      name = "array-slice";
+      packageName = "array-slice";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz";
+        sha512 = "B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==";
+      };
+    };
+    "array-union-1.0.2" = {
+      name = "array-union";
+      packageName = "array-union";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz";
+        sha1 = "9a34410e4f4e3da23dea375be5be70f24778ec39";
+      };
+    };
+    "array-uniq-1.0.3" = {
+      name = "array-uniq";
+      packageName = "array-uniq";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz";
+        sha1 = "af6ac877a25cc7f74e058894753858dfdb24fdb6";
+      };
+    };
+    "array-unique-0.2.1" = {
+      name = "array-unique";
+      packageName = "array-unique";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz";
+        sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
+      };
+    };
+    "array-unique-0.3.2" = {
+      name = "array-unique";
+      packageName = "array-unique";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz";
+        sha1 = "a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428";
+      };
+    };
+    "array.prototype.find-2.0.4" = {
+      name = "array.prototype.find";
+      packageName = "array.prototype.find";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz";
+        sha1 = "556a5c5362c08648323ddaeb9de9d14bc1864c90";
+      };
+    };
+    "arraybuffer.slice-0.0.7" = {
+      name = "arraybuffer.slice";
+      packageName = "arraybuffer.slice";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz";
+        sha512 = "wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==";
+      };
+    };
+    "arrify-1.0.1" = {
+      name = "arrify";
+      packageName = "arrify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
+        sha1 = "898508da2226f380df904728456849c1501a4b0d";
+      };
+    };
+    "asap-2.0.6" = {
+      name = "asap";
+      packageName = "asap";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
+        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
+      };
+    };
+    "asn1-0.2.3" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
+        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+      };
+    };
+    "asn1-0.2.4" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz";
+        sha512 = "jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==";
+      };
+    };
+    "assert-1.4.1" = {
+      name = "assert";
+      packageName = "assert";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    };
+    "assert-plus-0.1.5" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+      };
+    };
+    "assert-plus-0.2.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
+        sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
+      };
+    };
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    };
+    "assign-symbols-1.0.0" = {
+      name = "assign-symbols";
+      packageName = "assign-symbols";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz";
+        sha1 = "59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367";
+      };
+    };
+    "async-0.2.10" = {
+      name = "async";
+      packageName = "async";
+      version = "0.2.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
+        sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+      };
+    };
+    "async-0.9.2" = {
+      name = "async";
+      packageName = "async";
+      version = "0.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    };
+    "async-1.0.0" = {
+      name = "async";
+      packageName = "async";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-1.0.0.tgz";
+        sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
+      };
+    };
+    "async-1.5.2" = {
+      name = "async";
+      packageName = "async";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
+        sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
+      };
+    };
+    "async-2.6.1" = {
+      name = "async";
+      packageName = "async";
+      version = "2.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.6.1.tgz";
+        sha512 = "fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==";
+      };
+    };
+    "async-each-1.0.1" = {
+      name = "async-each";
+      packageName = "async-each";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz";
+        sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d";
+      };
+    };
+    "async-limiter-1.0.0" = {
+      name = "async-limiter";
+      packageName = "async-limiter";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
+        sha512 = "jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==";
+      };
+    };
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    };
+    "atob-2.1.1" = {
+      name = "atob";
+      packageName = "atob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz";
+        sha1 = "ae2d5a729477f289d60dd7f96a6314a22dd6c22a";
+      };
+    };
+    "autolinker-0.15.3" = {
+      name = "autolinker";
+      packageName = "autolinker";
+      version = "0.15.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/autolinker/-/autolinker-0.15.3.tgz";
+        sha1 = "342417d8f2f3461b14cf09088d5edf8791dc9832";
+      };
+    };
+    "autoprefixer-6.7.7" = {
+      name = "autoprefixer";
+      packageName = "autoprefixer";
+      version = "6.7.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz";
+        sha1 = "1dbd1c835658e35ce3f9984099db00585c782014";
+      };
+    };
+    "aws-sign2-0.6.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
+        sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
+      };
+    };
+    "aws-sign2-0.7.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    };
+    "aws4-1.7.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz";
+        sha512 = "32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==";
+      };
+    };
+    "babel-code-frame-6.26.0" = {
+      name = "babel-code-frame";
+      packageName = "babel-code-frame";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz";
+        sha1 = "63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b";
+      };
+    };
+    "babel-core-6.26.3" = {
+      name = "babel-core";
+      packageName = "babel-core";
+      version = "6.26.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz";
+        sha512 = "6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==";
+      };
+    };
+    "babel-generator-6.26.1" = {
+      name = "babel-generator";
+      packageName = "babel-generator";
+      version = "6.26.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz";
+        sha512 = "HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==";
+      };
+    };
+    "babel-helper-call-delegate-6.24.1" = {
+      name = "babel-helper-call-delegate";
+      packageName = "babel-helper-call-delegate";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz";
+        sha1 = "ece6aacddc76e41c3461f88bfc575bd0daa2df8d";
+      };
+    };
+    "babel-helper-define-map-6.26.0" = {
+      name = "babel-helper-define-map";
+      packageName = "babel-helper-define-map";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz";
+        sha1 = "a5f56dab41a25f97ecb498c7ebaca9819f95be5f";
+      };
+    };
+    "babel-helper-function-name-6.24.1" = {
+      name = "babel-helper-function-name";
+      packageName = "babel-helper-function-name";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz";
+        sha1 = "d3475b8c03ed98242a25b48351ab18399d3580a9";
+      };
+    };
+    "babel-helper-get-function-arity-6.24.1" = {
+      name = "babel-helper-get-function-arity";
+      packageName = "babel-helper-get-function-arity";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz";
+        sha1 = "8f7782aa93407c41d3aa50908f89b031b1b6853d";
+      };
+    };
+    "babel-helper-hoist-variables-6.24.1" = {
+      name = "babel-helper-hoist-variables";
+      packageName = "babel-helper-hoist-variables";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz";
+        sha1 = "1ecb27689c9d25513eadbc9914a73f5408be7a76";
+      };
+    };
+    "babel-helper-optimise-call-expression-6.24.1" = {
+      name = "babel-helper-optimise-call-expression";
+      packageName = "babel-helper-optimise-call-expression";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz";
+        sha1 = "f7a13427ba9f73f8f4fa993c54a97882d1244257";
+      };
+    };
+    "babel-helper-regex-6.26.0" = {
+      name = "babel-helper-regex";
+      packageName = "babel-helper-regex";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz";
+        sha1 = "325c59f902f82f24b74faceed0363954f6495e72";
+      };
+    };
+    "babel-helper-replace-supers-6.24.1" = {
+      name = "babel-helper-replace-supers";
+      packageName = "babel-helper-replace-supers";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz";
+        sha1 = "bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a";
+      };
+    };
+    "babel-helpers-6.24.1" = {
+      name = "babel-helpers";
+      packageName = "babel-helpers";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz";
+        sha1 = "3471de9caec388e5c850e597e58a26ddf37602b2";
+      };
+    };
+    "babel-messages-6.23.0" = {
+      name = "babel-messages";
+      packageName = "babel-messages";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz";
+        sha1 = "f3cdf4703858035b2a2951c6ec5edf6c62f2630e";
+      };
+    };
+    "babel-plugin-check-es2015-constants-6.22.0" = {
+      name = "babel-plugin-check-es2015-constants";
+      packageName = "babel-plugin-check-es2015-constants";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz";
+        sha1 = "35157b101426fd2ffd3da3f75c7d1e91835bbf8a";
+      };
+    };
+    "babel-plugin-transform-es2015-arrow-functions-6.22.0" = {
+      name = "babel-plugin-transform-es2015-arrow-functions";
+      packageName = "babel-plugin-transform-es2015-arrow-functions";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz";
+        sha1 = "452692cb711d5f79dc7f85e440ce41b9f244d221";
+      };
+    };
+    "babel-plugin-transform-es2015-block-scoped-functions-6.22.0" = {
+      name = "babel-plugin-transform-es2015-block-scoped-functions";
+      packageName = "babel-plugin-transform-es2015-block-scoped-functions";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz";
+        sha1 = "bbc51b49f964d70cb8d8e0b94e820246ce3a6141";
+      };
+    };
+    "babel-plugin-transform-es2015-block-scoping-6.26.0" = {
+      name = "babel-plugin-transform-es2015-block-scoping";
+      packageName = "babel-plugin-transform-es2015-block-scoping";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz";
+        sha1 = "d70f5299c1308d05c12f463813b0a09e73b1895f";
+      };
+    };
+    "babel-plugin-transform-es2015-classes-6.24.1" = {
+      name = "babel-plugin-transform-es2015-classes";
+      packageName = "babel-plugin-transform-es2015-classes";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz";
+        sha1 = "5a4c58a50c9c9461e564b4b2a3bfabc97a2584db";
+      };
+    };
+    "babel-plugin-transform-es2015-computed-properties-6.24.1" = {
+      name = "babel-plugin-transform-es2015-computed-properties";
+      packageName = "babel-plugin-transform-es2015-computed-properties";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz";
+        sha1 = "6fe2a8d16895d5634f4cd999b6d3480a308159b3";
+      };
+    };
+    "babel-plugin-transform-es2015-destructuring-6.23.0" = {
+      name = "babel-plugin-transform-es2015-destructuring";
+      packageName = "babel-plugin-transform-es2015-destructuring";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz";
+        sha1 = "997bb1f1ab967f682d2b0876fe358d60e765c56d";
+      };
+    };
+    "babel-plugin-transform-es2015-duplicate-keys-6.24.1" = {
+      name = "babel-plugin-transform-es2015-duplicate-keys";
+      packageName = "babel-plugin-transform-es2015-duplicate-keys";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz";
+        sha1 = "73eb3d310ca969e3ef9ec91c53741a6f1576423e";
+      };
+    };
+    "babel-plugin-transform-es2015-for-of-6.23.0" = {
+      name = "babel-plugin-transform-es2015-for-of";
+      packageName = "babel-plugin-transform-es2015-for-of";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz";
+        sha1 = "f47c95b2b613df1d3ecc2fdb7573623c75248691";
+      };
+    };
+    "babel-plugin-transform-es2015-function-name-6.24.1" = {
+      name = "babel-plugin-transform-es2015-function-name";
+      packageName = "babel-plugin-transform-es2015-function-name";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz";
+        sha1 = "834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b";
+      };
+    };
+    "babel-plugin-transform-es2015-literals-6.22.0" = {
+      name = "babel-plugin-transform-es2015-literals";
+      packageName = "babel-plugin-transform-es2015-literals";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz";
+        sha1 = "4f54a02d6cd66cf915280019a31d31925377ca2e";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-amd-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-amd";
+      packageName = "babel-plugin-transform-es2015-modules-amd";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz";
+        sha1 = "3b3e54017239842d6d19c3011c4bd2f00a00d154";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-commonjs-6.26.2" = {
+      name = "babel-plugin-transform-es2015-modules-commonjs";
+      packageName = "babel-plugin-transform-es2015-modules-commonjs";
+      version = "6.26.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz";
+        sha512 = "CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-systemjs-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-systemjs";
+      packageName = "babel-plugin-transform-es2015-modules-systemjs";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz";
+        sha1 = "ff89a142b9119a906195f5f106ecf305d9407d23";
+      };
+    };
+    "babel-plugin-transform-es2015-modules-umd-6.24.1" = {
+      name = "babel-plugin-transform-es2015-modules-umd";
+      packageName = "babel-plugin-transform-es2015-modules-umd";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz";
+        sha1 = "ac997e6285cd18ed6176adb607d602344ad38468";
+      };
+    };
+    "babel-plugin-transform-es2015-object-super-6.24.1" = {
+      name = "babel-plugin-transform-es2015-object-super";
+      packageName = "babel-plugin-transform-es2015-object-super";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz";
+        sha1 = "24cef69ae21cb83a7f8603dad021f572eb278f8d";
+      };
+    };
+    "babel-plugin-transform-es2015-parameters-6.24.1" = {
+      name = "babel-plugin-transform-es2015-parameters";
+      packageName = "babel-plugin-transform-es2015-parameters";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz";
+        sha1 = "57ac351ab49caf14a97cd13b09f66fdf0a625f2b";
+      };
+    };
+    "babel-plugin-transform-es2015-shorthand-properties-6.24.1" = {
+      name = "babel-plugin-transform-es2015-shorthand-properties";
+      packageName = "babel-plugin-transform-es2015-shorthand-properties";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz";
+        sha1 = "24f875d6721c87661bbd99a4622e51f14de38aa0";
+      };
+    };
+    "babel-plugin-transform-es2015-spread-6.22.0" = {
+      name = "babel-plugin-transform-es2015-spread";
+      packageName = "babel-plugin-transform-es2015-spread";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz";
+        sha1 = "d6d68a99f89aedc4536c81a542e8dd9f1746f8d1";
+      };
+    };
+    "babel-plugin-transform-es2015-sticky-regex-6.24.1" = {
+      name = "babel-plugin-transform-es2015-sticky-regex";
+      packageName = "babel-plugin-transform-es2015-sticky-regex";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz";
+        sha1 = "00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc";
+      };
+    };
+    "babel-plugin-transform-es2015-template-literals-6.22.0" = {
+      name = "babel-plugin-transform-es2015-template-literals";
+      packageName = "babel-plugin-transform-es2015-template-literals";
+      version = "6.22.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz";
+        sha1 = "a84b3450f7e9f8f1f6839d6d687da84bb1236d8d";
+      };
+    };
+    "babel-plugin-transform-es2015-typeof-symbol-6.23.0" = {
+      name = "babel-plugin-transform-es2015-typeof-symbol";
+      packageName = "babel-plugin-transform-es2015-typeof-symbol";
+      version = "6.23.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz";
+        sha1 = "dec09f1cddff94b52ac73d505c84df59dcceb372";
+      };
+    };
+    "babel-plugin-transform-es2015-unicode-regex-6.24.1" = {
+      name = "babel-plugin-transform-es2015-unicode-regex";
+      packageName = "babel-plugin-transform-es2015-unicode-regex";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz";
+        sha1 = "d38b12f42ea7323f729387f18a7c5ae1faeb35e9";
+      };
+    };
+    "babel-plugin-transform-regenerator-6.26.0" = {
+      name = "babel-plugin-transform-regenerator";
+      packageName = "babel-plugin-transform-regenerator";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz";
+        sha1 = "e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f";
+      };
+    };
+    "babel-plugin-transform-strict-mode-6.24.1" = {
+      name = "babel-plugin-transform-strict-mode";
+      packageName = "babel-plugin-transform-strict-mode";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz";
+        sha1 = "d5faf7aa578a65bbe591cf5edae04a0c67020758";
+      };
+    };
+    "babel-polyfill-6.26.0" = {
+      name = "babel-polyfill";
+      packageName = "babel-polyfill";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz";
+        sha1 = "379937abc67d7895970adc621f284cd966cf2153";
+      };
+    };
+    "babel-register-6.26.0" = {
+      name = "babel-register";
+      packageName = "babel-register";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz";
+        sha1 = "6ed021173e2fcb486d7acb45c6009a856f647071";
+      };
+    };
+    "babel-runtime-6.26.0" = {
+      name = "babel-runtime";
+      packageName = "babel-runtime";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
+        sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+      };
+    };
+    "babel-template-6.26.0" = {
+      name = "babel-template";
+      packageName = "babel-template";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz";
+        sha1 = "de03e2d16396b069f46dd9fff8521fb1a0e35e02";
+      };
+    };
+    "babel-traverse-6.26.0" = {
+      name = "babel-traverse";
+      packageName = "babel-traverse";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz";
+        sha1 = "46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee";
+      };
+    };
+    "babel-types-6.26.0" = {
+      name = "babel-types";
+      packageName = "babel-types";
+      version = "6.26.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz";
+        sha1 = "a3b073f94ab49eb6fa55cd65227a334380632497";
+      };
+    };
+    "babylon-6.18.0" = {
+      name = "babylon";
+      packageName = "babylon";
+      version = "6.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz";
+        sha512 = "q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==";
+      };
+    };
+    "backo2-1.0.2" = {
+      name = "backo2";
+      packageName = "backo2";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz";
+        sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947";
+      };
+    };
+    "backoff-2.5.0" = {
+      name = "backoff";
+      packageName = "backoff";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz";
+        sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f";
+      };
+    };
+    "bail-1.0.3" = {
+      name = "bail";
+      packageName = "bail";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bail/-/bail-1.0.3.tgz";
+        sha512 = "1X8CnjFVQ+a+KW36uBNMTU5s8+v5FzeqrP7hTG5aTb4aPreSbZJlhwPon9VKMuEVgV++JM+SQrALY3kr7eswdg==";
+      };
+    };
+    "balanced-match-0.4.2" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
+        sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "base-0.11.2" = {
+      name = "base";
+      packageName = "base";
+      version = "0.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base/-/base-0.11.2.tgz";
+        sha512 = "5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==";
+      };
+    };
+    "base64-arraybuffer-0.1.5" = {
+      name = "base64-arraybuffer";
+      packageName = "base64-arraybuffer";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz";
+        sha1 = "73926771923b5a19747ad666aa5cd4bf9c6e9ce8";
+      };
+    };
+    "base64-js-1.3.0" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz";
+        sha512 = "ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==";
+      };
+    };
+    "base64id-1.0.0" = {
+      name = "base64id";
+      packageName = "base64id";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz";
+        sha1 = "47688cb99bb6804f0e06d3e763b1c32e57d8e6b6";
+      };
+    };
+    "basic-auth-2.0.0" = {
+      name = "basic-auth";
+      packageName = "basic-auth";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.0.tgz";
+        sha1 = "015db3f353e02e56377755f962742e8981e7bbba";
+      };
+    };
+    "bcrypt-pbkdf-1.0.2" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz";
+        sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
+      };
+    };
+    "bcryptjs-2.4.3" = {
+      name = "bcryptjs";
+      packageName = "bcryptjs";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz";
+        sha1 = "9ab5627b93e60621ff7cdac5da9733027df1d0cb";
+      };
+    };
+    "beeper-1.1.1" = {
+      name = "beeper";
+      packageName = "beeper";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz";
+        sha1 = "e6d5ea8c5dad001304a70b22638447f69cb2f809";
+      };
+    };
+    "better-assert-1.0.2" = {
+      name = "better-assert";
+      packageName = "better-assert";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz";
+        sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
+      };
+    };
+    "big-number-0.3.1" = {
+      name = "big-number";
+      packageName = "big-number";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big-number/-/big-number-0.3.1.tgz";
+        sha1 = "ac73020c0a59bb79eb17c2ce2db77f77d974e013";
+      };
+    };
+    "big.js-3.2.0" = {
+      name = "big.js";
+      packageName = "big.js";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz";
+        sha512 = "+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==";
+      };
+    };
+    "bignumber.js-4.1.0" = {
+      name = "bignumber.js";
+      packageName = "bignumber.js";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz";
+        sha512 = "eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==";
+      };
+    };
+    "binary-extensions-1.11.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz";
+        sha1 = "46aa1751fb6a2f93ee5e689bb1087d4b14c6c205";
+      };
+    };
+    "bl-1.2.2" = {
+      name = "bl";
+      packageName = "bl";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz";
+        sha512 = "e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==";
+      };
+    };
+    "blint-1.0.3" = {
+      name = "blint";
+      packageName = "blint";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/blint/-/blint-1.0.3.tgz";
+        sha512 = "6RwH3oJYMujQNd38WWU+jUSRqWfECrmpfL8o3fn3Q3fE9nn5iAktLZJHGEHqeecownbZZwZneTLbaNbIWwU9/A==";
+      };
+    };
+    "blob-0.0.4" = {
+      name = "blob";
+      packageName = "blob";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz";
+        sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921";
+      };
+    };
+    "block-elements-1.2.0" = {
+      name = "block-elements";
+      packageName = "block-elements";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-elements/-/block-elements-1.2.0.tgz";
+        sha1 = "8e04ccab638c7e2596f5065fb6c1c7518c905a5d";
+      };
+    };
+    "block-stream2-1.1.0" = {
+      name = "block-stream2";
+      packageName = "block-stream2";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-stream2/-/block-stream2-1.1.0.tgz";
+        sha1 = "c738e3a91ba977ebb5e1fef431e13ca11d8639e2";
+      };
+    };
+    "bluebird-3.5.1" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz";
+        sha512 = "MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==";
+      };
+    };
+    "body-parser-1.18.2" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.18.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz";
+        sha1 = "87678a19d84b47d859b83199bd59bce222b10454";
+      };
+    };
+    "boolbase-1.0.0" = {
+      name = "boolbase";
+      packageName = "boolbase";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
+        sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
+      };
+    };
+    "boom-2.10.1" = {
+      name = "boom";
+      packageName = "boom";
+      version = "2.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
+        sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
+      };
+    };
+    "boundary-1.0.1" = {
+      name = "boundary";
+      packageName = "boundary";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boundary/-/boundary-1.0.1.tgz";
+        sha1 = "4d67dc2602c0cc16dd9bce7ebf87e948290f5812";
+      };
+    };
+    "brace-expansion-1.1.11" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
+      };
+    };
+    "braces-1.8.5" = {
+      name = "braces";
+      packageName = "braces";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz";
+        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
+      };
+    };
+    "braces-2.3.2" = {
+      name = "braces";
+      packageName = "braces";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz";
+        sha512 = "aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==";
+      };
+    };
+    "browserify-aes-0.4.0" = {
+      name = "browserify-aes";
+      packageName = "browserify-aes";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-0.4.0.tgz";
+        sha1 = "067149b668df31c4b58533e02d01e806d8608e2c";
+      };
+    };
+    "browserify-mime-1.2.9" = {
+      name = "browserify-mime";
+      packageName = "browserify-mime";
+      version = "1.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-mime/-/browserify-mime-1.2.9.tgz";
+        sha1 = "aeb1af28de6c0d7a6a2ce40adb68ff18422af31f";
+      };
+    };
+    "browserify-zlib-0.1.4" = {
+      name = "browserify-zlib";
+      packageName = "browserify-zlib";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
+        sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
+      };
+    };
+    "browserslist-1.7.7" = {
+      name = "browserslist";
+      packageName = "browserslist";
+      version = "1.7.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz";
+        sha1 = "0bd76704258be829b2398bb50e4b62d1a166b0b9";
+      };
+    };
+    "buble-0.15.2" = {
+      name = "buble";
+      packageName = "buble";
+      version = "0.15.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buble/-/buble-0.15.2.tgz";
+        sha1 = "547fc47483f8e5e8176d82aa5ebccb183b02d613";
+      };
+    };
+    "buffer-4.9.1" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "4.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz";
+        sha1 = "6d1bb601b07a4efced97094132093027c95bc298";
+      };
+    };
+    "buffer-5.2.0" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-5.2.0.tgz";
+        sha512 = "nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==";
+      };
+    };
+    "buffer-alloc-1.2.0" = {
+      name = "buffer-alloc";
+      packageName = "buffer-alloc";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz";
+        sha512 = "CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==";
+      };
+    };
+    "buffer-alloc-unsafe-1.1.0" = {
+      name = "buffer-alloc-unsafe";
+      packageName = "buffer-alloc-unsafe";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz";
+        sha512 = "TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==";
+      };
+    };
+    "buffer-crc32-0.2.13" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
+        sha1 = "0d333e3f00eac50aa1454abd30ef8c2a5d9a7242";
+      };
+    };
+    "buffer-fill-1.0.0" = {
+      name = "buffer-fill";
+      packageName = "buffer-fill";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz";
+        sha1 = "f8f78b76789888ef39f205cd637f68e702122b2c";
+      };
+    };
+    "buffer-from-1.1.1" = {
+      name = "buffer-from";
+      packageName = "buffer-from";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz";
+        sha512 = "MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==";
+      };
+    };
+    "buffer-writer-1.0.1" = {
+      name = "buffer-writer";
+      packageName = "buffer-writer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.1.tgz";
+        sha1 = "22a936901e3029afcd7547eb4487ceb697a3bf08";
+      };
+    };
+    "builtin-modules-1.1.1" = {
+      name = "builtin-modules";
+      packageName = "builtin-modules";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
+        sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
+      };
+    };
+    "builtin-status-codes-3.0.0" = {
+      name = "builtin-status-codes";
+      packageName = "builtin-status-codes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz";
+        sha1 = "85982878e21b98e1c66425e03d0174788f569ee8";
+      };
+    };
+    "bunyan-1.8.12" = {
+      name = "bunyan";
+      packageName = "bunyan";
+      version = "1.8.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz";
+        sha1 = "f150f0f6748abdd72aeae84f04403be2ef113797";
+      };
+    };
+    "bytes-3.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz";
+        sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
+      };
+    };
+    "cacache-10.0.4" = {
+      name = "cacache";
+      packageName = "cacache";
+      version = "10.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz";
+        sha512 = "Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==";
+      };
+    };
+    "cache-base-1.0.1" = {
+      name = "cache-base";
+      packageName = "cache-base";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz";
+        sha512 = "AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==";
+      };
+    };
+    "caller-path-0.1.0" = {
+      name = "caller-path";
+      packageName = "caller-path";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz";
+        sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f";
+      };
+    };
+    "callsite-1.0.0" = {
+      name = "callsite";
+      packageName = "callsite";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
+        sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
+      };
+    };
+    "callsites-0.2.0" = {
+      name = "callsites";
+      packageName = "callsites";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz";
+        sha1 = "afab96262910a7f33c19a5775825c69f34e350ca";
+      };
+    };
+    "camel-case-3.0.0" = {
+      name = "camel-case";
+      packageName = "camel-case";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz";
+        sha1 = "ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73";
+      };
+    };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "camelcase-4.1.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
+      };
+    };
+    "camelize-1.0.0" = {
+      name = "camelize";
+      packageName = "camelize";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz";
+        sha1 = "164a5483e630fa4321e5af07020e531831b2609b";
+      };
+    };
+    "caniuse-api-1.6.1" = {
+      name = "caniuse-api";
+      packageName = "caniuse-api";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz";
+        sha1 = "b534e7c734c4f81ec5fbe8aca2ad24354b962c6c";
+      };
+    };
+    "caniuse-db-1.0.30000874" = {
+      name = "caniuse-db";
+      packageName = "caniuse-db";
+      version = "1.0.30000874";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000874.tgz";
+        sha1 = "49edc0262efdc6c49d4d962bb16d1f0c790fa44e";
+      };
+    };
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    };
+    "ccount-1.0.3" = {
+      name = "ccount";
+      packageName = "ccount";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ccount/-/ccount-1.0.3.tgz";
+        sha512 = "Jt9tIBkRc9POUof7QA/VwWd+58fKkEEfI+/t1/eOlxKM7ZhrczNzMFefge7Ai+39y1pR/pP6cI19guHy3FSLmw==";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "chalk-0.4.0" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz";
+        sha1 = "5199a3ddcd0c1efe23bc08c1b027b06176e0c64f";
+      };
+    };
+    "chalk-1.1.3" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+      };
+    };
+    "chalk-2.4.1" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz";
+        sha512 = "ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==";
+      };
+    };
+    "character-entities-1.2.2" = {
+      name = "character-entities";
+      packageName = "character-entities";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-entities/-/character-entities-1.2.2.tgz";
+        sha512 = "sMoHX6/nBiy3KKfC78dnEalnpn0Az0oSNvqUWYTtYrhRI5iUIYsROU48G+E+kMFQzqXaJ8kHJZ85n7y6/PHgwQ==";
+      };
+    };
+    "character-entities-html4-1.1.2" = {
+      name = "character-entities-html4";
+      packageName = "character-entities-html4";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.2.tgz";
+        sha512 = "sIrXwyna2+5b0eB9W149izTPJk/KkJTg6mEzDGibwBUkyH1SbDa+nf515Ppdi3MaH35lW0JFJDWeq9Luzes1Iw==";
+      };
+    };
+    "character-entities-legacy-1.1.2" = {
+      name = "character-entities-legacy";
+      packageName = "character-entities-legacy";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.2.tgz";
+        sha512 = "9NB2VbXtXYWdXzqrvAHykE/f0QJxzaKIpZ5QzNZrrgQ7Iyxr2vnfS8fCBNVW9nUEZE0lo57nxKRqnzY/dKrwlA==";
+      };
+    };
+    "character-reference-invalid-1.1.2" = {
+      name = "character-reference-invalid";
+      packageName = "character-reference-invalid";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz";
+        sha512 = "7I/xceXfKyUJmSAn/jw8ve/9DyOP7XxufNYLI9Px7CmsKgEUaZLUTax6nZxGQtaoiZCjpu6cHPj20xC/vqRReQ==";
+      };
+    };
+    "chokidar-1.7.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz";
+        sha1 = "798e689778151c8076b4b360e5edd28cda2bb468";
+      };
+    };
+    "chownr-1.0.1" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz";
+        sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181";
+      };
+    };
+    "circular-json-0.3.3" = {
+      name = "circular-json";
+      packageName = "circular-json";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz";
+        sha512 = "UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==";
+      };
+    };
+    "clap-1.2.3" = {
+      name = "clap";
+      packageName = "clap";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz";
+        sha512 = "4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==";
+      };
+    };
+    "class-utils-0.3.6" = {
+      name = "class-utils";
+      packageName = "class-utils";
+      version = "0.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz";
+        sha512 = "qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==";
+      };
+    };
+    "clean-css-4.1.11" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "4.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-4.1.11.tgz";
+        sha1 = "2ecdf145aba38f54740f26cefd0ff3e03e125d6a";
+      };
+    };
+    "cli-1.0.1" = {
+      name = "cli";
+      packageName = "cli";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz";
+        sha1 = "22817534f24bfa4950c34d532d48ecbc621b8c14";
+      };
+    };
+    "cli-color-1.2.0" = {
+      name = "cli-color";
+      packageName = "cli-color";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz";
+        sha1 = "3a5ae74fd76b6267af666e69e2afbbd01def34d1";
+      };
+    };
+    "cli-cursor-1.0.2" = {
+      name = "cli-cursor";
+      packageName = "cli-cursor";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz";
+        sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987";
+      };
+    };
+    "cli-width-2.2.0" = {
+      name = "cli-width";
+      packageName = "cli-width";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz";
+        sha1 = "ff19ede8a9a5e579324147b0c11f0fbcbabed639";
+      };
+    };
+    "clipboard-2.0.1" = {
+      name = "clipboard";
+      packageName = "clipboard";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clipboard/-/clipboard-2.0.1.tgz";
+        sha512 = "7yhQBmtN+uYZmfRjjVjKa0dZdWuabzpSKGtyQZN+9C8xlC788SSJjOHWh7tzurfwTqTD5UDYAhIv5fRJg3sHjQ==";
+      };
+    };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "cliui-3.2.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
+        sha1 = "120601537a916d29940f934da3b48d585a39213d";
+      };
+    };
+    "clone-0.2.0" = {
+      name = "clone";
+      packageName = "clone";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz";
+        sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f";
+      };
+    };
+    "clone-1.0.4" = {
+      name = "clone";
+      packageName = "clone";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz";
+        sha1 = "da309cc263df15994c688ca902179ca3c7cd7c7e";
+      };
+    };
+    "clone-stats-0.0.1" = {
+      name = "clone-stats";
+      packageName = "clone-stats";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz";
+        sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1";
+      };
+    };
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    };
+    "coa-1.0.4" = {
+      name = "coa";
+      packageName = "coa";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz";
+        sha1 = "a9ef153660d6a86a8bdec0289a5c684d217432fd";
+      };
+    };
+    "code-point-at-1.1.0" = {
+      name = "code-point-at";
+      packageName = "code-point-at";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz";
+        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+      };
+    };
+    "collapse-white-space-1.0.4" = {
+      name = "collapse-white-space";
+      packageName = "collapse-white-space";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.4.tgz";
+        sha512 = "YfQ1tAUZm561vpYD+5eyWN8+UsceQbSrqqlc/6zDY2gtAE+uZLSdkkovhnGpmCThsvKBFakq4EdY/FF93E8XIw==";
+      };
+    };
+    "collapse-whitespace-1.1.2" = {
+      name = "collapse-whitespace";
+      packageName = "collapse-whitespace";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/collapse-whitespace/-/collapse-whitespace-1.1.2.tgz";
+        sha1 = "b9b31d79d5594ee3c22c15819c54828e565b3085";
+      };
+    };
+    "collection-visit-1.0.0" = {
+      name = "collection-visit";
+      packageName = "collection-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz";
+        sha1 = "4bc0373c164bc3291b4d368c829cf1a80a59dca0";
+      };
+    };
+    "color-0.11.4" = {
+      name = "color";
+      packageName = "color";
+      version = "0.11.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color/-/color-0.11.4.tgz";
+        sha1 = "6d7b5c74fb65e841cd48792ad1ed5e07b904d764";
+      };
+    };
+    "color-convert-1.9.2" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.2.tgz";
+        sha512 = "3NUJZdhMhcdPn8vJ9v2UQJoH0qqoGUkYTgFEPZaPjEtwmmKUfNV46zZmgB2M5M4DCEQHMaCfWHCxiBflLm04Tg==";
+      };
+    };
+    "color-name-1.1.1" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz";
+        sha1 = "4b1415304cf50028ea81643643bd82ea05803689";
+      };
+    };
+    "color-string-0.3.0" = {
+      name = "color-string";
+      packageName = "color-string";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz";
+        sha1 = "27d46fb67025c5c2fa25993bfbf579e47841b991";
+      };
+    };
+    "color-support-1.1.3" = {
+      name = "color-support";
+      packageName = "color-support";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz";
+        sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
+      };
+    };
+    "colormin-1.1.2" = {
+      name = "colormin";
+      packageName = "colormin";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz";
+        sha1 = "ea2f7420a72b96881a38aae59ec124a6f7298133";
+      };
+    };
+    "colors-1.0.3" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz";
+        sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
+      };
+    };
+    "colors-1.1.2" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
+        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
+      };
+    };
+    "combined-stream-1.0.6" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz";
+        sha1 = "723e7df6e801ac5613113a7e445a9b69cb632818";
+      };
+    };
+    "commander-2.14.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.14.1.tgz";
+        sha512 = "+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==";
+      };
+    };
+    "commander-2.16.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.16.0.tgz";
+        sha512 = "sVXqklSaotK9at437sFlFpyOcJonxe0yST/AG9DkQKUdIE6IqGIMv4SfAQSKaJbSdVEJYItASCrBiVQHq1HQew==";
+      };
+    };
+    "commondir-1.0.1" = {
+      name = "commondir";
+      packageName = "commondir";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz";
+        sha1 = "ddd800da0c66127393cca5950ea968a3aaf1253b";
+      };
+    };
+    "component-bind-1.0.0" = {
+      name = "component-bind";
+      packageName = "component-bind";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz";
+        sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
+      };
+    };
+    "component-emitter-1.2.1" = {
+      name = "component-emitter";
+      packageName = "component-emitter";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz";
+        sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6";
+      };
+    };
+    "component-inherit-0.0.3" = {
+      name = "component-inherit";
+      packageName = "component-inherit";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz";
+        sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
+      };
+    };
+    "compress-commons-1.2.2" = {
+      name = "compress-commons";
+      packageName = "compress-commons";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz";
+        sha1 = "524a9f10903f3a813389b0225d27c48bb751890f";
+      };
+    };
+    "compressible-2.0.14" = {
+      name = "compressible";
+      packageName = "compressible";
+      version = "2.0.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz";
+        sha1 = "326c5f507fbb055f54116782b969a81b67a29da7";
+      };
+    };
+    "concat-map-0.0.1" = {
+      name = "concat-map";
+      packageName = "concat-map";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+      };
+    };
+    "concat-stream-1.6.2" = {
+      name = "concat-stream";
+      packageName = "concat-stream";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz";
+        sha512 = "27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==";
+      };
+    };
+    "config-chain-1.1.11" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
+        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
+      };
+    };
+    "console-browserify-1.1.0" = {
+      name = "console-browserify";
+      packageName = "console-browserify";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
+        sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+      };
+    };
+    "console-control-strings-1.1.0" = {
+      name = "console-control-strings";
+      packageName = "console-control-strings";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    };
+    "constants-browserify-1.0.0" = {
+      name = "constants-browserify";
+      packageName = "constants-browserify";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
+        sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
+      };
+    };
+    "content-disposition-0.5.2" = {
+      name = "content-disposition";
+      packageName = "content-disposition";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz";
+        sha1 = "0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4";
+      };
+    };
+    "content-security-policy-builder-2.0.0" = {
+      name = "content-security-policy-builder";
+      packageName = "content-security-policy-builder";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.0.0.tgz";
+        sha512 = "j+Nhmj1yfZAikJLImCvPJFE29x/UuBi+/MWqggGGc515JKaZrjuei2RhULJmy0MsstW3E3htl002bwmBNMKr7w==";
+      };
+    };
+    "content-type-1.0.4" = {
+      name = "content-type";
+      packageName = "content-type";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz";
+        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
+      };
+    };
+    "content-type-parser-1.0.2" = {
+      name = "content-type-parser";
+      packageName = "content-type-parser";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.2.tgz";
+        sha512 = "lM4l4CnMEwOLHAHr/P6MEZwZFPJFtAAKgL6pogbXmVZggIqXhdB6RbBtPOTsw2FcXwYhehRGERJmRrjOiIB8pQ==";
+      };
+    };
+    "convert-source-map-1.5.1" = {
+      name = "convert-source-map";
+      packageName = "convert-source-map";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz";
+        sha1 = "b8278097b9bc229365de5c62cf5fcaed8b5599e5";
+      };
+    };
+    "cookie-0.3.1" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz";
+        sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
+      };
+    };
+    "cookie-signature-1.0.6" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
+        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+      };
+    };
+    "cookiejar-2.0.6" = {
+      name = "cookiejar";
+      packageName = "cookiejar";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookiejar/-/cookiejar-2.0.6.tgz";
+        sha1 = "0abf356ad00d1c5a219d88d44518046dd026acfe";
+      };
+    };
+    "copy-concurrently-1.0.5" = {
+      name = "copy-concurrently";
+      packageName = "copy-concurrently";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
+        sha512 = "f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==";
+      };
+    };
+    "copy-descriptor-0.1.1" = {
+      name = "copy-descriptor";
+      packageName = "copy-descriptor";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz";
+        sha1 = "676f6eb3c39997c2ee1ac3a924fd6124748f578d";
+      };
+    };
+    "core-js-2.5.7" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "2.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz";
+        sha512 = "RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    };
+    "crc-3.4.4" = {
+      name = "crc";
+      packageName = "crc";
+      version = "3.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz";
+        sha1 = "9da1e980e3bd44fc5c93bf5ab3da3378d85e466b";
+      };
+    };
+    "crc-3.8.0" = {
+      name = "crc";
+      packageName = "crc";
+      version = "3.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz";
+        sha512 = "iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==";
+      };
+    };
+    "crc32-stream-2.0.0" = {
+      name = "crc32-stream";
+      packageName = "crc32-stream";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz";
+        sha1 = "e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4";
+      };
+    };
+    "cross-spawn-5.1.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
+        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
+      };
+    };
+    "cryptiles-2.0.5" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
+        sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
+      };
+    };
+    "crypto-browserify-3.3.0" = {
+      name = "crypto-browserify";
+      packageName = "crypto-browserify";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.3.0.tgz";
+        sha1 = "b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c";
+      };
+    };
+    "csextends-1.2.0" = {
+      name = "csextends";
+      packageName = "csextends";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csextends/-/csextends-1.2.0.tgz";
+        sha512 = "S/8k1bDTJIwuGgQYmsRoE+8P+ohV32WhQ0l4zqrc0XDdxOhjQQD7/wTZwCzoZX53jSX3V/qwjT+OkPTxWQcmjg==";
+      };
+    };
+    "css-color-names-0.0.4" = {
+      name = "css-color-names";
+      packageName = "css-color-names";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz";
+        sha1 = "808adc2e79cf84738069b646cb20ec27beb629e0";
+      };
+    };
+    "css-select-1.2.0" = {
+      name = "css-select";
+      packageName = "css-select";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz";
+        sha1 = "2b3a110539c5355f1cd8d314623e870b121ec858";
+      };
+    };
+    "css-selector-tokenizer-0.7.0" = {
+      name = "css-selector-tokenizer";
+      packageName = "css-selector-tokenizer";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz";
+        sha1 = "e6988474ae8c953477bf5e7efecfceccd9cf4c86";
+      };
+    };
+    "css-what-2.1.0" = {
+      name = "css-what";
+      packageName = "css-what";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz";
+        sha1 = "9467d032c38cfaefb9f2d79501253062f87fa1bd";
+      };
+    };
+    "cssesc-0.1.0" = {
+      name = "cssesc";
+      packageName = "cssesc";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz";
+        sha1 = "c814903e45623371a0477b40109aaafbeeaddbb4";
+      };
+    };
+    "cssfilter-0.0.10" = {
+      name = "cssfilter";
+      packageName = "cssfilter";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz";
+        sha1 = "c6d2672632a2e5c83e013e6864a42ce8defd20ae";
+      };
+    };
+    "cssnano-3.10.0" = {
+      name = "cssnano";
+      packageName = "cssnano";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz";
+        sha1 = "4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38";
+      };
+    };
+    "csso-2.3.2" = {
+      name = "csso";
+      packageName = "csso";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz";
+        sha1 = "ddd52c587033f49e94b71fc55569f252e8ff5f85";
+      };
+    };
+    "cssom-0.2.5" = {
+      name = "cssom";
+      packageName = "cssom";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.2.5.tgz";
+        sha1 = "2682709b5902e7212df529116ff788cd5b254894";
+      };
+    };
+    "cssom-0.3.4" = {
+      name = "cssom";
+      packageName = "cssom";
+      version = "0.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.4.tgz";
+        sha512 = "+7prCSORpXNeR4/fUP3rL+TzqtiFfhMvTd7uEqMdgPvLPt4+uzFUeufx5RHjGTACCargg/DiEt/moMQmvnfkog==";
+      };
+    };
+    "cssstyle-0.2.37" = {
+      name = "cssstyle";
+      packageName = "cssstyle";
+      version = "0.2.37";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz";
+        sha1 = "541097234cb2513c83ceed3acddc27ff27987d54";
+      };
+    };
+    "cycle-1.0.3" = {
+      name = "cycle";
+      packageName = "cycle";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+        sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
+      };
+    };
+    "cyclist-0.2.2" = {
+      name = "cyclist";
+      packageName = "cyclist";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz";
+        sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640";
+      };
+    };
+    "d-1.0.0" = {
+      name = "d";
+      packageName = "d";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d/-/d-1.0.0.tgz";
+        sha1 = "754bb5bfe55451da69a58b94d45f4c5b0462d58f";
+      };
+    };
+    "d3-3.5.17" = {
+      name = "d3";
+      packageName = "d3";
+      version = "3.5.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz";
+        sha1 = "bc46748004378b21a360c9fc7cf5231790762fb8";
+      };
+    };
+    "dagre-d3-renderer-0.4.26" = {
+      name = "dagre-d3-renderer";
+      packageName = "dagre-d3-renderer";
+      version = "0.4.26";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dagre-d3-renderer/-/dagre-d3-renderer-0.4.26.tgz";
+        sha512 = "vOWj1uA4/APTrfDyfHaH/xpfXhPh9rszW+HOaEwPCeA6Afl06Lobfh7OpESuVMQW2QGuY4UQ7pte/p0WhdDs7w==";
+      };
+    };
+    "dagre-layout-0.8.8" = {
+      name = "dagre-layout";
+      packageName = "dagre-layout";
+      version = "0.8.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dagre-layout/-/dagre-layout-0.8.8.tgz";
+        sha512 = "ZNV15T9za7X+fV8Z07IZquUKugCxm5owoiPPxfEx6OJRD331nkiIaF3vSt0JEY5FkrY0KfRQxcpQ3SpXB7pLPQ==";
+      };
+    };
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    };
+    "dasherize-2.0.0" = {
+      name = "dasherize";
+      packageName = "dasherize";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz";
+        sha1 = "6d809c9cd0cf7bb8952d80fc84fa13d47ddb1308";
+      };
+    };
+    "date-now-0.1.4" = {
+      name = "date-now";
+      packageName = "date-now";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
+        sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+      };
+    };
+    "dateformat-2.2.0" = {
+      name = "dateformat";
+      packageName = "dateformat";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz";
+        sha1 = "4065e2013cf9fb916ddfd82efb506ad4c6769062";
+      };
+    };
+    "debug-2.6.9" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
+      };
+    };
+    "debug-3.1.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+        sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
+      };
+    };
+    "debug-log-1.0.1" = {
+      name = "debug-log";
+      packageName = "debug-log";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz";
+        sha1 = "2307632d4c04382b8df8a32f70b895046d52745f";
+      };
+    };
+    "decamelize-1.2.0" = {
+      name = "decamelize";
+      packageName = "decamelize";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
+        sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
+      };
+    };
+    "decode-uri-component-0.2.0" = {
+      name = "decode-uri-component";
+      packageName = "decode-uri-component";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
+        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
+      };
+    };
+    "deep-equal-1.0.1" = {
+      name = "deep-equal";
+      packageName = "deep-equal";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
+        sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
+      };
+    };
+    "deep-extend-0.6.0" = {
+      name = "deep-extend";
+      packageName = "deep-extend";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
+      };
+    };
+    "deep-is-0.1.3" = {
+      name = "deep-is";
+      packageName = "deep-is";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+        sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+      };
+    };
+    "defaults-1.0.3" = {
+      name = "defaults";
+      packageName = "defaults";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz";
+        sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
+      };
+    };
+    "define-properties-1.1.2" = {
+      name = "define-properties";
+      packageName = "define-properties";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz";
+        sha1 = "83a73f2fea569898fb737193c8f873caf6d45c94";
+      };
+    };
+    "define-property-0.2.5" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz";
+        sha1 = "c35b1ef918ec3c990f9a5bc57be04aacec5c8116";
+      };
+    };
+    "define-property-1.0.0" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz";
+        sha1 = "769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6";
+      };
+    };
+    "define-property-2.0.2" = {
+      name = "define-property";
+      packageName = "define-property";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz";
+        sha512 = "jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==";
+      };
+    };
+    "defined-1.0.0" = {
+      name = "defined";
+      packageName = "defined";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz";
+        sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
+      };
+    };
+    "deglob-2.1.1" = {
+      name = "deglob";
+      packageName = "deglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deglob/-/deglob-2.1.1.tgz";
+        sha512 = "2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw==";
+      };
+    };
+    "del-2.2.2" = {
+      name = "del";
+      packageName = "del";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/del/-/del-2.2.2.tgz";
+        sha1 = "c12c981d067846c84bcaf862cff930d907ffd1a8";
+      };
+    };
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    };
+    "delegate-3.2.0" = {
+      name = "delegate";
+      packageName = "delegate";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz";
+        sha512 = "IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==";
+      };
+    };
+    "delegates-1.0.0" = {
+      name = "delegates";
+      packageName = "delegates";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    };
+    "depd-1.1.1" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz";
+        sha1 = "5783b4e1c459f06fa5ca27f991f3d06e7a310359";
+      };
+    };
+    "depd-1.1.2" = {
+      name = "depd";
+      packageName = "depd";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz";
+        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+      };
+    };
+    "deprecated-0.0.1" = {
+      name = "deprecated";
+      packageName = "deprecated";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz";
+        sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19";
+      };
+    };
+    "destroy-1.0.4" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
+        sha1 = "978857442c44749e4206613e37946205826abd80";
+      };
+    };
+    "detect-file-0.1.0" = {
+      name = "detect-file";
+      packageName = "detect-file";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz";
+        sha1 = "4935dedfd9488648e006b0129566e9386711ea63";
+      };
+    };
+    "detect-file-1.0.0" = {
+      name = "detect-file";
+      packageName = "detect-file";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz";
+        sha1 = "f0d66d03672a825cb1b73bdb3fe62310c8e552b7";
+      };
+    };
+    "detect-indent-4.0.0" = {
+      name = "detect-indent";
+      packageName = "detect-indent";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz";
+        sha1 = "f76d064352cdf43a1cb6ce619c4ee3a9475de208";
+      };
+    };
+    "detect-libc-1.0.3" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz";
+        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+      };
+    };
+    "dir-glob-2.0.0" = {
+      name = "dir-glob";
+      packageName = "dir-glob";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz";
+        sha512 = "37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==";
+      };
+    };
+    "dns-lookup-all-1.0.2" = {
+      name = "dns-lookup-all";
+      packageName = "dns-lookup-all";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-lookup-all/-/dns-lookup-all-1.0.2.tgz";
+        sha1 = "4d8b2b1af69c83a7b262eb5de92485b7b3a215eb";
+      };
+    };
+    "dns-prefetch-control-0.1.0" = {
+      name = "dns-prefetch-control";
+      packageName = "dns-prefetch-control";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz";
+        sha1 = "60ddb457774e178f1f9415f0cabb0e85b0b300b2";
+      };
+    };
+    "doctrine-1.5.0" = {
+      name = "doctrine";
+      packageName = "doctrine";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz";
+        sha1 = "379dce730f6166f76cefa4e6707a159b02c5a6fa";
+      };
+    };
+    "doctrine-2.1.0" = {
+      name = "doctrine";
+      packageName = "doctrine";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz";
+        sha512 = "35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==";
+      };
+    };
+    "dom-converter-0.1.4" = {
+      name = "dom-converter";
+      packageName = "dom-converter";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz";
+        sha1 = "a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b";
+      };
+    };
+    "dom-serializer-0.1.0" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
+        sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+      };
+    };
+    "domain-browser-1.2.0" = {
+      name = "domain-browser";
+      packageName = "domain-browser";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz";
+        sha512 = "jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==";
+      };
+    };
+    "domelementtype-1.1.3" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
+        sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+      };
+    };
+    "domelementtype-1.3.0" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
+        sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+      };
+    };
+    "domhandler-2.1.0" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz";
+        sha1 = "d2646f5e57f6c3bab11cf6cb05d3c0acf7412594";
+      };
+    };
+    "domhandler-2.3.0" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
+        sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+      };
+    };
+    "domhandler-2.4.2" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz";
+        sha512 = "JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==";
+      };
+    };
+    "domutils-1.1.6" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz";
+        sha1 = "bddc3de099b9a2efacc51c623f28f416ecc57485";
+      };
+    };
+    "domutils-1.5.1" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
+        sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+      };
+    };
+    "domutils-1.7.0" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz";
+        sha512 = "Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==";
+      };
+    };
+    "dont-sniff-mimetype-1.0.0" = {
+      name = "dont-sniff-mimetype";
+      packageName = "dont-sniff-mimetype";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz";
+        sha1 = "5932890dc9f4e2f19e5eb02a20026e5e5efc8f58";
+      };
+    };
+    "dottie-1.1.1" = {
+      name = "dottie";
+      packageName = "dottie";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dottie/-/dottie-1.1.1.tgz";
+        sha1 = "45c2a3f48bd6528eeed267a69a848eaaca6faa6a";
+      };
+    };
+    "dtrace-provider-0.8.7" = {
+      name = "dtrace-provider";
+      packageName = "dtrace-provider";
+      version = "0.8.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.7.tgz";
+        sha1 = "dc939b4d3e0620cfe0c1cd803d0d2d7ed04ffd04";
+      };
+    };
+    "duplexer-0.1.1" = {
+      name = "duplexer";
+      packageName = "duplexer";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+        sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
+      };
+    };
+    "duplexer2-0.0.2" = {
+      name = "duplexer2";
+      packageName = "duplexer2";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz";
+        sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db";
+      };
+    };
+    "duplexify-3.6.0" = {
+      name = "duplexify";
+      packageName = "duplexify";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz";
+        sha512 = "fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==";
+      };
+    };
+    "eachr-2.0.4" = {
+      name = "eachr";
+      packageName = "eachr";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eachr/-/eachr-2.0.4.tgz";
+        sha1 = "466f7caa10708f610509e32c807aafe57fc122bf";
+      };
+    };
+    "ecc-jsbn-0.1.2" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz";
+        sha1 = "3a83a904e54353287874c564b7549386849a98c9";
+      };
+    };
+    "editions-1.3.4" = {
+      name = "editions";
+      packageName = "editions";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/editions/-/editions-1.3.4.tgz";
+        sha512 = "gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==";
+      };
+    };
+    "editorconfig-0.13.3" = {
+      name = "editorconfig";
+      packageName = "editorconfig";
+      version = "0.13.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.3.tgz";
+        sha512 = "WkjsUNVCu+ITKDj73QDvi0trvpdDWdkDyHybDGSXPfekLCqwmpD7CP7iPbvBgosNuLcI96XTDwNa75JyFl7tEQ==";
+      };
+    };
+    "ee-first-1.1.1" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
+        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+      };
+    };
+    "ejs-2.6.1" = {
+      name = "ejs";
+      packageName = "ejs";
+      version = "2.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz";
+        sha512 = "0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==";
+      };
+    };
+    "electron-to-chromium-1.3.55" = {
+      name = "electron-to-chromium";
+      packageName = "electron-to-chromium";
+      version = "1.3.55";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.55.tgz";
+        sha1 = "f150e10b20b77d9d41afcca312efe0c3b1a7fdce";
+      };
+    };
+    "emoji-regex-6.1.3" = {
+      name = "emoji-regex";
+      packageName = "emoji-regex";
+      version = "6.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.3.tgz";
+        sha1 = "ec79a3969b02d2ecf2b72254279bf99bc7a83932";
+      };
+    };
+    "emojis-list-2.1.0" = {
+      name = "emojis-list";
+      packageName = "emojis-list";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz";
+        sha1 = "4daa4d9db00f9819880c79fa457ae5b09a1fd389";
+      };
+    };
+    "encodeurl-1.0.2" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz";
+        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+      };
+    };
+    "end-of-stream-0.1.5" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz";
+        sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf";
+      };
+    };
+    "end-of-stream-1.4.1" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz";
+        sha512 = "1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==";
+      };
+    };
+    "engine.io-3.1.5" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "3.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-3.1.5.tgz";
+        sha512 = "D06ivJkYxyRrcEe0bTpNnBQNgP9d3xog+qZlLbui8EsMr/DouQpf5o9FzJnWYHEYE0YsFHllUv2R1dkgYZXHcA==";
+      };
+    };
+    "engine.io-client-3.1.6" = {
+      name = "engine.io-client";
+      packageName = "engine.io-client";
+      version = "3.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.6.tgz";
+        sha512 = "hnuHsFluXnsKOndS4Hv6SvUrgdYx1pk2NqfaDMW+GWdgfU3+/V25Cj7I8a0x92idSpa5PIhJRKxPvp9mnoLsfg==";
+      };
+    };
+    "engine.io-parser-2.1.2" = {
+      name = "engine.io-parser";
+      packageName = "engine.io-parser";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz";
+        sha512 = "dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==";
+      };
+    };
+    "enhanced-resolve-0.9.1" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz";
+        sha1 = "4d6e689b3725f86090927ccc86cd9f1635b89e2e";
+      };
+    };
+    "entities-1.0.0" = {
+      name = "entities";
+      packageName = "entities";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
+        sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
+      };
+    };
+    "entities-1.1.1" = {
+      name = "entities";
+      packageName = "entities";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
+        sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+      };
+    };
+    "errno-0.1.7" = {
+      name = "errno";
+      packageName = "errno";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz";
+        sha512 = "MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==";
+      };
+    };
+    "error-ex-1.3.2" = {
+      name = "error-ex";
+      packageName = "error-ex";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz";
+        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
+      };
+    };
+    "es-abstract-1.12.0" = {
+      name = "es-abstract";
+      packageName = "es-abstract";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz";
+        sha512 = "C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==";
+      };
+    };
+    "es-to-primitive-1.1.1" = {
+      name = "es-to-primitive";
+      packageName = "es-to-primitive";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz";
+        sha1 = "45355248a88979034b6792e19bb81f2b7975dd0d";
+      };
+    };
+    "es5-ext-0.10.45" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.45";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz";
+        sha512 = "FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==";
+      };
+    };
+    "es6-error-2.1.1" = {
+      name = "es6-error";
+      packageName = "es6-error";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-error/-/es6-error-2.1.1.tgz";
+        sha1 = "91384301ec5ed1c9a7247d1128247216f03547cd";
+      };
+    };
+    "es6-iterator-2.0.3" = {
+      name = "es6-iterator";
+      packageName = "es6-iterator";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    };
+    "es6-map-0.1.5" = {
+      name = "es6-map";
+      packageName = "es6-map";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz";
+        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
+      };
+    };
+    "es6-promise-4.2.4" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz";
+        sha512 = "/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==";
+      };
+    };
+    "es6-set-0.1.5" = {
+      name = "es6-set";
+      packageName = "es6-set";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz";
+        sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
+      };
+    };
+    "es6-symbol-3.1.1" = {
+      name = "es6-symbol";
+      packageName = "es6-symbol";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz";
+        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
+      };
+    };
+    "es6-weak-map-2.0.2" = {
+      name = "es6-weak-map";
+      packageName = "es6-weak-map";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz";
+        sha1 = "5e3ab32251ffd1538a1f8e5ffa1357772f92d96f";
+      };
+    };
+    "escape-html-1.0.3" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
+        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+      };
+    };
+    "escape-string-regexp-1.0.5" = {
+      name = "escape-string-regexp";
+      packageName = "escape-string-regexp";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+      };
+    };
+    "escodegen-1.11.0" = {
+      name = "escodegen";
+      packageName = "escodegen";
+      version = "1.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz";
+        sha512 = "IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==";
+      };
+    };
+    "escope-3.6.0" = {
+      name = "escope";
+      packageName = "escope";
+      version = "3.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz";
+        sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
+      };
+    };
+    "eslint-3.18.0" = {
+      name = "eslint";
+      packageName = "eslint";
+      version = "3.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint/-/eslint-3.18.0.tgz";
+        sha1 = "647e985c4ae71502d20ac62c109f66d5104c8a4b";
+      };
+    };
+    "eslint-config-standard-7.1.0" = {
+      name = "eslint-config-standard";
+      packageName = "eslint-config-standard";
+      version = "7.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-7.1.0.tgz";
+        sha1 = "47e769ea0739f5b2d5693b1a501c21c9650fafcf";
+      };
+    };
+    "eslint-config-standard-jsx-3.3.0" = {
+      name = "eslint-config-standard-jsx";
+      packageName = "eslint-config-standard-jsx";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.3.0.tgz";
+        sha1 = "cab0801a15a360bf63facb97ab22fbdd88d8a5e0";
+      };
+    };
+    "eslint-plugin-promise-3.4.2" = {
+      name = "eslint-plugin-promise";
+      packageName = "eslint-plugin-promise";
+      version = "3.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.4.2.tgz";
+        sha1 = "1be2793eafe2d18b5b123b8136c269f804fe7122";
+      };
+    };
+    "eslint-plugin-react-6.9.0" = {
+      name = "eslint-plugin-react";
+      packageName = "eslint-plugin-react";
+      version = "6.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.9.0.tgz";
+        sha1 = "54c2e9906b76f9d10142030bdc34e9d6840a0bb2";
+      };
+    };
+    "eslint-plugin-standard-2.0.1" = {
+      name = "eslint-plugin-standard";
+      packageName = "eslint-plugin-standard";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz";
+        sha1 = "3589699ff9c917f2c25f76a916687f641c369ff3";
+      };
+    };
+    "espree-3.5.4" = {
+      name = "espree";
+      packageName = "espree";
+      version = "3.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz";
+        sha512 = "yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==";
+      };
+    };
+    "esprima-2.7.3" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "2.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz";
+        sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581";
+      };
+    };
+    "esprima-3.1.3" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz";
+        sha1 = "fdca51cee6133895e3c88d535ce49dbff62a4633";
+      };
+    };
+    "esprima-4.0.1" = {
+      name = "esprima";
+      packageName = "esprima";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
+      };
+    };
+    "esquery-1.0.1" = {
+      name = "esquery";
+      packageName = "esquery";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz";
+        sha512 = "SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==";
+      };
+    };
+    "esrecurse-4.2.1" = {
+      name = "esrecurse";
+      packageName = "esrecurse";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz";
+        sha512 = "64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==";
+      };
+    };
+    "estraverse-4.2.0" = {
+      name = "estraverse";
+      packageName = "estraverse";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz";
+        sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
+      };
+    };
+    "estree-walker-0.2.1" = {
+      name = "estree-walker";
+      packageName = "estree-walker";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz";
+        sha1 = "bdafe8095383d8414d5dc2ecf4c9173b6db9412e";
+      };
+    };
+    "esutils-2.0.2" = {
+      name = "esutils";
+      packageName = "esutils";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+        sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+      };
+    };
+    "etag-1.8.1" = {
+      name = "etag";
+      packageName = "etag";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz";
+        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+      };
+    };
+    "eve-git://github.com/adobe-webplatform/eve.git#eef80ed" = {
+      name = "eve";
+      packageName = "eve";
+      version = "0.4.1";
+      src = fetchgit {
+        url = "git://github.com/adobe-webplatform/eve.git";
+        rev = "eef80ed8d188423c2272746fb8ae5cc8dad84cb1";
+        sha256 = "2b86ece1177813f6ee1eb6b0cc0e85cfdaca208eb46aa911dd802263e2d9b003";
+      };
+    };
+    "eve-raphael-0.5.0" = {
+      name = "eve-raphael";
+      packageName = "eve-raphael";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eve-raphael/-/eve-raphael-0.5.0.tgz";
+        sha1 = "17c754b792beef3fa6684d79cf5a47c63c4cda30";
+      };
+    };
+    "event-emitter-0.3.5" = {
+      name = "event-emitter";
+      packageName = "event-emitter";
+      version = "0.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
+        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
+      };
+    };
+    "eventemitter2-0.4.14" = {
+      name = "eventemitter2";
+      packageName = "eventemitter2";
+      version = "0.4.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
+        sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
+      };
+    };
+    "events-1.1.1" = {
+      name = "events";
+      packageName = "events";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/events/-/events-1.1.1.tgz";
+        sha1 = "9ebdb7635ad099c70dcc4c2a1f5004288e8bd924";
+      };
+    };
+    "execa-0.7.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
+        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+      };
+    };
+    "exit-0.1.2" = {
+      name = "exit";
+      packageName = "exit";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+        sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+      };
+    };
+    "exit-hook-1.1.1" = {
+      name = "exit-hook";
+      packageName = "exit-hook";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz";
+        sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8";
+      };
+    };
+    "expand-brackets-0.1.5" = {
+      name = "expand-brackets";
+      packageName = "expand-brackets";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz";
+        sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
+      };
+    };
+    "expand-brackets-2.1.4" = {
+      name = "expand-brackets";
+      packageName = "expand-brackets";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz";
+        sha1 = "b77735e315ce30f6b6eff0f83b04151a22449622";
+      };
+    };
+    "expand-range-1.8.2" = {
+      name = "expand-range";
+      packageName = "expand-range";
+      version = "1.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz";
+        sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
+      };
+    };
+    "expand-tilde-1.2.2" = {
+      name = "expand-tilde";
+      packageName = "expand-tilde";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz";
+        sha1 = "0b81eba897e5a3d31d1c3d102f8f01441e559449";
+      };
+    };
+    "expand-tilde-2.0.2" = {
+      name = "expand-tilde";
+      packageName = "expand-tilde";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz";
+        sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
+      };
+    };
+    "expect-ct-0.1.1" = {
+      name = "expect-ct";
+      packageName = "expect-ct";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expect-ct/-/expect-ct-0.1.1.tgz";
+        sha512 = "ngXzTfoRGG7fYens3/RMb6yYoVLvLMfmsSllP/mZPxNHgFq41TmPSLF/nLY7fwoclI2vElvAmILFWGUYqdjfCg==";
+      };
+    };
+    "extend-1.2.1" = {
+      name = "extend";
+      packageName = "extend";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
+        sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
+      };
+    };
+    "extend-3.0.0" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
+        sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+      };
+    };
+    "extend-3.0.2" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
+        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
+      };
+    };
+    "extend-shallow-2.0.1" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
+        sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
+      };
+    };
+    "extend-shallow-3.0.2" = {
+      name = "extend-shallow";
+      packageName = "extend-shallow";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz";
+        sha1 = "26a71aaf073b39fb2127172746131c2704028db8";
+      };
+    };
+    "extendr-2.1.0" = {
+      name = "extendr";
+      packageName = "extendr";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extendr/-/extendr-2.1.0.tgz";
+        sha1 = "301aa0bbea565f4d2dc8f570f2a22611a8527b56";
+      };
+    };
+    "extglob-0.3.2" = {
+      name = "extglob";
+      packageName = "extglob";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz";
+        sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
+      };
+    };
+    "extglob-2.0.4" = {
+      name = "extglob";
+      packageName = "extglob";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz";
+        sha512 = "Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==";
+      };
+    };
+    "extract-opts-2.2.0" = {
+      name = "extract-opts";
+      packageName = "extract-opts";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
+        sha1 = "1fa28eba7352c6db480f885ceb71a46810be6d7d";
+      };
+    };
+    "extract-zip-1.6.7" = {
+      name = "extract-zip";
+      packageName = "extract-zip";
+      version = "1.6.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz";
+        sha1 = "a840b4b8af6403264c8db57f4f1a74333ef81fe9";
+      };
+    };
+    "extsprintf-1.2.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz";
+        sha1 = "5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529";
+      };
+    };
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    };
+    "eyes-0.1.8" = {
+      name = "eyes";
+      packageName = "eyes";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+      };
+    };
+    "fancy-log-1.3.2" = {
+      name = "fancy-log";
+      packageName = "fancy-log";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz";
+        sha1 = "f41125e3d84f2e7d89a43d06d958c8f78be16be1";
+      };
+    };
+    "fast-deep-equal-1.1.0" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz";
+        sha1 = "c053477817c86b51daa853c81e059b733d023614";
+      };
+    };
+    "fast-deep-equal-2.0.1" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
+        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "fast-levenshtein-2.0.6" = {
+      name = "fast-levenshtein";
+      packageName = "fast-levenshtein";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
+        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+      };
+    };
+    "fastparse-1.1.1" = {
+      name = "fastparse";
+      packageName = "fastparse";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz";
+        sha1 = "d1e2643b38a94d7583b479060e6c4affc94071f8";
+      };
+    };
+    "fd-slicer-1.0.1" = {
+      name = "fd-slicer";
+      packageName = "fd-slicer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
+        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
+      };
+    };
+    "figures-1.7.0" = {
+      name = "figures";
+      packageName = "figures";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz";
+        sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
+      };
+    };
+    "file-entry-cache-2.0.0" = {
+      name = "file-entry-cache";
+      packageName = "file-entry-cache";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz";
+        sha1 = "c392990c3e684783d838b8c84a45d8a048458361";
+      };
+    };
+    "filename-regex-2.0.1" = {
+      name = "filename-regex";
+      packageName = "filename-regex";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz";
+        sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
+      };
+    };
+    "fill-range-2.2.4" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz";
+        sha512 = "cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==";
+      };
+    };
+    "fill-range-4.0.0" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz";
+        sha1 = "d544811d428f98eb06a63dc402d2403c328c38f7";
+      };
+    };
+    "finalhandler-1.1.1" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz";
+        sha512 = "Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==";
+      };
+    };
+    "find-cache-dir-0.1.1" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz";
+        sha1 = "c8defae57c8a52a8a784f9e31c57c742e993a0b9";
+      };
+    };
+    "find-cache-dir-1.0.0" = {
+      name = "find-cache-dir";
+      packageName = "find-cache-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz";
+        sha1 = "9288e3e9e3cc3748717d39eade17cf71fc30ee6f";
+      };
+    };
+    "find-index-0.1.1" = {
+      name = "find-index";
+      packageName = "find-index";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz";
+        sha1 = "675d358b2ca3892d795a1ab47232f8b6e2e0dde4";
+      };
+    };
+    "find-root-1.1.0" = {
+      name = "find-root";
+      packageName = "find-root";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz";
+        sha512 = "NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==";
+      };
+    };
+    "find-up-1.1.2" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
+        sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
+      };
+    };
+    "find-up-2.1.0" = {
+      name = "find-up";
+      packageName = "find-up";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz";
+        sha1 = "45d1b7e506c717ddd482775a2b77920a3c0c57a7";
+      };
+    };
+    "findup-sync-1.0.0" = {
+      name = "findup-sync";
+      packageName = "findup-sync";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-1.0.0.tgz";
+        sha1 = "6f7e4b57b6ee3a4037b4414eaedea3f58f71e0ec";
+      };
+    };
+    "findup-sync-2.0.0" = {
+      name = "findup-sync";
+      packageName = "findup-sync";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz";
+        sha1 = "9326b1488c22d1a6088650a86901b2d9a90a2cbc";
+      };
+    };
+    "fined-1.1.0" = {
+      name = "fined";
+      packageName = "fined";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz";
+        sha1 = "b37dc844b76a2f5e7081e884f7c0ae344f153476";
+      };
+    };
+    "first-chunk-stream-1.0.0" = {
+      name = "first-chunk-stream";
+      packageName = "first-chunk-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz";
+        sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e";
+      };
+    };
+    "flagged-respawn-1.0.0" = {
+      name = "flagged-respawn";
+      packageName = "flagged-respawn";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz";
+        sha1 = "4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7";
+      };
+    };
+    "flat-cache-1.3.0" = {
+      name = "flat-cache";
+      packageName = "flat-cache";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz";
+        sha1 = "d3030b32b38154f4e3b7e9c709f490f7ef97c481";
+      };
+    };
+    "flatten-1.0.2" = {
+      name = "flatten";
+      packageName = "flatten";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz";
+        sha1 = "dae46a9d78fbe25292258cc1e780a41d95c03782";
+      };
+    };
+    "flush-write-stream-1.0.3" = {
+      name = "flush-write-stream";
+      packageName = "flush-write-stream";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz";
+        sha512 = "calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==";
+      };
+    };
+    "for-in-1.0.2" = {
+      name = "for-in";
+      packageName = "for-in";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    };
+    "for-own-0.1.5" = {
+      name = "for-own";
+      packageName = "for-own";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz";
+        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+      };
+    };
+    "for-own-1.0.0" = {
+      name = "for-own";
+      packageName = "for-own";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz";
+        sha1 = "c63332f415cedc4b04dbfe70cf836494c53cb44b";
+      };
+    };
+    "foreach-2.0.5" = {
+      name = "foreach";
+      packageName = "foreach";
+      version = "2.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz";
+        sha1 = "0bee005018aeb260d0a3af3ae658dd0136ec1b99";
+      };
+    };
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    };
+    "form-data-1.0.0-rc3" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "1.0.0-rc3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz";
+        sha1 = "d35bc62e7fbc2937ae78f948aaa0d38d90607577";
+      };
+    };
+    "form-data-2.1.4" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz";
+        sha1 = "33c183acf193276ecaa98143a69e94bfee1750d1";
+      };
+    };
+    "form-data-2.3.2" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz";
+        sha1 = "4970498be604c20c005d4f5c23aecd21d6b49099";
+      };
+    };
+    "formidable-1.0.17" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
+        sha1 = "ef5491490f9433b705faa77249c99029ae348559";
+      };
+    };
+    "forwarded-0.1.2" = {
+      name = "forwarded";
+      packageName = "forwarded";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz";
+        sha1 = "98c23dab1175657b8c0573e8ceccd91b0ff18c84";
+      };
+    };
+    "fragment-cache-0.2.1" = {
+      name = "fragment-cache";
+      packageName = "fragment-cache";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz";
+        sha1 = "4290fad27f13e89be7f33799c6bc5a0abfff0d19";
+      };
+    };
+    "frameguard-3.0.0" = {
+      name = "frameguard";
+      packageName = "frameguard";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/frameguard/-/frameguard-3.0.0.tgz";
+        sha1 = "7bcad469ee7b96e91d12ceb3959c78235a9272e9";
+      };
+    };
+    "fresh-0.5.2" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz";
+        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+      };
+    };
+    "from2-2.3.0" = {
+      name = "from2";
+      packageName = "from2";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz";
+        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+      };
+    };
+    "fs-constants-1.0.0" = {
+      name = "fs-constants";
+      packageName = "fs-constants";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz";
+        sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
+      };
+    };
+    "fs-exists-sync-0.1.0" = {
+      name = "fs-exists-sync";
+      packageName = "fs-exists-sync";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz";
+        sha1 = "982d6893af918e72d08dec9e8673ff2b5a8d6add";
+      };
+    };
+    "fs-extra-1.0.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz";
+        sha1 = "cd3ce5f7e7cb6145883fcae3191e9877f8587950";
+      };
+    };
+    "fs-extra-4.0.3" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz";
+        sha512 = "q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==";
+      };
+    };
+    "fs-minipass-1.2.5" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "1.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz";
+        sha512 = "JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==";
+      };
+    };
+    "fs-readdir-recursive-1.1.0" = {
+      name = "fs-readdir-recursive";
+      packageName = "fs-readdir-recursive";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz";
+        sha512 = "GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==";
+      };
+    };
+    "fs-write-stream-atomic-1.0.10" = {
+      name = "fs-write-stream-atomic";
+      packageName = "fs-write-stream-atomic";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
+        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "fsevents-1.2.4" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz";
+        sha512 = "z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==";
+      };
+    };
+    "function-bind-1.1.1" = {
+      name = "function-bind";
+      packageName = "function-bind";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
+      };
+    };
+    "gauge-2.7.4" = {
+      name = "gauge";
+      packageName = "gauge";
+      version = "2.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    };
+    "gaze-0.5.2" = {
+      name = "gaze";
+      packageName = "gaze";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz";
+        sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f";
+      };
+    };
+    "generate-function-2.0.0" = {
+      name = "generate-function";
+      packageName = "generate-function";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
+        sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
+      };
+    };
+    "generate-object-property-1.2.0" = {
+      name = "generate-object-property";
+      packageName = "generate-object-property";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
+        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+      };
+    };
+    "generic-pool-2.4.2" = {
+      name = "generic-pool";
+      packageName = "generic-pool";
+      version = "2.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generic-pool/-/generic-pool-2.4.2.tgz";
+        sha1 = "886bc5bf0beb7db96e81bcbba078818de5a62683";
+      };
+    };
+    "generic-pool-2.4.3" = {
+      name = "generic-pool";
+      packageName = "generic-pool";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generic-pool/-/generic-pool-2.4.3.tgz";
+        sha1 = "780c36f69dfad05a5a045dd37be7adca11a4f6ff";
+      };
+    };
+    "get-caller-file-1.0.3" = {
+      name = "get-caller-file";
+      packageName = "get-caller-file";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz";
+        sha512 = "3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==";
+      };
+    };
+    "get-stdin-5.0.1" = {
+      name = "get-stdin";
+      packageName = "get-stdin";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz";
+        sha1 = "122e161591e21ff4c52530305693f20e6393a398";
+      };
+    };
+    "get-stream-3.0.0" = {
+      name = "get-stream";
+      packageName = "get-stream";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
+        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
+      };
+    };
+    "get-value-2.0.6" = {
+      name = "get-value";
+      packageName = "get-value";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz";
+        sha1 = "dc15ca1c672387ca76bd37ac0a395ba2042a2c28";
+      };
+    };
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    };
+    "glob-3.1.21" = {
+      name = "glob";
+      packageName = "glob";
+      version = "3.1.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
+        sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
+      };
+    };
+    "glob-4.5.3" = {
+      name = "glob";
+      packageName = "glob";
+      version = "4.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz";
+        sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
+      };
+    };
+    "glob-6.0.4" = {
+      name = "glob";
+      packageName = "glob";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz";
+        sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
+      };
+    };
+    "glob-7.1.2" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+        sha512 = "MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==";
+      };
+    };
+    "glob-base-0.3.0" = {
+      name = "glob-base";
+      packageName = "glob-base";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz";
+        sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
+      };
+    };
+    "glob-parent-2.0.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz";
+        sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
+      };
+    };
+    "glob-stream-3.1.18" = {
+      name = "glob-stream";
+      packageName = "glob-stream";
+      version = "3.1.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz";
+        sha1 = "9170a5f12b790306fdfe598f313f8f7954fd143b";
+      };
+    };
+    "glob-watcher-0.0.6" = {
+      name = "glob-watcher";
+      packageName = "glob-watcher";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz";
+        sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b";
+      };
+    };
+    "glob2base-0.0.12" = {
+      name = "glob2base";
+      packageName = "glob2base";
+      version = "0.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz";
+        sha1 = "9d419b3e28f12e83a362164a277055922c9c0d56";
+      };
+    };
+    "global-modules-0.2.3" = {
+      name = "global-modules";
+      packageName = "global-modules";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz";
+        sha1 = "ea5a3bed42c6d6ce995a4f8a1269b5dae223828d";
+      };
+    };
+    "global-modules-1.0.0" = {
+      name = "global-modules";
+      packageName = "global-modules";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz";
+        sha512 = "sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==";
+      };
+    };
+    "global-prefix-0.1.5" = {
+      name = "global-prefix";
+      packageName = "global-prefix";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz";
+        sha1 = "8d3bc6b8da3ca8112a160d8d496ff0462bfef78f";
+      };
+    };
+    "global-prefix-1.0.2" = {
+      name = "global-prefix";
+      packageName = "global-prefix";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz";
+        sha1 = "dbf743c6c14992593c655568cb66ed32c0122ebe";
+      };
+    };
+    "globals-9.18.0" = {
+      name = "globals";
+      packageName = "globals";
+      version = "9.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz";
+        sha512 = "S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==";
+      };
+    };
+    "globby-5.0.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz";
+        sha1 = "ebd84667ca0dbb330b99bcfc68eac2bc54370e0d";
+      };
+    };
+    "globby-7.1.1" = {
+      name = "globby";
+      packageName = "globby";
+      version = "7.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz";
+        sha1 = "fb2ccff9401f8600945dfada97440cca972b8680";
+      };
+    };
+    "globule-0.1.0" = {
+      name = "globule";
+      packageName = "globule";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
+        sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
+      };
+    };
+    "glogg-1.0.1" = {
+      name = "glogg";
+      packageName = "glogg";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz";
+        sha512 = "ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==";
+      };
+    };
+    "good-listener-1.2.2" = {
+      name = "good-listener";
+      packageName = "good-listener";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz";
+        sha1 = "d53b30cdf9313dffb7dc9a0d477096aa6d145c50";
+      };
+    };
+    "graceful-fs-1.2.3" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+        sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+      };
+    };
+    "graceful-fs-3.0.11" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "3.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz";
+        sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818";
+      };
+    };
+    "graceful-fs-4.1.11" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz";
+        sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
+      };
+    };
+    "graphlib-2.1.5" = {
+      name = "graphlib";
+      packageName = "graphlib";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphlib/-/graphlib-2.1.5.tgz";
+        sha512 = "XvtbqCcw+EM5SqQrIetIKKD+uZVNQtDPD1goIg7K73RuRZtVI5rYMdcCVSHm/AS1sCBZ7vt0p5WgXouucHQaOA==";
+      };
+    };
+    "graphlibrary-2.2.0" = {
+      name = "graphlibrary";
+      packageName = "graphlibrary";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphlibrary/-/graphlibrary-2.2.0.tgz";
+        sha512 = "XTcvT55L8u4MBZrM37zXoUxsgxs/7sow7YSygd9CIwfWTVO8RVu7AYXhhCiTuFEf+APKgx6Jk4SuQbYR0vYKmQ==";
+      };
+    };
+    "grunt-contrib-jshint-1.1.0" = {
+      name = "grunt-contrib-jshint";
+      packageName = "grunt-contrib-jshint";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.1.0.tgz";
+        sha1 = "369d909b2593c40e8be79940b21340850c7939ac";
+      };
+    };
+    "grunt-contrib-qunit-2.0.0" = {
+      name = "grunt-contrib-qunit";
+      packageName = "grunt-contrib-qunit";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grunt-contrib-qunit/-/grunt-contrib-qunit-2.0.0.tgz";
+        sha1 = "54a51b4b2c84fee62c3b7e00145c928d1ec2b7ec";
+      };
+    };
+    "grunt-contrib-uglify-3.4.0" = {
+      name = "grunt-contrib-uglify";
+      packageName = "grunt-contrib-uglify";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-3.4.0.tgz";
+        sha512 = "UXsTpeP0pytpTYlmll3RDndsRXfdwmrf1tI/AtD/PrArQAzGmKMvj83aVt3D8egWlE6KqPjsJBLCCvfC52LI/A==";
+      };
+    };
+    "grunt-lib-phantomjs-1.1.0" = {
+      name = "grunt-lib-phantomjs";
+      packageName = "grunt-lib-phantomjs";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grunt-lib-phantomjs/-/grunt-lib-phantomjs-1.1.0.tgz";
+        sha1 = "9e9edcdd9fd2dd40e0c181c94371d572aa5eead2";
+      };
+    };
+    "gulp-3.9.1" = {
+      name = "gulp";
+      packageName = "gulp";
+      version = "3.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz";
+        sha1 = "571ce45928dd40af6514fc4011866016c13845b4";
+      };
+    };
+    "gulp-help-1.6.1" = {
+      name = "gulp-help";
+      packageName = "gulp-help";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp-help/-/gulp-help-1.6.1.tgz";
+        sha1 = "261db186e18397fef3f6a2c22e9c315bfa88ae0c";
+      };
+    };
+    "gulp-util-3.0.8" = {
+      name = "gulp-util";
+      packageName = "gulp-util";
+      version = "3.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz";
+        sha1 = "0054e1e744502e27c04c187c3ecc505dd54bbb4f";
+      };
+    };
+    "gulplog-1.0.0" = {
+      name = "gulplog";
+      packageName = "gulplog";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz";
+        sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5";
+      };
+    };
+    "gzip-size-3.0.0" = {
+      name = "gzip-size";
+      packageName = "gzip-size";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz";
+        sha1 = "546188e9bdc337f673772f81660464b389dce520";
+      };
+    };
+    "har-schema-1.0.5" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
+        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
+      };
+    };
+    "har-schema-2.0.0" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    };
+    "har-validator-4.2.1" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
+        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
+      };
+    };
+    "har-validator-5.0.3" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz";
+        sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
+      };
+    };
+    "has-1.0.3" = {
+      name = "has";
+      packageName = "has";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
+      };
+    };
+    "has-ansi-2.0.0" = {
+      name = "has-ansi";
+      packageName = "has-ansi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+      };
+    };
+    "has-binary2-1.0.3" = {
+      name = "has-binary2";
+      packageName = "has-binary2";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz";
+        sha512 = "G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==";
+      };
+    };
+    "has-color-0.1.7" = {
+      name = "has-color";
+      packageName = "has-color";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
+        sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
+      };
+    };
+    "has-cors-1.1.0" = {
+      name = "has-cors";
+      packageName = "has-cors";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz";
+        sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39";
+      };
+    };
+    "has-flag-1.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz";
+        sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
+      };
+    };
+    "has-flag-3.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
+        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+      };
+    };
+    "has-gulplog-0.1.0" = {
+      name = "has-gulplog";
+      packageName = "has-gulplog";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz";
+        sha1 = "6414c82913697da51590397dafb12f22967811ce";
+      };
+    };
+    "has-unicode-2.0.1" = {
+      name = "has-unicode";
+      packageName = "has-unicode";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    };
+    "has-value-0.3.1" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz";
+        sha1 = "7b1f58bada62ca827ec0a2078025654845995e1f";
+      };
+    };
+    "has-value-1.0.0" = {
+      name = "has-value";
+      packageName = "has-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz";
+        sha1 = "18b281da585b1c5c51def24c930ed29a0be6b177";
+      };
+    };
+    "has-values-0.1.4" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz";
+        sha1 = "6d61de95d91dfca9b9a02089ad384bff8f62b771";
+      };
+    };
+    "has-values-1.0.0" = {
+      name = "has-values";
+      packageName = "has-values";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz";
+        sha1 = "95b0b63fec2146619a6fe57fe75628d5a39efe4f";
+      };
+    };
+    "hash-base-3.0.4" = {
+      name = "hash-base";
+      packageName = "hash-base";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz";
+        sha1 = "5fc8686847ecd73499403319a6b0a3f3f6ae4918";
+      };
+    };
+    "hasha-2.2.0" = {
+      name = "hasha";
+      packageName = "hasha";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz";
+        sha1 = "78d7cbfc1e6d66303fe79837365984517b2f6ee1";
+      };
+    };
+    "hawk-3.1.3" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
+        sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
+      };
+    };
+    "he-1.1.1" = {
+      name = "he";
+      packageName = "he";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/he/-/he-1.1.1.tgz";
+        sha1 = "93410fd21b009735151f8868c2f271f3427e23fd";
+      };
+    };
+    "helmet-crossdomain-0.3.0" = {
+      name = "helmet-crossdomain";
+      packageName = "helmet-crossdomain";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/helmet-crossdomain/-/helmet-crossdomain-0.3.0.tgz";
+        sha512 = "YiXhj0E35nC4Na5EPE4mTfoXMf9JTGpN4OtB4aLqShKuH9d2HNaJX5MQoglO6STVka0uMsHyG5lCut5Kzsy7Lg==";
+      };
+    };
+    "helmet-csp-2.7.1" = {
+      name = "helmet-csp";
+      packageName = "helmet-csp";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.7.1.tgz";
+        sha512 = "sCHwywg4daQ2mY0YYwXSZRsgcCeerUwxMwNixGA7aMLkVmPTYBl7gJoZDHOZyXkqPrtuDT3s2B1A+RLI7WxSdQ==";
+      };
+    };
+    "hide-powered-by-1.0.0" = {
+      name = "hide-powered-by";
+      packageName = "hide-powered-by";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.0.0.tgz";
+        sha1 = "4a85ad65881f62857fc70af7174a1184dccce32b";
+      };
+    };
+    "highlight.js-9.12.0" = {
+      name = "highlight.js";
+      packageName = "highlight.js";
+      version = "9.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz";
+        sha1 = "e6d9dbe57cbefe60751f02af336195870c90c01e";
+      };
+    };
+    "hoek-2.16.3" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "2.16.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
+        sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
+      };
+    };
+    "home-or-tmp-2.0.0" = {
+      name = "home-or-tmp";
+      packageName = "home-or-tmp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz";
+        sha1 = "e36c3f2d2cae7d746a857e38d18d5f32a7882db8";
+      };
+    };
+    "homedir-polyfill-1.0.1" = {
+      name = "homedir-polyfill";
+      packageName = "homedir-polyfill";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz";
+        sha1 = "4c2bbc8a758998feebf5ed68580f76d46768b4bc";
+      };
+    };
+    "hooker-0.2.3" = {
+      name = "hooker";
+      packageName = "hooker";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
+        sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+      };
+    };
+    "hosted-git-info-2.7.1" = {
+      name = "hosted-git-info";
+      packageName = "hosted-git-info";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz";
+        sha512 = "7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==";
+      };
+    };
+    "hpkp-2.0.0" = {
+      name = "hpkp";
+      packageName = "hpkp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz";
+        sha1 = "10e142264e76215a5d30c44ec43de64dee6d1672";
+      };
+    };
+    "hsts-2.1.0" = {
+      name = "hsts";
+      packageName = "hsts";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hsts/-/hsts-2.1.0.tgz";
+        sha512 = "zXhh/DqgrTXJ7erTN6Fh5k/xjMhDGXCqdYN3wvxUvGUQvnxcFfUd8E+6vLg/nk3ss1TYMb+DhRl25fYABioTvA==";
+      };
+    };
+    "html-comment-regex-1.1.1" = {
+      name = "html-comment-regex";
+      packageName = "html-comment-regex";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz";
+        sha1 = "668b93776eaae55ebde8f3ad464b307a4963625e";
+      };
+    };
+    "html-encoding-sniffer-1.0.2" = {
+      name = "html-encoding-sniffer";
+      packageName = "html-encoding-sniffer";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz";
+        sha512 = "71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==";
+      };
+    };
+    "html-minifier-3.5.19" = {
+      name = "html-minifier";
+      packageName = "html-minifier";
+      version = "3.5.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.19.tgz";
+        sha512 = "Qr2JC9nsjK8oCrEmuB430ZIA8YWbF3D5LSjywD75FTuXmeqacwHgIM8wp3vHYzzPbklSjp53RdmDuzR4ub2HzA==";
+      };
+    };
+    "htmlparser2-3.3.0" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz";
+        sha1 = "cc70d05a59f6542e43f0e685c982e14c924a9efe";
+      };
+    };
+    "htmlparser2-3.8.3" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "3.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";
+        sha1 = "996c28b191516a8be86501a7d79757e5c70c1068";
+      };
+    };
+    "htmlparser2-3.9.2" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "3.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz";
+        sha1 = "1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338";
+      };
+    };
+    "http-errors-1.6.2" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz";
+        sha1 = "0a002cc85707192a7e7946ceedc11155f60ec736";
+      };
+    };
+    "http-errors-1.6.3" = {
+      name = "http-errors";
+      packageName = "http-errors";
+      version = "1.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz";
+        sha1 = "8b55680bb4be283a0b5bf4ea2e38580be1d9320d";
+      };
+    };
+    "http-signature-1.1.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
+        sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
+      };
+    };
+    "http-signature-1.2.0" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    };
+    "https-browserify-0.0.1" = {
+      name = "https-browserify";
+      packageName = "https-browserify";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz";
+        sha1 = "3f91365cabe60b77ed0ebba24b454e3e09d95a82";
+      };
+    };
+    "iconv-lite-0.4.19" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz";
+        sha512 = "oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==";
+      };
+    };
+    "iconv-lite-0.4.23" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz";
+        sha512 = "neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==";
+      };
+    };
+    "icss-replace-symbols-1.1.0" = {
+      name = "icss-replace-symbols";
+      packageName = "icss-replace-symbols";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz";
+        sha1 = "06ea6f83679a7749e386cfe1fe812ae5db223ded";
+      };
+    };
+    "ieee754-1.1.12" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz";
+        sha512 = "GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==";
+      };
+    };
+    "ieee754-1.1.8" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz";
+        sha1 = "be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4";
+      };
+    };
+    "ienoopen-1.0.0" = {
+      name = "ienoopen";
+      packageName = "ienoopen";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz";
+        sha1 = "346a428f474aac8f50cf3784ea2d0f16f62bda6b";
+      };
+    };
+    "iferr-0.1.5" = {
+      name = "iferr";
+      packageName = "iferr";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
+        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
+      };
+    };
+    "ignore-3.3.10" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "3.3.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz";
+        sha512 = "Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==";
+      };
+    };
+    "ignore-walk-3.0.1" = {
+      name = "ignore-walk";
+      packageName = "ignore-walk";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz";
+        sha512 = "DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==";
+      };
+    };
+    "ignorefs-1.2.0" = {
+      name = "ignorefs";
+      packageName = "ignorefs";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignorefs/-/ignorefs-1.2.0.tgz";
+        sha1 = "da59fb858976e4a5e43702ccd1f282fdbc9e5756";
+      };
+    };
+    "ignorepatterns-1.1.0" = {
+      name = "ignorepatterns";
+      packageName = "ignorepatterns";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignorepatterns/-/ignorepatterns-1.1.0.tgz";
+        sha1 = "ac8f436f2239b5dfb66d5f0d3a904a87ac67cc5e";
+      };
+    };
+    "image-size-0.5.5" = {
+      name = "image-size";
+      packageName = "image-size";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz";
+        sha1 = "09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c";
+      };
+    };
+    "imurmurhash-0.1.4" = {
+      name = "imurmurhash";
+      packageName = "imurmurhash";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+      };
+    };
+    "indexes-of-1.0.1" = {
+      name = "indexes-of";
+      packageName = "indexes-of";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz";
+        sha1 = "f30f716c8e2bd346c7b67d3df3915566a7c05607";
+      };
+    };
+    "indexof-0.0.1" = {
+      name = "indexof";
+      packageName = "indexof";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
+        sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
+      };
+    };
+    "inflection-1.12.0" = {
+      name = "inflection";
+      packageName = "inflection";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz";
+        sha1 = "a200935656d6f5f6bc4dc7502e1aecb703228416";
+      };
+    };
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    };
+    "inherits-1.0.2" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
+        sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
+      };
+    };
+    "inherits-2.0.1" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "ini-1.3.5" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz";
+        sha512 = "RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==";
+      };
+    };
+    "inquirer-0.12.0" = {
+      name = "inquirer";
+      packageName = "inquirer";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz";
+        sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
+      };
+    };
+    "interpret-0.6.6" = {
+      name = "interpret";
+      packageName = "interpret";
+      version = "0.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/interpret/-/interpret-0.6.6.tgz";
+        sha1 = "fecd7a18e7ce5ca6abfb953e1f86213a49f1625b";
+      };
+    };
+    "interpret-1.1.0" = {
+      name = "interpret";
+      packageName = "interpret";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz";
+        sha1 = "7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614";
+      };
+    };
+    "invariant-2.2.4" = {
+      name = "invariant";
+      packageName = "invariant";
+      version = "2.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz";
+        sha512 = "phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==";
+      };
+    };
+    "invert-kv-1.0.0" = {
+      name = "invert-kv";
+      packageName = "invert-kv";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
+        sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
+      };
+    };
+    "ipaddr.js-1.8.0" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz";
+        sha1 = "eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e";
+      };
+    };
+    "is-absolute-1.0.0" = {
+      name = "is-absolute";
+      packageName = "is-absolute";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz";
+        sha512 = "dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==";
+      };
+    };
+    "is-absolute-url-2.1.0" = {
+      name = "is-absolute-url";
+      packageName = "is-absolute-url";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz";
+        sha1 = "50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6";
+      };
+    };
+    "is-accessor-descriptor-0.1.6" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz";
+        sha1 = "a9e12cb3ae8d876727eeef3843f8a0897b5c98d6";
+      };
+    };
+    "is-accessor-descriptor-1.0.0" = {
+      name = "is-accessor-descriptor";
+      packageName = "is-accessor-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz";
+        sha512 = "m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==";
+      };
+    };
+    "is-alphabetical-1.0.2" = {
+      name = "is-alphabetical";
+      packageName = "is-alphabetical";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz";
+        sha512 = "V0xN4BYezDHcBSKb1QHUFMlR4as/XEuCZBzMJUU4n7+Cbt33SmUnSol+pnXFvLxSHNq2CemUXNdaXV6Flg7+xg==";
+      };
+    };
+    "is-alphanumerical-1.0.2" = {
+      name = "is-alphanumerical";
+      packageName = "is-alphanumerical";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.2.tgz";
+        sha512 = "pyfU/0kHdISIgslFfZN9nfY1Gk3MquQgUm1mJTjdkEPpkAKNWuBTSqFwewOpR7N351VkErCiyV71zX7mlQQqsg==";
+      };
+    };
+    "is-arrayish-0.2.1" = {
+      name = "is-arrayish";
+      packageName = "is-arrayish";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+      };
+    };
+    "is-binary-path-1.0.1" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    };
+    "is-buffer-1.1.6" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==";
+      };
+    };
+    "is-builtin-module-1.0.0" = {
+      name = "is-builtin-module";
+      packageName = "is-builtin-module";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz";
+        sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe";
+      };
+    };
+    "is-callable-1.1.4" = {
+      name = "is-callable";
+      packageName = "is-callable";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz";
+        sha512 = "r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==";
+      };
+    };
+    "is-data-descriptor-0.1.4" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz";
+        sha1 = "0b5ee648388e2c860282e793f1856fec3f301b56";
+      };
+    };
+    "is-data-descriptor-1.0.0" = {
+      name = "is-data-descriptor";
+      packageName = "is-data-descriptor";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz";
+        sha512 = "jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==";
+      };
+    };
+    "is-date-object-1.0.1" = {
+      name = "is-date-object";
+      packageName = "is-date-object";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz";
+        sha1 = "9aa20eb6aeebbff77fbd33e74ca01b33581d3a16";
+      };
+    };
+    "is-decimal-1.0.2" = {
+      name = "is-decimal";
+      packageName = "is-decimal";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz";
+        sha512 = "TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==";
+      };
+    };
+    "is-descriptor-0.1.6" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz";
+        sha512 = "avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==";
+      };
+    };
+    "is-descriptor-1.0.2" = {
+      name = "is-descriptor";
+      packageName = "is-descriptor";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz";
+        sha512 = "2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==";
+      };
+    };
+    "is-dotfile-1.0.3" = {
+      name = "is-dotfile";
+      packageName = "is-dotfile";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz";
+        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
+      };
+    };
+    "is-equal-shallow-0.1.3" = {
+      name = "is-equal-shallow";
+      packageName = "is-equal-shallow";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
+        sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
+      };
+    };
+    "is-extendable-0.1.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    };
+    "is-extendable-1.0.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz";
+        sha512 = "arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==";
+      };
+    };
+    "is-extglob-1.0.0" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";
+        sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
+      };
+    };
+    "is-extglob-2.1.1" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
+        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+      };
+    };
+    "is-finite-1.0.2" = {
+      name = "is-finite";
+      packageName = "is-finite";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz";
+        sha1 = "cc6677695602be550ef11e8b4aa6305342b6d0aa";
+      };
+    };
+    "is-fullwidth-code-point-1.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+      };
+    };
+    "is-fullwidth-code-point-2.0.0" = {
+      name = "is-fullwidth-code-point";
+      packageName = "is-fullwidth-code-point";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
+        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+      };
+    };
+    "is-glob-2.0.1" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz";
+        sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
+      };
+    };
+    "is-glob-3.1.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz";
+        sha1 = "7ba5ae24217804ac70707b96922567486cc3e84a";
+      };
+    };
+    "is-glob-4.0.0" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz";
+        sha1 = "9521c76845cc2610a85203ddf080a958c2ffabc0";
+      };
+    };
+    "is-hexadecimal-1.0.2" = {
+      name = "is-hexadecimal";
+      packageName = "is-hexadecimal";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz";
+        sha512 = "but/G3sapV3MNyqiDBLrOi4x8uCIw0RY3o/Vb5GT0sMFHrVV7731wFSVy41T5FO1og7G0gXLJh0MkgPRouko/A==";
+      };
+    };
+    "is-my-ip-valid-1.0.0" = {
+      name = "is-my-ip-valid";
+      packageName = "is-my-ip-valid";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz";
+        sha512 = "gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==";
+      };
+    };
+    "is-my-json-valid-2.17.2" = {
+      name = "is-my-json-valid";
+      packageName = "is-my-json-valid";
+      version = "2.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.17.2.tgz";
+        sha512 = "IBhBslgngMQN8DDSppmgDv7RNrlFotuuDsKcrCP3+HbFaVivIBU7u9oiiErw8sH4ynx3+gOGQ3q2otkgiSi6kg==";
+      };
+    };
+    "is-number-2.1.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz";
+        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
+      };
+    };
+    "is-number-3.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz";
+        sha1 = "24fd6201a4782cf50561c810276afc7d12d71195";
+      };
+    };
+    "is-number-4.0.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz";
+        sha512 = "rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==";
+      };
+    };
+    "is-path-cwd-1.0.0" = {
+      name = "is-path-cwd";
+      packageName = "is-path-cwd";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
+        sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
+      };
+    };
+    "is-path-in-cwd-1.0.1" = {
+      name = "is-path-in-cwd";
+      packageName = "is-path-in-cwd";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz";
+        sha512 = "FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==";
+      };
+    };
+    "is-path-inside-1.0.1" = {
+      name = "is-path-inside";
+      packageName = "is-path-inside";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz";
+        sha1 = "8ef5b7de50437a3fdca6b4e865ef7aa55cb48036";
+      };
+    };
+    "is-plain-obj-1.1.0" = {
+      name = "is-plain-obj";
+      packageName = "is-plain-obj";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+        sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+      };
+    };
+    "is-plain-object-2.0.4" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz";
+        sha512 = "h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==";
+      };
+    };
+    "is-posix-bracket-0.1.1" = {
+      name = "is-posix-bracket";
+      packageName = "is-posix-bracket";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
+        sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
+      };
+    };
+    "is-primitive-2.0.0" = {
+      name = "is-primitive";
+      packageName = "is-primitive";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz";
+        sha1 = "207bab91638499c07b2adf240a41a87210034575";
+      };
+    };
+    "is-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "is-property-1.0.2" = {
+      name = "is-property";
+      packageName = "is-property";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
+        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+      };
+    };
+    "is-regex-1.0.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    };
+    "is-relative-1.0.0" = {
+      name = "is-relative";
+      packageName = "is-relative";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz";
+        sha512 = "Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==";
+      };
+    };
+    "is-resolvable-1.1.0" = {
+      name = "is-resolvable";
+      packageName = "is-resolvable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz";
+        sha512 = "qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==";
+      };
+    };
+    "is-stream-1.1.0" = {
+      name = "is-stream";
+      packageName = "is-stream";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+        sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+      };
+    };
+    "is-svg-2.1.0" = {
+      name = "is-svg";
+      packageName = "is-svg";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz";
+        sha1 = "cf61090da0d9efbcab8722deba6f032208dbb0e9";
+      };
+    };
+    "is-symbol-1.0.1" = {
+      name = "is-symbol";
+      packageName = "is-symbol";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz";
+        sha1 = "3cc59f00025194b6ab2e38dbae6689256b660572";
+      };
+    };
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    };
+    "is-unc-path-1.0.0" = {
+      name = "is-unc-path";
+      packageName = "is-unc-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz";
+        sha512 = "mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==";
+      };
+    };
+    "is-utf8-0.2.1" = {
+      name = "is-utf8";
+      packageName = "is-utf8";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
+        sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
+      };
+    };
+    "is-windows-0.2.0" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz";
+        sha1 = "de1aa6d63ea29dd248737b69f1ff8b8002d2108c";
+      };
+    };
+    "is-windows-1.0.2" = {
+      name = "is-windows";
+      packageName = "is-windows";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz";
+        sha512 = "eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==";
+      };
+    };
+    "isarray-0.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+      };
+    };
+    "isarray-1.0.0" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+      };
+    };
+    "isarray-2.0.1" = {
+      name = "isarray";
+      packageName = "isarray";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz";
+        sha1 = "a37d94ed9cda2d59865c9f76fe596ee1f338741e";
+      };
+    };
+    "isexe-2.0.0" = {
+      name = "isexe";
+      packageName = "isexe";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz";
+        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+      };
+    };
+    "isobject-2.1.0" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    };
+    "isobject-3.0.1" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz";
+        sha1 = "4e431e92b11a9731636aa1f9c8d1ccbcfdab78df";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "jmespath-0.15.0" = {
+      name = "jmespath";
+      packageName = "jmespath";
+      version = "0.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz";
+        sha1 = "a3f222a9aae9f966f5d27c796510e28091764217";
+      };
+    };
+    "js-base64-2.4.8" = {
+      name = "js-base64";
+      packageName = "js-base64";
+      version = "2.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz";
+        sha512 = "hm2nYpDrwoO/OzBhdcqs/XGT6XjSuSSCVEpia+Kl2J6x4CYt5hISlVL/AYU1khoDXv0AQVgxtdJySb9gjAn56Q==";
+      };
+    };
+    "js-beautify-1.7.5" = {
+      name = "js-beautify";
+      packageName = "js-beautify";
+      version = "1.7.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.7.5.tgz";
+        sha512 = "9OhfAqGOrD7hoQBLJMTA+BKuKmoEtTJXzZ7WDF/9gvjtey1koVLuZqIY6c51aPDjbNdNtIXAkiWKVhziawE9Og==";
+      };
+    };
+    "js-string-escape-1.0.1" = {
+      name = "js-string-escape";
+      packageName = "js-string-escape";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz";
+        sha1 = "e2625badbc0d67c7533e9edc1068c587ae4137ef";
+      };
+    };
+    "js-tokens-3.0.2" = {
+      name = "js-tokens";
+      packageName = "js-tokens";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz";
+        sha1 = "9866df395102130e38f7f996bceb65443209c25b";
+      };
+    };
+    "js-yaml-3.12.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz";
+        sha512 = "PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==";
+      };
+    };
+    "js-yaml-3.5.5" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz";
+        sha1 = "0377c38017cabc7322b0d1fbcd25a491641f2fbe";
+      };
+    };
+    "js-yaml-3.7.0" = {
+      name = "js-yaml";
+      packageName = "js-yaml";
+      version = "3.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz";
+        sha1 = "5c967ddd837a9bfdca5f2de84253abe8a1c03b80";
+      };
+    };
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    };
+    "jsdom-9.12.0" = {
+      name = "jsdom";
+      packageName = "jsdom";
+      version = "9.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsdom/-/jsdom-9.12.0.tgz";
+        sha1 = "e8c546fffcb06c00d4833ca84410fed7f8a097d4";
+      };
+    };
+    "jsesc-0.5.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz";
+        sha1 = "e7dee66e35d6fc16f710fe91d5cf69f70f08911d";
+      };
+    };
+    "jsesc-1.3.0" = {
+      name = "jsesc";
+      packageName = "jsesc";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz";
+        sha1 = "46c3fec8c1892b12b0833db9bc7622176dbab34b";
+      };
+    };
+    "jshint-2.9.6" = {
+      name = "jshint";
+      packageName = "jshint";
+      version = "2.9.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jshint/-/jshint-2.9.6.tgz";
+        sha512 = "KO9SIAKTlJQOM4lE64GQUtGBRpTOuvbrRrSZw3AhUxMNG266nX9hK2cKA4SBhXOj0irJGyNyGSLT62HGOVDEOA==";
+      };
+    };
+    "json-edm-parser-0.1.2" = {
+      name = "json-edm-parser";
+      packageName = "json-edm-parser";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-edm-parser/-/json-edm-parser-0.1.2.tgz";
+        sha1 = "1e60b0fef1bc0af67bc0d146dfdde5486cd615b4";
+      };
+    };
+    "json-parse-better-errors-1.0.2" = {
+      name = "json-parse-better-errors";
+      packageName = "json-parse-better-errors";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz";
+        sha512 = "mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "json-schema-traverse-0.3.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
+        sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
+      };
+    };
+    "json-schema-traverse-0.4.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
+      };
+    };
+    "json-stable-stringify-1.0.1" = {
+      name = "json-stable-stringify";
+      packageName = "json-stable-stringify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    };
+    "json-stream-1.0.0" = {
+      name = "json-stream";
+      packageName = "json-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stream/-/json-stream-1.0.0.tgz";
+        sha1 = "1a3854e28d2bbeeab31cc7ddf683d2ddc5652708";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "json5-0.5.1" = {
+      name = "json5";
+      packageName = "json5";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz";
+        sha1 = "1eade7acc012034ad84e2396767ead9fa5495821";
+      };
+    };
+    "jsonfile-2.4.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz";
+        sha1 = "3736a2b428b87bbda0cc83b53fa3d633a35c2ae8";
+      };
+    };
+    "jsonfile-4.0.0" = {
+      name = "jsonfile";
+      packageName = "jsonfile";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
+        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
+      };
+    };
+    "jsonify-0.0.0" = {
+      name = "jsonify";
+      packageName = "jsonify";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    };
+    "jsonparse-1.2.0" = {
+      name = "jsonparse";
+      packageName = "jsonparse";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz";
+        sha1 = "5c0c5685107160e72fe7489bddea0b44c2bc67bd";
+      };
+    };
+    "jsonpointer-4.0.1" = {
+      name = "jsonpointer";
+      packageName = "jsonpointer";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz";
+        sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
+      };
+    };
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    };
+    "jsx-ast-utils-1.4.1" = {
+      name = "jsx-ast-utils";
+      packageName = "jsx-ast-utils";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz";
+        sha1 = "3867213e8dd79bf1e8f2300c0cfc1efb182c0df1";
+      };
+    };
+    "kew-0.7.0" = {
+      name = "kew";
+      packageName = "kew";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz";
+        sha1 = "79d93d2d33363d6fdd2970b335d9141ad591d79b";
+      };
+    };
+    "kind-of-3.2.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz";
+        sha1 = "31ea21a734bab9bbb0f32466d893aea51e4a3c64";
+      };
+    };
+    "kind-of-4.0.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    };
+    "kind-of-5.1.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz";
+        sha512 = "NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==";
+      };
+    };
+    "kind-of-6.0.2" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz";
+        sha512 = "s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==";
+      };
+    };
+    "klaw-1.3.1" = {
+      name = "klaw";
+      packageName = "klaw";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz";
+        sha1 = "4088433b46b3b1ba259d78785d8e96f73ba02439";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
+    "lazystream-1.0.0" = {
+      name = "lazystream";
+      packageName = "lazystream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz";
+        sha1 = "f6995fe0f820392f61396be89462407bb77168e4";
+      };
+    };
+    "lcid-1.0.0" = {
+      name = "lcid";
+      packageName = "lcid";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
+        sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
+      };
+    };
+    "ldap-filter-0.2.2" = {
+      name = "ldap-filter";
+      packageName = "ldap-filter";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldap-filter/-/ldap-filter-0.2.2.tgz";
+        sha1 = "f2b842be0b86da3352798505b31ebcae590d77d0";
+      };
+    };
+    "ldapauth-fork-4.0.2" = {
+      name = "ldapauth-fork";
+      packageName = "ldapauth-fork";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldapauth-fork/-/ldapauth-fork-4.0.2.tgz";
+        sha512 = "YoPHsyfV6L/4SO5EMi/Jk1xUMaY+ANlR4Yp+WIsqGkWOLPKkuzRYB4s/IsdKBeb3sdwVCw+q/YN9eoa1dXmQdA==";
+      };
+    };
+    "ldapjs-1.0.2" = {
+      name = "ldapjs";
+      packageName = "ldapjs";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ldapjs/-/ldapjs-1.0.2.tgz";
+        sha1 = "544ff7032b7b83c68f0701328d9297aa694340f9";
+      };
+    };
+    "levn-0.3.0" = {
+      name = "levn";
+      packageName = "levn";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+      };
+    };
+    "liftoff-2.5.0" = {
+      name = "liftoff";
+      packageName = "liftoff";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz";
+        sha1 = "2009291bb31cea861bbf10a7c15a28caf75c31ec";
+      };
+    };
+    "linkify-it-2.0.3" = {
+      name = "linkify-it";
+      packageName = "linkify-it";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/linkify-it/-/linkify-it-2.0.3.tgz";
+        sha1 = "d94a4648f9b1c179d64fa97291268bdb6ce9434f";
+      };
+    };
+    "load-json-file-2.0.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz";
+        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
+      };
+    };
+    "load-json-file-4.0.0" = {
+      name = "load-json-file";
+      packageName = "load-json-file";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz";
+        sha1 = "2f5f45ab91e33216234fd53adab668eb4ec0993b";
+      };
+    };
+    "loader-utils-0.2.17" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "0.2.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz";
+        sha1 = "f86e6374d43205a6e6c60e9196f17c0299bfb348";
+      };
+    };
+    "loader-utils-1.1.0" = {
+      name = "loader-utils";
+      packageName = "loader-utils";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz";
+        sha1 = "c98aef488bcceda2ffb5e2de646d6a754429f5cd";
+      };
+    };
+    "locate-path-2.0.0" = {
+      name = "locate-path";
+      packageName = "locate-path";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz";
+        sha1 = "2b568b265eec944c6d9c0de9c3dbbbca0354cd8e";
+      };
+    };
+    "lodash-1.0.2" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz";
+        sha1 = "8f57560c83b59fc270bd3d561b690043430e2551";
+      };
+    };
+    "lodash-3.10.1" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "3.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz";
+        sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
+      };
+    };
+    "lodash-4.17.10" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.17.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz";
+        sha512 = "UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==";
+      };
+    };
+    "lodash._basecopy-3.0.1" = {
+      name = "lodash._basecopy";
+      packageName = "lodash._basecopy";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz";
+        sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36";
+      };
+    };
+    "lodash._basetostring-3.0.1" = {
+      name = "lodash._basetostring";
+      packageName = "lodash._basetostring";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz";
+        sha1 = "d1861d877f824a52f669832dcaf3ee15566a07d5";
+      };
+    };
+    "lodash._basevalues-3.0.0" = {
+      name = "lodash._basevalues";
+      packageName = "lodash._basevalues";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz";
+        sha1 = "5b775762802bde3d3297503e26300820fdf661b7";
+      };
+    };
+    "lodash._getnative-3.9.1" = {
+      name = "lodash._getnative";
+      packageName = "lodash._getnative";
+      version = "3.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz";
+        sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5";
+      };
+    };
+    "lodash._isiterateecall-3.0.9" = {
+      name = "lodash._isiterateecall";
+      packageName = "lodash._isiterateecall";
+      version = "3.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz";
+        sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c";
+      };
+    };
+    "lodash._reescape-3.0.0" = {
+      name = "lodash._reescape";
+      packageName = "lodash._reescape";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz";
+        sha1 = "2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a";
+      };
+    };
+    "lodash._reevaluate-3.0.0" = {
+      name = "lodash._reevaluate";
+      packageName = "lodash._reevaluate";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz";
+        sha1 = "58bc74c40664953ae0b124d806996daca431e2ed";
+      };
+    };
+    "lodash._reinterpolate-3.0.0" = {
+      name = "lodash._reinterpolate";
+      packageName = "lodash._reinterpolate";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
+        sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
+      };
+    };
+    "lodash._root-3.0.1" = {
+      name = "lodash._root";
+      packageName = "lodash._root";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz";
+        sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692";
+      };
+    };
+    "lodash.assignin-4.2.0" = {
+      name = "lodash.assignin";
+      packageName = "lodash.assignin";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz";
+        sha1 = "ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2";
+      };
+    };
+    "lodash.bind-4.2.1" = {
+      name = "lodash.bind";
+      packageName = "lodash.bind";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz";
+        sha1 = "7ae3017e939622ac31b7d7d7dcb1b34db1690d35";
+      };
+    };
+    "lodash.camelcase-4.3.0" = {
+      name = "lodash.camelcase";
+      packageName = "lodash.camelcase";
+      version = "4.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
+        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
+      };
+    };
+    "lodash.defaults-4.2.0" = {
+      name = "lodash.defaults";
+      packageName = "lodash.defaults";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz";
+        sha1 = "d09178716ffea4dde9e5fb7b37f6f0802274580c";
+      };
+    };
+    "lodash.escape-3.2.0" = {
+      name = "lodash.escape";
+      packageName = "lodash.escape";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz";
+        sha1 = "995ee0dc18c1b48cc92effae71a10aab5b487698";
+      };
+    };
+    "lodash.filter-4.6.0" = {
+      name = "lodash.filter";
+      packageName = "lodash.filter";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz";
+        sha1 = "668b1d4981603ae1cc5a6fa760143e480b4c4ace";
+      };
+    };
+    "lodash.flatten-4.4.0" = {
+      name = "lodash.flatten";
+      packageName = "lodash.flatten";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz";
+        sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f";
+      };
+    };
+    "lodash.foreach-4.5.0" = {
+      name = "lodash.foreach";
+      packageName = "lodash.foreach";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz";
+        sha1 = "1a6a35eace401280c7f06dddec35165ab27e3e53";
+      };
+    };
+    "lodash.isarguments-3.1.0" = {
+      name = "lodash.isarguments";
+      packageName = "lodash.isarguments";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz";
+        sha1 = "2f573d85c6a24289ff00663b491c1d338ff3458a";
+      };
+    };
+    "lodash.isarray-3.0.4" = {
+      name = "lodash.isarray";
+      packageName = "lodash.isarray";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz";
+        sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55";
+      };
+    };
+    "lodash.keys-3.1.2" = {
+      name = "lodash.keys";
+      packageName = "lodash.keys";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz";
+        sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a";
+      };
+    };
+    "lodash.map-4.6.0" = {
+      name = "lodash.map";
+      packageName = "lodash.map";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz";
+        sha1 = "771ec7839e3473d9c4cde28b19394c3562f4f6d3";
+      };
+    };
+    "lodash.memoize-4.1.2" = {
+      name = "lodash.memoize";
+      packageName = "lodash.memoize";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz";
+        sha1 = "bcc6c49a42a2840ed997f323eada5ecd182e0bfe";
+      };
+    };
+    "lodash.merge-4.6.1" = {
+      name = "lodash.merge";
+      packageName = "lodash.merge";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.1.tgz";
+        sha512 = "AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ==";
+      };
+    };
+    "lodash.pick-4.4.0" = {
+      name = "lodash.pick";
+      packageName = "lodash.pick";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz";
+        sha1 = "52f05610fff9ded422611441ed1fc123a03001b3";
+      };
+    };
+    "lodash.reduce-4.6.0" = {
+      name = "lodash.reduce";
+      packageName = "lodash.reduce";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz";
+        sha1 = "f1ab6b839299ad48f784abbf476596f03b914d3b";
+      };
+    };
+    "lodash.reject-4.6.0" = {
+      name = "lodash.reject";
+      packageName = "lodash.reject";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz";
+        sha1 = "80d6492dc1470864bbf583533b651f42a9f52415";
+      };
+    };
+    "lodash.restparam-3.6.1" = {
+      name = "lodash.restparam";
+      packageName = "lodash.restparam";
+      version = "3.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz";
+        sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805";
+      };
+    };
+    "lodash.some-4.6.0" = {
+      name = "lodash.some";
+      packageName = "lodash.some";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz";
+        sha1 = "1bb9f314ef6b8baded13b549169b2a945eb68e4d";
+      };
+    };
+    "lodash.template-3.6.2" = {
+      name = "lodash.template";
+      packageName = "lodash.template";
+      version = "3.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz";
+        sha1 = "f8cdecc6169a255be9098ae8b0c53d378931d14f";
+      };
+    };
+    "lodash.templatesettings-3.1.1" = {
+      name = "lodash.templatesettings";
+      packageName = "lodash.templatesettings";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz";
+        sha1 = "fb307844753b66b9f1afa54e262c745307dba8e5";
+      };
+    };
+    "lodash.uniq-4.5.0" = {
+      name = "lodash.uniq";
+      packageName = "lodash.uniq";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
+        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
+    "longest-streak-1.0.0" = {
+      name = "longest-streak";
+      packageName = "longest-streak";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest-streak/-/longest-streak-1.0.0.tgz";
+        sha1 = "d06597c4d4c31b52ccb1f5d8f8fe7148eafd6965";
+      };
+    };
+    "loose-envify-1.4.0" = {
+      name = "loose-envify";
+      packageName = "loose-envify";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz";
+        sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
+      };
+    };
+    "lower-case-1.1.4" = {
+      name = "lower-case";
+      packageName = "lower-case";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz";
+        sha1 = "9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac";
+      };
+    };
+    "lru-cache-2.7.3" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "2.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
+        sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
+      };
+    };
+    "lru-cache-3.2.0" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz";
+        sha1 = "71789b3b7f5399bec8565dda38aa30d2a097efee";
+      };
+    };
+    "lru-cache-4.1.3" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "4.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz";
+        sha512 = "fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==";
+      };
+    };
+    "lru-queue-0.1.0" = {
+      name = "lru-queue";
+      packageName = "lru-queue";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz";
+        sha1 = "2738bd9f0d3cf4f84490c5736c48699ac632cda3";
+      };
+    };
+    "magic-string-0.14.0" = {
+      name = "magic-string";
+      packageName = "magic-string";
+      version = "0.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/magic-string/-/magic-string-0.14.0.tgz";
+        sha1 = "57224aef1701caeed273b17a39a956e72b172462";
+      };
+    };
+    "make-dir-1.3.0" = {
+      name = "make-dir";
+      packageName = "make-dir";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz";
+        sha512 = "2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==";
+      };
+    };
+    "make-iterator-1.0.1" = {
+      name = "make-iterator";
+      packageName = "make-iterator";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz";
+        sha512 = "pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==";
+      };
+    };
+    "make-plural-3.0.6" = {
+      name = "make-plural";
+      packageName = "make-plural";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-plural/-/make-plural-3.0.6.tgz";
+        sha1 = "2033a03bac290b8f3bb91258f65b9df7e8b01ca7";
+      };
+    };
+    "map-cache-0.2.2" = {
+      name = "map-cache";
+      packageName = "map-cache";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz";
+        sha1 = "c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf";
+      };
+    };
+    "map-visit-1.0.0" = {
+      name = "map-visit";
+      packageName = "map-visit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz";
+        sha1 = "ecdca8f13144e660f1b5bd41f12f3479d98dfb8f";
+      };
+    };
+    "markdown-table-0.4.0" = {
+      name = "markdown-table";
+      packageName = "markdown-table";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-table/-/markdown-table-0.4.0.tgz";
+        sha1 = "890c2c1b3bfe83fb00e4129b8e4cfe645270f9d1";
+      };
+    };
+    "markdown-to-ast-3.4.0" = {
+      name = "markdown-to-ast";
+      packageName = "markdown-to-ast";
+      version = "3.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/markdown-to-ast/-/markdown-to-ast-3.4.0.tgz";
+        sha1 = "0e2cba81390b0549a9153ec3b0d915b61c164be7";
+      };
+    };
+    "marked-0.3.19" = {
+      name = "marked";
+      packageName = "marked";
+      version = "0.3.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/marked/-/marked-0.3.19.tgz";
+        sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
+      };
+    };
+    "math-expression-evaluator-1.2.17" = {
+      name = "math-expression-evaluator";
+      packageName = "math-expression-evaluator";
+      version = "1.2.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz";
+        sha1 = "de819fdbcd84dccd8fae59c6aeb79615b9d266ac";
+      };
+    };
+    "math-interval-parser-1.1.0" = {
+      name = "math-interval-parser";
+      packageName = "math-interval-parser";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/math-interval-parser/-/math-interval-parser-1.1.0.tgz";
+        sha1 = "dbeda5b06b3249973c6df6170fde2386f0afd893";
+      };
+    };
+    "math-random-1.0.1" = {
+      name = "math-random";
+      packageName = "math-random";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz";
+        sha1 = "8b3aac588b8a66e4975e3cdea67f7bb329601fac";
+      };
+    };
+    "maxmin-2.1.0" = {
+      name = "maxmin";
+      packageName = "maxmin";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz";
+        sha1 = "4d3b220903d95eee7eb7ac7fa864e72dc09a3166";
+      };
+    };
+    "md5.js-1.3.4" = {
+      name = "md5.js";
+      packageName = "md5.js";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz";
+        sha1 = "e9bdbde94a20a5ac18b04340fc5764d5b09d901d";
+      };
+    };
+    "mdurl-1.0.1" = {
+      name = "mdurl";
+      packageName = "mdurl";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz";
+        sha1 = "fe85b2ec75a59037f2adfec100fd6c601761152e";
+      };
+    };
+    "media-typer-0.3.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+      };
+    };
+    "mem-1.1.0" = {
+      name = "mem";
+      packageName = "mem";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz";
+        sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
+      };
+    };
+    "memoizee-0.4.12" = {
+      name = "memoizee";
+      packageName = "memoizee";
+      version = "0.4.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memoizee/-/memoizee-0.4.12.tgz";
+        sha512 = "sprBu6nwxBWBvBOh5v2jcsGqiGLlL2xr2dLub3vR8dnE8YB17omwtm/0NSHl8jjNbcsJd5GMWJAnTSVe/O0Wfg==";
+      };
+    };
+    "memory-fs-0.2.0" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz";
+        sha1 = "f2bb25368bc121e391c2520de92969caee0a0290";
+      };
+    };
+    "memory-fs-0.3.0" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz";
+        sha1 = "7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20";
+      };
+    };
+    "merge-descriptors-1.0.1" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
+        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+      };
+    };
+    "messageformat-0.3.1" = {
+      name = "messageformat";
+      packageName = "messageformat";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/messageformat/-/messageformat-0.3.1.tgz";
+        sha1 = "e58fff8245e9b3971799e5b43db58b3e9417f5a2";
+      };
+    };
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "micromatch-2.3.11" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "2.3.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz";
+        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
+      };
+    };
+    "micromatch-3.1.10" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "3.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz";
+        sha512 = "MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==";
+      };
+    };
+    "mime-1.3.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+      };
+    };
+    "mime-1.3.6" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz";
+        sha1 = "591d84d3653a6b0b4a3b9df8de5aa8108e72e5e0";
+      };
+    };
+    "mime-1.4.1" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz";
+        sha512 = "KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==";
+      };
+    };
+    "mime-1.6.0" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
+      };
+    };
+    "mime-db-1.35.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.35.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz";
+        sha512 = "JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==";
+      };
+    };
+    "mime-types-2.1.19" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz";
+        sha512 = "P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==";
+      };
+    };
+    "mimic-fn-1.2.0" = {
+      name = "mimic-fn";
+      packageName = "mimic-fn";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
+        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
+      };
+    };
+    "minimatch-0.2.14" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "0.2.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+        sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+      };
+    };
+    "minimatch-2.0.10" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "2.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz";
+        sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7";
+      };
+    };
+    "minimatch-3.0.4" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+      };
+    };
+    "minimist-0.0.10" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+        sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
+      };
+    };
+    "minimist-0.0.8" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+      };
+    };
+    "minimist-1.2.0" = {
+      name = "minimist";
+      packageName = "minimist";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+        sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+      };
+    };
+    "minipass-2.3.3" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.3.3.tgz";
+        sha512 = "/jAn9/tEX4gnpyRATxgHEOV6xbcyxgT7iUnxo9Y3+OB0zX00TgKIv/2FZCf5brBbICcwbLqVv2ImjvWWrQMSYw==";
+      };
+    };
+    "minizlib-1.1.0" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz";
+        sha512 = "4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==";
+      };
+    };
+    "mississippi-2.0.0" = {
+      name = "mississippi";
+      packageName = "mississippi";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz";
+        sha512 = "zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==";
+      };
+    };
+    "mixin-deep-1.3.1" = {
+      name = "mixin-deep";
+      packageName = "mixin-deep";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz";
+        sha512 = "8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==";
+      };
+    };
+    "mkdirp-0.5.1" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+      };
+    };
+    "moment-2.22.2" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.22.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz";
+        sha1 = "3c257f9839fc0e93ff53149632239eb90783ff66";
+      };
+    };
+    "moment-timezone-0.5.21" = {
+      name = "moment-timezone";
+      packageName = "moment-timezone";
+      version = "0.5.21";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.21.tgz";
+        sha512 = "j96bAh4otsgj3lKydm3K7kdtA3iKf2m6MY2iSYCzCm5a1zmHo1g+aK3068dDEeocLZQIS9kU8bsdQHLqEvgW0A==";
+      };
+    };
+    "move-concurrently-1.0.1" = {
+      name = "move-concurrently";
+      packageName = "move-concurrently";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz";
+        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
+      };
+    };
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    };
+    "multipipe-0.1.2" = {
+      name = "multipipe";
+      packageName = "multipipe";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz";
+        sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
+      };
+    };
+    "mustache-2.3.0" = {
+      name = "mustache";
+      packageName = "mustache";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mustache/-/mustache-2.3.0.tgz";
+        sha1 = "4028f7778b17708a489930a6e52ac3bca0da41d0";
+      };
+    };
+    "mute-stream-0.0.5" = {
+      name = "mute-stream";
+      packageName = "mute-stream";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz";
+        sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
+      };
+    };
+    "mv-2.1.1" = {
+      name = "mv";
+      packageName = "mv";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz";
+        sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2";
+      };
+    };
+    "nan-2.10.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz";
+        sha512 = "bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==";
+      };
+    };
+    "nanomatch-1.2.13" = {
+      name = "nanomatch";
+      packageName = "nanomatch";
+      version = "1.2.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz";
+        sha512 = "fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==";
+      };
+    };
+    "natives-1.1.4" = {
+      name = "natives";
+      packageName = "natives";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natives/-/natives-1.1.4.tgz";
+        sha512 = "Q29yeg9aFKwhLVdkTAejM/HvYG0Y1Am1+HUkFQGn5k2j8GS+v60TVmZh6nujpEAj/qql+wGUrlryO8bF+b1jEg==";
+      };
+    };
+    "natural-compare-1.4.0" = {
+      name = "natural-compare";
+      packageName = "natural-compare";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz";
+        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+      };
+    };
+    "ncp-2.0.0" = {
+      name = "ncp";
+      packageName = "ncp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz";
+        sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3";
+      };
+    };
+    "needle-2.2.1" = {
+      name = "needle";
+      packageName = "needle";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/needle/-/needle-2.2.1.tgz";
+        sha512 = "t/ZswCM9JTWjAdXS9VpvqhI2Ct2sL2MdY4fUXqGJaGBk13ge99ObqRksRTbBE56K+wxUXwwfZYOuZHifFW9q+Q==";
+      };
+    };
+    "negotiator-0.6.1" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz";
+        sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
+      };
+    };
+    "next-tick-1.0.0" = {
+      name = "next-tick";
+      packageName = "next-tick";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
+        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
+      };
+    };
+    "no-case-2.3.2" = {
+      name = "no-case";
+      packageName = "no-case";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz";
+        sha512 = "rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==";
+      };
+    };
+    "nocache-2.0.0" = {
+      name = "nocache";
+      packageName = "nocache";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz";
+        sha1 = "202b48021a0c4cbde2df80de15a17443c8b43980";
+      };
+    };
+    "node-forge-0.7.5" = {
+      name = "node-forge";
+      packageName = "node-forge";
+      version = "0.7.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz";
+        sha512 = "MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==";
+      };
+    };
+    "node-libs-browser-0.7.0" = {
+      name = "node-libs-browser";
+      packageName = "node-libs-browser";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-0.7.0.tgz";
+        sha1 = "3e272c0819e308935e26674408d7af0e1491b83b";
+      };
+    };
+    "node-pre-gyp-0.10.3" = {
+      name = "node-pre-gyp";
+      packageName = "node-pre-gyp";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz";
+        sha512 = "d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A==";
+      };
+    };
+    "node-static-0.6.0" = {
+      name = "node-static";
+      packageName = "node-static";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-static/-/node-static-0.6.0.tgz";
+        sha1 = "e8543a897f3c82048220b39569284d44796eb1e2";
+      };
+    };
+    "nomnom-1.8.1" = {
+      name = "nomnom";
+      packageName = "nomnom";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz";
+        sha1 = "2151f722472ba79e50a76fc125bb8c8f2e4dc2a7";
+      };
+    };
+    "nopt-3.0.6" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    };
+    "nopt-4.0.1" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz";
+        sha1 = "d0d4685afd5415193c8c7505602d0d17cd64474d";
+      };
+    };
+    "normalize-package-data-2.4.0" = {
+      name = "normalize-package-data";
+      packageName = "normalize-package-data";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz";
+        sha512 = "9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==";
+      };
+    };
+    "normalize-path-2.1.1" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    };
+    "normalize-range-0.1.2" = {
+      name = "normalize-range";
+      packageName = "normalize-range";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz";
+        sha1 = "2d10c06bdfd312ea9777695a4d28439456b75942";
+      };
+    };
+    "normalize-url-1.9.1" = {
+      name = "normalize-url";
+      packageName = "normalize-url";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz";
+        sha1 = "2cc0d66b31ea23036458436e3620d85954c66c3c";
+      };
+    };
+    "npm-bundled-1.0.3" = {
+      name = "npm-bundled";
+      packageName = "npm-bundled";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz";
+        sha512 = "ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==";
+      };
+    };
+    "npm-packlist-1.1.11" = {
+      name = "npm-packlist";
+      packageName = "npm-packlist";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.11.tgz";
+        sha512 = "CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA==";
+      };
+    };
+    "npm-run-path-2.0.2" = {
+      name = "npm-run-path";
+      packageName = "npm-run-path";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
+        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
+      };
+    };
+    "npmlog-4.1.2" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
+      };
+    };
+    "nth-check-1.0.1" = {
+      name = "nth-check";
+      packageName = "nth-check";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz";
+        sha1 = "9929acdf628fc2c41098deab82ac580cf149aae4";
+      };
+    };
+    "num2fraction-1.2.2" = {
+      name = "num2fraction";
+      packageName = "num2fraction";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz";
+        sha1 = "6f682b6a027a4e9ddfa4564cd2589d1d4e669ede";
+      };
+    };
+    "number-is-nan-1.0.1" = {
+      name = "number-is-nan";
+      packageName = "number-is-nan";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz";
+        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+      };
+    };
+    "nwmatcher-1.3.9" = {
+      name = "nwmatcher";
+      packageName = "nwmatcher";
+      version = "1.3.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.9.tgz";
+        sha1 = "8bab486ff7fa3dfd086656bbe8b17116d3692d2a";
+      };
+    };
+    "nwmatcher-1.4.4" = {
+      name = "nwmatcher";
+      packageName = "nwmatcher";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz";
+        sha512 = "3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==";
+      };
+    };
+    "oauth-0.9.15" = {
+      name = "oauth";
+      packageName = "oauth";
+      version = "0.9.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth/-/oauth-0.9.15.tgz";
+        sha1 = "bd1fefaf686c96b75475aed5196412ff60cfb9c1";
+      };
+    };
+    "oauth-sign-0.8.2" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
+        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+      };
+    };
+    "object-assign-3.0.0" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz";
+        sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2";
+      };
+    };
+    "object-assign-4.1.0" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz";
+        sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0";
+      };
+    };
+    "object-assign-4.1.1" = {
+      name = "object-assign";
+      packageName = "object-assign";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz";
+        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+      };
+    };
+    "object-component-0.0.3" = {
+      name = "object-component";
+      packageName = "object-component";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz";
+        sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
+      };
+    };
+    "object-copy-0.1.0" = {
+      name = "object-copy";
+      packageName = "object-copy";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz";
+        sha1 = "7e7d858b781bd7c991a41ba975ed3812754e998c";
+      };
+    };
+    "object-keys-1.0.12" = {
+      name = "object-keys";
+      packageName = "object-keys";
+      version = "1.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz";
+        sha512 = "FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==";
+      };
+    };
+    "object-visit-1.0.1" = {
+      name = "object-visit";
+      packageName = "object-visit";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz";
+        sha1 = "f79c4493af0c5377b59fe39d395e41042dd045bb";
+      };
+    };
+    "object.defaults-1.1.0" = {
+      name = "object.defaults";
+      packageName = "object.defaults";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz";
+        sha1 = "3a7f868334b407dea06da16d88d5cd29e435fecf";
+      };
+    };
+    "object.map-1.0.1" = {
+      name = "object.map";
+      packageName = "object.map";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz";
+        sha1 = "cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37";
+      };
+    };
+    "object.omit-2.0.1" = {
+      name = "object.omit";
+      packageName = "object.omit";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz";
+        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
+      };
+    };
+    "object.pick-1.3.0" = {
+      name = "object.pick";
+      packageName = "object.pick";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz";
+        sha1 = "87a10ac4c1694bd2e1cbf53591a66141fb5dd747";
+      };
+    };
+    "on-finished-2.3.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
+        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+      };
+    };
+    "on-headers-1.0.1" = {
+      name = "on-headers";
+      packageName = "on-headers";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz";
+        sha1 = "928f5d0f470d49342651ea6794b0857c100693f7";
+      };
+    };
+    "once-1.3.3" = {
+      name = "once";
+      packageName = "once";
+      version = "1.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.3.3.tgz";
+        sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+      };
+    };
+    "onetime-1.1.0" = {
+      name = "onetime";
+      packageName = "onetime";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz";
+        sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
+      };
+    };
+    "optimist-0.6.1" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+        sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
+      };
+    };
+    "optionator-0.8.2" = {
+      name = "optionator";
+      packageName = "optionator";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz";
+        sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
+      };
+    };
+    "orchestrator-0.3.8" = {
+      name = "orchestrator";
+      packageName = "orchestrator";
+      version = "0.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz";
+        sha1 = "14e7e9e2764f7315fbac184e506c7aa6df94ad7e";
+      };
+    };
+    "ordered-read-streams-0.1.0" = {
+      name = "ordered-read-streams";
+      packageName = "ordered-read-streams";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz";
+        sha1 = "fd565a9af8eb4473ba69b6ed8a34352cb552f126";
+      };
+    };
+    "os-browserify-0.2.1" = {
+      name = "os-browserify";
+      packageName = "os-browserify";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz";
+        sha1 = "63fc4ccee5d2d7763d26bbf8601078e6c2e0044f";
+      };
+    };
+    "os-homedir-1.0.2" = {
+      name = "os-homedir";
+      packageName = "os-homedir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz";
+        sha1 = "ffbc4988336e0e833de0c168c7ef152121aa7fb3";
+      };
+    };
+    "os-locale-2.1.0" = {
+      name = "os-locale";
+      packageName = "os-locale";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
+        sha512 = "3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==";
+      };
+    };
+    "os-tmpdir-1.0.2" = {
+      name = "os-tmpdir";
+      packageName = "os-tmpdir";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
+        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
+      };
+    };
+    "osenv-0.1.5" = {
+      name = "osenv";
+      packageName = "osenv";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz";
+        sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
+      };
+    };
+    "output-file-sync-1.1.2" = {
+      name = "output-file-sync";
+      packageName = "output-file-sync";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz";
+        sha1 = "d0a33eefe61a205facb90092e826598d5245ce76";
+      };
+    };
+    "p-finally-1.0.0" = {
+      name = "p-finally";
+      packageName = "p-finally";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
+        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
+      };
+    };
+    "p-limit-1.3.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz";
+        sha512 = "vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==";
+      };
+    };
+    "p-locate-2.0.0" = {
+      name = "p-locate";
+      packageName = "p-locate";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz";
+        sha1 = "20a0103b222a70c8fd39cc2e580680f3dde5ec43";
+      };
+    };
+    "p-try-1.0.0" = {
+      name = "p-try";
+      packageName = "p-try";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz";
+        sha1 = "cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3";
+      };
+    };
+    "package-1.0.1" = {
+      name = "package";
+      packageName = "package";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package/-/package-1.0.1.tgz";
+        sha1 = "d25a1f99e2506dcb27d6704b83dca8a312e4edcc";
+      };
+    };
+    "packet-reader-0.3.1" = {
+      name = "packet-reader";
+      packageName = "packet-reader";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/packet-reader/-/packet-reader-0.3.1.tgz";
+        sha1 = "cd62e60af8d7fea8a705ec4ff990871c46871f27";
+      };
+    };
+    "pako-0.2.9" = {
+      name = "pako";
+      packageName = "pako";
+      version = "0.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz";
+        sha1 = "f3f7522f4ef782348da8161bad9ecfd51bf83a75";
+      };
+    };
+    "parallel-transform-1.1.0" = {
+      name = "parallel-transform";
+      packageName = "parallel-transform";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz";
+        sha1 = "d410f065b05da23081fcd10f28854c29bda33b06";
+      };
+    };
+    "param-case-2.1.1" = {
+      name = "param-case";
+      packageName = "param-case";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz";
+        sha1 = "df94fd8cf6531ecf75e6bef9a0858fbc72be2247";
+      };
+    };
+    "parse-entities-1.1.2" = {
+      name = "parse-entities";
+      packageName = "parse-entities";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-entities/-/parse-entities-1.1.2.tgz";
+        sha512 = "5N9lmQ7tmxfXf+hO3X6KRG6w7uYO/HL9fHalSySTdyn63C3WNvTM/1R8tn1u1larNcEbo3Slcy2bsVDQqvEpUg==";
+      };
+    };
+    "parse-filepath-1.0.2" = {
+      name = "parse-filepath";
+      packageName = "parse-filepath";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz";
+        sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891";
+      };
+    };
+    "parse-glob-3.0.4" = {
+      name = "parse-glob";
+      packageName = "parse-glob";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz";
+        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
+      };
+    };
+    "parse-json-2.2.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+        sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+      };
+    };
+    "parse-json-4.0.0" = {
+      name = "parse-json";
+      packageName = "parse-json";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz";
+        sha1 = "be35f5425be1f7f6c747184f98a788cb99477ee0";
+      };
+    };
+    "parse-passwd-1.0.0" = {
+      name = "parse-passwd";
+      packageName = "parse-passwd";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz";
+        sha1 = "6d5b934a456993b23d37f40a382d6f1666a8e5c6";
+      };
+    };
+    "parse5-1.5.1" = {
+      name = "parse5";
+      packageName = "parse5";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz";
+        sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94";
+      };
+    };
+    "parseqs-0.0.5" = {
+      name = "parseqs";
+      packageName = "parseqs";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz";
+        sha1 = "d5208a3738e46766e291ba2ea173684921a8b89d";
+      };
+    };
+    "parseuri-0.0.5" = {
+      name = "parseuri";
+      packageName = "parseuri";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz";
+        sha1 = "80204a50d4dbb779bfdc6ebe2778d90e4bce320a";
+      };
+    };
+    "parseurl-1.3.2" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";
+        sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
+      };
+    };
+    "pascalcase-0.1.1" = {
+      name = "pascalcase";
+      packageName = "pascalcase";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz";
+        sha1 = "b363e55e8006ca6fe21784d2db22bd15d7917f14";
+      };
+    };
+    "passport-oauth-1.0.0" = {
+      name = "passport-oauth";
+      packageName = "passport-oauth";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport-oauth/-/passport-oauth-1.0.0.tgz";
+        sha1 = "90aff63387540f02089af28cdad39ea7f80d77df";
+      };
+    };
+    "passport-oauth1-1.1.0" = {
+      name = "passport-oauth1";
+      packageName = "passport-oauth1";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport-oauth1/-/passport-oauth1-1.1.0.tgz";
+        sha1 = "a7de988a211f9cf4687377130ea74df32730c918";
+      };
+    };
+    "passport-oauth2-1.4.0" = {
+      name = "passport-oauth2";
+      packageName = "passport-oauth2";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.4.0.tgz";
+        sha1 = "f62f81583cbe12609be7ce6f160b9395a27b86ad";
+      };
+    };
+    "passport-strategy-1.0.0" = {
+      name = "passport-strategy";
+      packageName = "passport-strategy";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
+        sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
+      };
+    };
+    "path-browserify-0.0.0" = {
+      name = "path-browserify";
+      packageName = "path-browserify";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
+        sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
+      };
+    };
+    "path-exists-2.1.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
+        sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
+      };
+    };
+    "path-exists-3.0.0" = {
+      name = "path-exists";
+      packageName = "path-exists";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz";
+        sha1 = "ce0ebeaa5f78cb18925ea7d810d7b59b010fd515";
+      };
+    };
+    "path-is-absolute-1.0.1" = {
+      name = "path-is-absolute";
+      packageName = "path-is-absolute";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
+        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+      };
+    };
+    "path-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
+    "path-key-2.0.1" = {
+      name = "path-key";
+      packageName = "path-key";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
+        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
+      };
+    };
+    "path-parse-1.0.5" = {
+      name = "path-parse";
+      packageName = "path-parse";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz";
+        sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
+      };
+    };
+    "path-root-0.1.1" = {
+      name = "path-root";
+      packageName = "path-root";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz";
+        sha1 = "9a4a6814cac1c0cd73360a95f32083c8ea4745b7";
+      };
+    };
+    "path-root-regex-0.1.2" = {
+      name = "path-root-regex";
+      packageName = "path-root-regex";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz";
+        sha1 = "bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d";
+      };
+    };
+    "path-to-regexp-0.1.7" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
+        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+      };
+    };
+    "path-type-2.0.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz";
+        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
+      };
+    };
+    "path-type-3.0.0" = {
+      name = "path-type";
+      packageName = "path-type";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz";
+        sha512 = "T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==";
+      };
+    };
+    "pause-0.0.1" = {
+      name = "pause";
+      packageName = "pause";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      };
+    };
+    "pbkdf2-compat-2.0.1" = {
+      name = "pbkdf2-compat";
+      packageName = "pbkdf2-compat";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz";
+        sha1 = "b6e0c8fa99494d94e0511575802a59a5c142f288";
+      };
+    };
+    "pend-1.2.0" = {
+      name = "pend";
+      packageName = "pend";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+      };
+    };
+    "performance-now-0.2.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
+        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+      };
+    };
+    "performance-now-2.1.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    };
+    "pg-connection-string-0.1.3" = {
+      name = "pg-connection-string";
+      packageName = "pg-connection-string";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz";
+        sha1 = "da1847b20940e42ee1492beaf65d49d91b245df7";
+      };
+    };
+    "pg-int8-1.0.1" = {
+      name = "pg-int8";
+      packageName = "pg-int8";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz";
+        sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
+      };
+    };
+    "pg-pool-1.8.0" = {
+      name = "pg-pool";
+      packageName = "pg-pool";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-1.8.0.tgz";
+        sha1 = "f7ec73824c37a03f076f51bfdf70e340147c4f37";
+      };
+    };
+    "pg-types-1.13.0" = {
+      name = "pg-types";
+      packageName = "pg-types";
+      version = "1.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg-types/-/pg-types-1.13.0.tgz";
+        sha512 = "lfKli0Gkl/+za/+b6lzENajczwZHc7D5kiUCZfgm914jipD2kIOIvEkAhZ8GrW3/TUoP9w8FHjwpPObBye5KQQ==";
+      };
+    };
+    "pgpass-1.0.2" = {
+      name = "pgpass";
+      packageName = "pgpass";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pgpass/-/pgpass-1.0.2.tgz";
+        sha1 = "2a7bb41b6065b67907e91da1b07c1847c877b306";
+      };
+    };
+    "phantom-4.0.12" = {
+      name = "phantom";
+      packageName = "phantom";
+      version = "4.0.12";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/phantom/-/phantom-4.0.12.tgz";
+        sha512 = "Tz82XhtPmwCk1FFPmecy7yRGZG2btpzY2KI9fcoPT7zT9det0CcMyfBFPp1S8DqzsnQnm8ZYEfdy528mwVtksA==";
+      };
+    };
+    "phantomjs-prebuilt-2.1.16" = {
+      name = "phantomjs-prebuilt";
+      packageName = "phantomjs-prebuilt";
+      version = "2.1.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz";
+        sha1 = "efd212a4a3966d3647684ea8ba788549be2aefef";
+      };
+    };
+    "pify-2.3.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
+        sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
+      };
+    };
+    "pify-3.0.0" = {
+      name = "pify";
+      packageName = "pify";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
+        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
+      };
+    };
+    "pinkie-2.0.4" = {
+      name = "pinkie";
+      packageName = "pinkie";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+        sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+      };
+    };
+    "pinkie-promise-2.0.1" = {
+      name = "pinkie-promise";
+      packageName = "pinkie-promise";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+        sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+      };
+    };
+    "pkg-conf-2.1.0" = {
+      name = "pkg-conf";
+      packageName = "pkg-conf";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz";
+        sha1 = "2126514ca6f2abfebd168596df18ba57867f0058";
+      };
+    };
+    "pkg-config-1.1.1" = {
+      name = "pkg-config";
+      packageName = "pkg-config";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz";
+        sha1 = "557ef22d73da3c8837107766c52eadabde298fe4";
+      };
+    };
+    "pkg-dir-1.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz";
+        sha1 = "7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4";
+      };
+    };
+    "pkg-dir-2.0.0" = {
+      name = "pkg-dir";
+      packageName = "pkg-dir";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz";
+        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
+      };
+    };
+    "pkginfo-0.2.3" = {
+      name = "pkginfo";
+      packageName = "pkginfo";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
+        sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
+      };
+    };
+    "platform-1.3.5" = {
+      name = "platform";
+      packageName = "platform";
+      version = "1.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz";
+        sha512 = "TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==";
+      };
+    };
+    "pluralize-1.2.1" = {
+      name = "pluralize";
+      packageName = "pluralize";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz";
+        sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
+      };
+    };
+    "posix-character-classes-0.1.1" = {
+      name = "posix-character-classes";
+      packageName = "posix-character-classes";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz";
+        sha1 = "01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab";
+      };
+    };
+    "postcss-5.2.18" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "5.2.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz";
+        sha512 = "zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==";
+      };
+    };
+    "postcss-6.0.23" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "6.0.23";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz";
+        sha512 = "soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==";
+      };
+    };
+    "postcss-calc-5.3.1" = {
+      name = "postcss-calc";
+      packageName = "postcss-calc";
+      version = "5.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz";
+        sha1 = "77bae7ca928ad85716e2fda42f261bf7c1d65b5e";
+      };
+    };
+    "postcss-colormin-2.2.2" = {
+      name = "postcss-colormin";
+      packageName = "postcss-colormin";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz";
+        sha1 = "6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b";
+      };
+    };
+    "postcss-convert-values-2.6.1" = {
+      name = "postcss-convert-values";
+      packageName = "postcss-convert-values";
+      version = "2.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz";
+        sha1 = "bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d";
+      };
+    };
+    "postcss-discard-comments-2.0.4" = {
+      name = "postcss-discard-comments";
+      packageName = "postcss-discard-comments";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz";
+        sha1 = "befe89fafd5b3dace5ccce51b76b81514be00e3d";
+      };
+    };
+    "postcss-discard-duplicates-2.1.0" = {
+      name = "postcss-discard-duplicates";
+      packageName = "postcss-discard-duplicates";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz";
+        sha1 = "b9abf27b88ac188158a5eb12abcae20263b91932";
+      };
+    };
+    "postcss-discard-empty-2.1.0" = {
+      name = "postcss-discard-empty";
+      packageName = "postcss-discard-empty";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz";
+        sha1 = "d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5";
+      };
+    };
+    "postcss-discard-overridden-0.1.1" = {
+      name = "postcss-discard-overridden";
+      packageName = "postcss-discard-overridden";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz";
+        sha1 = "8b1eaf554f686fb288cd874c55667b0aa3668d58";
+      };
+    };
+    "postcss-discard-unused-2.2.3" = {
+      name = "postcss-discard-unused";
+      packageName = "postcss-discard-unused";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz";
+        sha1 = "bce30b2cc591ffc634322b5fb3464b6d934f4433";
+      };
+    };
+    "postcss-filter-plugins-2.0.3" = {
+      name = "postcss-filter-plugins";
+      packageName = "postcss-filter-plugins";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz";
+        sha512 = "T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==";
+      };
+    };
+    "postcss-merge-idents-2.1.7" = {
+      name = "postcss-merge-idents";
+      packageName = "postcss-merge-idents";
+      version = "2.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz";
+        sha1 = "4c5530313c08e1d5b3bbf3d2bbc747e278eea270";
+      };
+    };
+    "postcss-merge-longhand-2.0.2" = {
+      name = "postcss-merge-longhand";
+      packageName = "postcss-merge-longhand";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz";
+        sha1 = "23d90cd127b0a77994915332739034a1a4f3d658";
+      };
+    };
+    "postcss-merge-rules-2.1.2" = {
+      name = "postcss-merge-rules";
+      packageName = "postcss-merge-rules";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz";
+        sha1 = "d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721";
+      };
+    };
+    "postcss-message-helpers-2.0.0" = {
+      name = "postcss-message-helpers";
+      packageName = "postcss-message-helpers";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz";
+        sha1 = "a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e";
+      };
+    };
+    "postcss-minify-font-values-1.0.5" = {
+      name = "postcss-minify-font-values";
+      packageName = "postcss-minify-font-values";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz";
+        sha1 = "4b58edb56641eba7c8474ab3526cafd7bbdecb69";
+      };
+    };
+    "postcss-minify-gradients-1.0.5" = {
+      name = "postcss-minify-gradients";
+      packageName = "postcss-minify-gradients";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz";
+        sha1 = "5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1";
+      };
+    };
+    "postcss-minify-params-1.2.2" = {
+      name = "postcss-minify-params";
+      packageName = "postcss-minify-params";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz";
+        sha1 = "ad2ce071373b943b3d930a3fa59a358c28d6f1f3";
+      };
+    };
+    "postcss-minify-selectors-2.1.1" = {
+      name = "postcss-minify-selectors";
+      packageName = "postcss-minify-selectors";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz";
+        sha1 = "b2c6a98c0072cf91b932d1a496508114311735bf";
+      };
+    };
+    "postcss-modules-extract-imports-1.2.0" = {
+      name = "postcss-modules-extract-imports";
+      packageName = "postcss-modules-extract-imports";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz";
+        sha1 = "66140ecece38ef06bf0d3e355d69bf59d141ea85";
+      };
+    };
+    "postcss-modules-local-by-default-1.2.0" = {
+      name = "postcss-modules-local-by-default";
+      packageName = "postcss-modules-local-by-default";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz";
+        sha1 = "f7d80c398c5a393fa7964466bd19500a7d61c069";
+      };
+    };
+    "postcss-modules-scope-1.1.0" = {
+      name = "postcss-modules-scope";
+      packageName = "postcss-modules-scope";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz";
+        sha1 = "d6ea64994c79f97b62a72b426fbe6056a194bb90";
+      };
+    };
+    "postcss-modules-values-1.3.0" = {
+      name = "postcss-modules-values";
+      packageName = "postcss-modules-values";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz";
+        sha1 = "ecffa9d7e192518389f42ad0e83f72aec456ea20";
+      };
+    };
+    "postcss-normalize-charset-1.1.1" = {
+      name = "postcss-normalize-charset";
+      packageName = "postcss-normalize-charset";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz";
+        sha1 = "ef9ee71212d7fe759c78ed162f61ed62b5cb93f1";
+      };
+    };
+    "postcss-normalize-url-3.0.8" = {
+      name = "postcss-normalize-url";
+      packageName = "postcss-normalize-url";
+      version = "3.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz";
+        sha1 = "108f74b3f2fcdaf891a2ffa3ea4592279fc78222";
+      };
+    };
+    "postcss-ordered-values-2.2.3" = {
+      name = "postcss-ordered-values";
+      packageName = "postcss-ordered-values";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz";
+        sha1 = "eec6c2a67b6c412a8db2042e77fe8da43f95c11d";
+      };
+    };
+    "postcss-reduce-idents-2.4.0" = {
+      name = "postcss-reduce-idents";
+      packageName = "postcss-reduce-idents";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz";
+        sha1 = "c2c6d20cc958284f6abfbe63f7609bf409059ad3";
+      };
+    };
+    "postcss-reduce-initial-1.0.1" = {
+      name = "postcss-reduce-initial";
+      packageName = "postcss-reduce-initial";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz";
+        sha1 = "68f80695f045d08263a879ad240df8dd64f644ea";
+      };
+    };
+    "postcss-reduce-transforms-1.0.4" = {
+      name = "postcss-reduce-transforms";
+      packageName = "postcss-reduce-transforms";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz";
+        sha1 = "ff76f4d8212437b31c298a42d2e1444025771ae1";
+      };
+    };
+    "postcss-selector-parser-2.2.3" = {
+      name = "postcss-selector-parser";
+      packageName = "postcss-selector-parser";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz";
+        sha1 = "f9437788606c3c9acee16ffe8d8b16297f27bb90";
+      };
+    };
+    "postcss-svgo-2.1.6" = {
+      name = "postcss-svgo";
+      packageName = "postcss-svgo";
+      version = "2.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz";
+        sha1 = "b6df18aa613b666e133f08adb5219c2684ac108d";
+      };
+    };
+    "postcss-unique-selectors-2.0.2" = {
+      name = "postcss-unique-selectors";
+      packageName = "postcss-unique-selectors";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz";
+        sha1 = "981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d";
+      };
+    };
+    "postcss-value-parser-3.3.0" = {
+      name = "postcss-value-parser";
+      packageName = "postcss-value-parser";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz";
+        sha1 = "87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15";
+      };
+    };
+    "postcss-zindex-2.2.0" = {
+      name = "postcss-zindex";
+      packageName = "postcss-zindex";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz";
+        sha1 = "d2109ddc055b91af67fc4cb3b025946639d2af22";
+      };
+    };
+    "postgres-array-1.0.2" = {
+      name = "postgres-array";
+      packageName = "postgres-array";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-array/-/postgres-array-1.0.2.tgz";
+        sha1 = "8e0b32eb03bf77a5c0a7851e0441c169a256a238";
+      };
+    };
+    "postgres-bytea-1.0.0" = {
+      name = "postgres-bytea";
+      packageName = "postgres-bytea";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz";
+        sha1 = "027b533c0aa890e26d172d47cf9ccecc521acd35";
+      };
+    };
+    "postgres-date-1.0.3" = {
+      name = "postgres-date";
+      packageName = "postgres-date";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.3.tgz";
+        sha1 = "e2d89702efdb258ff9d9cee0fe91bd06975257a8";
+      };
+    };
+    "postgres-interval-1.1.2" = {
+      name = "postgres-interval";
+      packageName = "postgres-interval";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.1.2.tgz";
+        sha512 = "fC3xNHeTskCxL1dC8KOtxXt7YeFmlbTYtn7ul8MkVERuTmf7pI4DrkAxcw3kh1fQ9uz4wQmd03a1mRiXUZChfQ==";
+      };
+    };
+    "precond-0.2.3" = {
+      name = "precond";
+      packageName = "precond";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz";
+        sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac";
+      };
+    };
+    "prelude-ls-1.1.2" = {
+      name = "prelude-ls";
+      packageName = "prelude-ls";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+      };
+    };
+    "prepend-http-1.0.4" = {
+      name = "prepend-http";
+      packageName = "prepend-http";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
+        sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+      };
+    };
+    "preserve-0.2.0" = {
+      name = "preserve";
+      packageName = "preserve";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz";
+        sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
+      };
+    };
+    "pretty-bytes-3.0.1" = {
+      name = "pretty-bytes";
+      packageName = "pretty-bytes";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz";
+        sha1 = "27d0008d778063a0b4811bb35c79f1bd5d5fbccf";
+      };
+    };
+    "pretty-error-2.1.1" = {
+      name = "pretty-error";
+      packageName = "pretty-error";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz";
+        sha1 = "5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3";
+      };
+    };
+    "pretty-hrtime-1.0.3" = {
+      name = "pretty-hrtime";
+      packageName = "pretty-hrtime";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
+        sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1";
+      };
+    };
+    "private-0.1.8" = {
+      name = "private";
+      packageName = "private";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/private/-/private-0.1.8.tgz";
+        sha512 = "VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==";
+      };
+    };
+    "process-0.11.10" = {
+      name = "process";
+      packageName = "process";
+      version = "0.11.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
+        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
+      };
+    };
+    "process-nextick-args-1.0.7" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+        sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+      };
+    };
+    "process-nextick-args-2.0.0" = {
+      name = "process-nextick-args";
+      packageName = "process-nextick-args";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz";
+        sha512 = "MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==";
+      };
+    };
+    "progress-1.1.8" = {
+      name = "progress";
+      packageName = "progress";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
+        sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
+      };
+    };
+    "promise-7.3.1" = {
+      name = "promise";
+      packageName = "promise";
+      version = "7.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz";
+        sha512 = "nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==";
+      };
+    };
+    "promise-inflight-1.0.1" = {
+      name = "promise-inflight";
+      packageName = "promise-inflight";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz";
+        sha1 = "98472870bf228132fcbdd868129bad12c3c029e3";
+      };
+    };
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    };
+    "proxy-addr-2.0.4" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz";
+        sha512 = "5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==";
+      };
+    };
+    "prr-1.0.1" = {
+      name = "prr";
+      packageName = "prr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz";
+        sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
+      };
+    };
+    "pseudomap-1.0.2" = {
+      name = "pseudomap";
+      packageName = "pseudomap";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
+        sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
+      };
+    };
+    "psl-1.1.29" = {
+      name = "psl";
+      packageName = "psl";
+      version = "1.1.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz";
+        sha512 = "AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==";
+      };
+    };
+    "pump-2.0.1" = {
+      name = "pump";
+      packageName = "pump";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz";
+        sha512 = "ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==";
+      };
+    };
+    "pumpify-1.5.1" = {
+      name = "pumpify";
+      packageName = "pumpify";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz";
+        sha512 = "oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==";
+      };
+    };
+    "punycode-1.3.2" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
+        sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "punycode-2.1.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
+      };
+    };
+    "q-1.5.1" = {
+      name = "q";
+      packageName = "q";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/q/-/q-1.5.1.tgz";
+        sha1 = "7e32f75b41381291d04611f1bf14109ac00651d7";
+      };
+    };
+    "qs-2.3.3" = {
+      name = "qs";
+      packageName = "qs";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
+        sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
+      };
+    };
+    "qs-6.4.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
+        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
+      };
+    };
+    "qs-6.5.1" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz";
+        sha512 = "eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==";
+      };
+    };
+    "qs-6.5.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
+        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+      };
+    };
+    "query-string-4.3.4" = {
+      name = "query-string";
+      packageName = "query-string";
+      version = "4.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz";
+        sha1 = "bbb693b9ca915c232515b228b1a02b609043dbeb";
+      };
+    };
+    "querystring-0.2.0" = {
+      name = "querystring";
+      packageName = "querystring";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
+        sha1 = "b209849203bb25df820da756e747005878521620";
+      };
+    };
+    "querystring-es3-0.2.1" = {
+      name = "querystring-es3";
+      packageName = "querystring-es3";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
+        sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
+      };
+    };
+    "random-bytes-1.0.0" = {
+      name = "random-bytes";
+      packageName = "random-bytes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz";
+        sha1 = "4f68a1dc0ae58bd3fb95848c30324db75d64360b";
+      };
+    };
+    "randomatic-3.0.0" = {
+      name = "randomatic";
+      packageName = "randomatic";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz";
+        sha512 = "VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==";
+      };
+    };
+    "range-parser-1.2.0" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz";
+        sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
+      };
+    };
+    "raphael-2.1.4" = {
+      name = "raphael";
+      packageName = "raphael";
+      version = "2.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raphael/-/raphael-2.1.4.tgz";
+        sha1 = "b09ca664ad048b814bb2ff5d4d1e75838cab9c97";
+      };
+    };
+    "raphael-2.2.7" = {
+      name = "raphael";
+      packageName = "raphael";
+      version = "2.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raphael/-/raphael-2.2.7.tgz";
+        sha1 = "231b19141f8d086986d8faceb66f8b562ee2c810";
+      };
+    };
+    "raw-body-2.3.2" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz";
+        sha1 = "bcd60c77d3eb93cde0050295c3f379389bc88f89";
+      };
+    };
+    "raw-body-2.3.3" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz";
+        sha512 = "9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==";
+      };
+    };
+    "raw-loader-0.5.1" = {
+      name = "raw-loader";
+      packageName = "raw-loader";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz";
+        sha1 = "0c3d0beaed8a01c966d9787bf778281252a979aa";
+      };
+    };
+    "rc-1.2.8" = {
+      name = "rc";
+      packageName = "rc";
+      version = "1.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
+      };
+    };
+    "read-pkg-2.0.0" = {
+      name = "read-pkg";
+      packageName = "read-pkg";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz";
+        sha1 = "8ef1c0623c6a6db0dc6713c4bfac46332b2368f8";
+      };
+    };
+    "read-pkg-up-2.0.0" = {
+      name = "read-pkg-up";
+      packageName = "read-pkg-up";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
+        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
+      };
+    };
+    "readable-stream-1.0.27-1" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.0.27-1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+        sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
+      };
+    };
+    "readable-stream-1.0.34" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.0.34";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz";
+        sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c";
+      };
+    };
+    "readable-stream-1.1.14" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "1.1.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
+        sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+      };
+    };
+    "readable-stream-2.0.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz";
+        sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
+      };
+    };
+    "readable-stream-2.3.6" = {
+      name = "readable-stream";
+      packageName = "readable-stream";
+      version = "2.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz";
+        sha512 = "tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==";
+      };
+    };
+    "readdirp-2.1.0" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz";
+        sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78";
+      };
+    };
+    "readline2-1.0.1" = {
+      name = "readline2";
+      packageName = "readline2";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz";
+        sha1 = "41059608ffc154757b715d9989d199ffbf372e35";
+      };
+    };
+    "rechoir-0.6.2" = {
+      name = "rechoir";
+      packageName = "rechoir";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz";
+        sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
+      };
+    };
+    "redefine-0.2.1" = {
+      name = "redefine";
+      packageName = "redefine";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redefine/-/redefine-0.2.1.tgz";
+        sha1 = "e89ee7a6f24d19fff62590569332dc60380a89a3";
+      };
+    };
+    "reduce-component-1.0.1" = {
+      name = "reduce-component";
+      packageName = "reduce-component";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+        sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
+      };
+    };
+    "reduce-css-calc-1.3.0" = {
+      name = "reduce-css-calc";
+      packageName = "reduce-css-calc";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz";
+        sha1 = "747c914e049614a4c9cfbba629871ad1d2927716";
+      };
+    };
+    "reduce-function-call-1.0.2" = {
+      name = "reduce-function-call";
+      packageName = "reduce-function-call";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz";
+        sha1 = "5a200bf92e0e37751752fe45b0ab330fd4b6be99";
+      };
+    };
+    "referrer-policy-1.1.0" = {
+      name = "referrer-policy";
+      packageName = "referrer-policy";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz";
+        sha1 = "35774eb735bf50fb6c078e83334b472350207d79";
+      };
+    };
+    "regenerate-1.4.0" = {
+      name = "regenerate";
+      packageName = "regenerate";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz";
+        sha512 = "1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==";
+      };
+    };
+    "regenerator-runtime-0.10.5" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.10.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz";
+        sha1 = "336c3efc1220adcedda2c9fab67b5a7955a33658";
+      };
+    };
+    "regenerator-runtime-0.11.1" = {
+      name = "regenerator-runtime";
+      packageName = "regenerator-runtime";
+      version = "0.11.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz";
+        sha512 = "MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==";
+      };
+    };
+    "regenerator-transform-0.10.1" = {
+      name = "regenerator-transform";
+      packageName = "regenerator-transform";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz";
+        sha512 = "PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==";
+      };
+    };
+    "regex-cache-0.4.4" = {
+      name = "regex-cache";
+      packageName = "regex-cache";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz";
+        sha512 = "nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==";
+      };
+    };
+    "regex-not-1.0.2" = {
+      name = "regex-not";
+      packageName = "regex-not";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz";
+        sha512 = "J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==";
+      };
+    };
+    "regexpu-core-1.0.0" = {
+      name = "regexpu-core";
+      packageName = "regexpu-core";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz";
+        sha1 = "86a763f58ee4d7c2f6b102e4764050de7ed90c6b";
+      };
+    };
+    "regexpu-core-2.0.0" = {
+      name = "regexpu-core";
+      packageName = "regexpu-core";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz";
+        sha1 = "49d038837b8dcf8bfa5b9a42139938e6ea2ae240";
+      };
+    };
+    "regjsgen-0.2.0" = {
+      name = "regjsgen";
+      packageName = "regjsgen";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz";
+        sha1 = "6c016adeac554f75823fe37ac05b92d5a4edb1f7";
+      };
+    };
+    "regjsparser-0.1.5" = {
+      name = "regjsparser";
+      packageName = "regjsparser";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz";
+        sha1 = "7ee8f84dc6fa792d3fd0ae228d24bd949ead205c";
+      };
+    };
+    "relateurl-0.2.7" = {
+      name = "relateurl";
+      packageName = "relateurl";
+      version = "0.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz";
+        sha1 = "54dbf377e51440aca90a4cd274600d3ff2d888a9";
+      };
+    };
+    "remark-5.1.0" = {
+      name = "remark";
+      packageName = "remark";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark/-/remark-5.1.0.tgz";
+        sha1 = "cb463bd3dbcb4b99794935eee1cf71d7a8e3068c";
+      };
+    };
+    "remark-parse-1.1.0" = {
+      name = "remark-parse";
+      packageName = "remark-parse";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-1.1.0.tgz";
+        sha1 = "c3ca10f9a8da04615c28f09aa4e304510526ec21";
+      };
+    };
+    "remark-stringify-1.1.0" = {
+      name = "remark-stringify";
+      packageName = "remark-stringify";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remark-stringify/-/remark-stringify-1.1.0.tgz";
+        sha1 = "a7105e25b9ee2bf9a49b75d2c423f11b06ae2092";
+      };
+    };
+    "remarkable-1.7.1" = {
+      name = "remarkable";
+      packageName = "remarkable";
+      version = "1.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz";
+        sha1 = "aaca4972100b66a642a63a1021ca4bac1be3bff6";
+      };
+    };
+    "remove-trailing-separator-1.1.0" = {
+      name = "remove-trailing-separator";
+      packageName = "remove-trailing-separator";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    };
+    "renderkid-2.0.1" = {
+      name = "renderkid";
+      packageName = "renderkid";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz";
+        sha1 = "898cabfc8bede4b7b91135a3ffd323e58c0db319";
+      };
+    };
+    "repeat-element-1.1.2" = {
+      name = "repeat-element";
+      packageName = "repeat-element";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz";
+        sha1 = "ef089a178d1483baae4d93eb98b4f9e4e11d990a";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "repeating-2.0.1" = {
+      name = "repeating";
+      packageName = "repeating";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
+        sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+      };
+    };
+    "replace-ext-0.0.1" = {
+      name = "replace-ext";
+      packageName = "replace-ext";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz";
+        sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924";
+      };
+    };
+    "request-2.81.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.81.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.81.0.tgz";
+        sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
+      };
+    };
+    "request-2.87.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.87.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.87.0.tgz";
+        sha512 = "fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==";
+      };
+    };
+    "request-progress-2.0.1" = {
+      name = "request-progress";
+      packageName = "request-progress";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz";
+        sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
+      };
+    };
+    "require-directory-2.1.1" = {
+      name = "require-directory";
+      packageName = "require-directory";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz";
+        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+      };
+    };
+    "require-main-filename-1.0.1" = {
+      name = "require-main-filename";
+      packageName = "require-main-filename";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
+        sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
+      };
+    };
+    "require-relative-0.8.7" = {
+      name = "require-relative";
+      packageName = "require-relative";
+      version = "0.8.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz";
+        sha1 = "7999539fc9e047a37928fa196f8e1563dabd36de";
+      };
+    };
+    "require-uncached-1.0.3" = {
+      name = "require-uncached";
+      packageName = "require-uncached";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz";
+        sha1 = "4e0d56d6c9662fd31e43011c4b95aa49955421d3";
+      };
+    };
+    "resolve-1.8.1" = {
+      name = "resolve";
+      packageName = "resolve";
+      version = "1.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz";
+        sha512 = "AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==";
+      };
+    };
+    "resolve-dir-0.1.1" = {
+      name = "resolve-dir";
+      packageName = "resolve-dir";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz";
+        sha1 = "b219259a5602fac5c5c496ad894a6e8cc430261e";
+      };
+    };
+    "resolve-dir-1.0.1" = {
+      name = "resolve-dir";
+      packageName = "resolve-dir";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz";
+        sha1 = "79a40644c362be82f26effe739c9bb5382046f43";
+      };
+    };
+    "resolve-from-1.0.1" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz";
+        sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
+      };
+    };
+    "resolve-url-0.2.1" = {
+      name = "resolve-url";
+      packageName = "resolve-url";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz";
+        sha1 = "2c637fe77c893afd2a663fe21aa9080068e2052a";
+      };
+    };
+    "restore-cursor-1.0.1" = {
+      name = "restore-cursor";
+      packageName = "restore-cursor";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz";
+        sha1 = "34661f46886327fed2991479152252df92daa541";
+      };
+    };
+    "ret-0.1.15" = {
+      name = "ret";
+      packageName = "ret";
+      version = "0.1.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz";
+        sha512 = "TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==";
+      };
+    };
+    "retry-as-promised-2.3.2" = {
+      name = "retry-as-promised";
+      packageName = "retry-as-promised";
+      version = "2.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-2.3.2.tgz";
+        sha1 = "cd974ee4fd9b5fe03cbf31871ee48221c07737b7";
+      };
+    };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
+    "rimraf-2.4.5" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz";
+        sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da";
+      };
+    };
+    "rimraf-2.6.2" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz";
+        sha512 = "lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==";
+      };
+    };
+    "ripemd160-0.2.0" = {
+      name = "ripemd160";
+      packageName = "ripemd160";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz";
+        sha1 = "2bf198bde167cacfa51c0a928e84b68bbe171fce";
+      };
+    };
+    "rollup-0.41.6" = {
+      name = "rollup";
+      packageName = "rollup";
+      version = "0.41.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rollup/-/rollup-0.41.6.tgz";
+        sha1 = "e0d05497877a398c104d816d2733a718a7a94e2a";
+      };
+    };
+    "rollup-plugin-buble-0.15.0" = {
+      name = "rollup-plugin-buble";
+      packageName = "rollup-plugin-buble";
+      version = "0.15.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.15.0.tgz";
+        sha1 = "83c3e89c7fd2266c7918f41ba3980313519c7fd0";
+      };
+    };
+    "rollup-pluginutils-1.5.2" = {
+      name = "rollup-pluginutils";
+      packageName = "rollup-pluginutils";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz";
+        sha1 = "1e156e778f94b7255bfa1b3d0178be8f5c552408";
+      };
+    };
+    "rollup-watch-3.2.2" = {
+      name = "rollup-watch";
+      packageName = "rollup-watch";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rollup-watch/-/rollup-watch-3.2.2.tgz";
+        sha1 = "5e574232e9ef36da9177f46946d8080cb267354b";
+      };
+    };
+    "run-async-0.1.0" = {
+      name = "run-async";
+      packageName = "run-async";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz";
+        sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389";
+      };
+    };
+    "run-parallel-1.1.9" = {
+      name = "run-parallel";
+      packageName = "run-parallel";
+      version = "1.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz";
+        sha512 = "DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==";
+      };
+    };
+    "run-queue-1.0.3" = {
+      name = "run-queue";
+      packageName = "run-queue";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz";
+        sha1 = "e848396f057d223f24386924618e25694161ec47";
+      };
+    };
+    "rx-lite-3.1.2" = {
+      name = "rx-lite";
+      packageName = "rx-lite";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz";
+        sha1 = "19ce502ca572665f3b647b10939f97fd1615f102";
+      };
+    };
+    "safe-buffer-5.1.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
+        sha512 = "kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==";
+      };
+    };
+    "safe-buffer-5.1.2" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
+      };
+    };
+    "safe-json-stringify-1.2.0" = {
+      name = "safe-json-stringify";
+      packageName = "safe-json-stringify";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz";
+        sha512 = "gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==";
+      };
+    };
+    "safe-regex-1.1.0" = {
+      name = "safe-regex";
+      packageName = "safe-regex";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz";
+        sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
+      };
+    };
+    "safefs-3.2.2" = {
+      name = "safefs";
+      packageName = "safefs";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safefs/-/safefs-3.2.2.tgz";
+        sha1 = "8170c1444d7038e08caea05a374fae2fa349e15c";
+      };
+    };
+    "safer-buffer-2.1.2" = {
+      name = "safer-buffer";
+      packageName = "safer-buffer";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
+      };
+    };
+    "sax-0.5.8" = {
+      name = "sax";
+      packageName = "sax";
+      version = "0.5.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
+        sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
+      };
+    };
+    "sax-1.2.1" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
+        sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
+      };
+    };
+    "sax-1.2.4" = {
+      name = "sax";
+      packageName = "sax";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz";
+        sha512 = "NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==";
+      };
+    };
+    "scandirectory-2.5.0" = {
+      name = "scandirectory";
+      packageName = "scandirectory";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/scandirectory/-/scandirectory-2.5.0.tgz";
+        sha1 = "6ce03f54a090b668e3cbedbf20edf9e310593e72";
+      };
+    };
+    "schema-utils-0.4.5" = {
+      name = "schema-utils";
+      packageName = "schema-utils";
+      version = "0.4.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz";
+        sha512 = "yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==";
+      };
+    };
+    "select-1.1.2" = {
+      name = "select";
+      packageName = "select";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/select/-/select-1.1.2.tgz";
+        sha1 = "0e7350acdec80b1108528786ec1d4418d11b396d";
+      };
+    };
+    "semver-4.3.2" = {
+      name = "semver";
+      packageName = "semver";
+      version = "4.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz";
+        sha1 = "c7a07158a80bedd052355b770d82d6640f803be7";
+      };
+    };
+    "semver-4.3.6" = {
+      name = "semver";
+      packageName = "semver";
+      version = "4.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz";
+        sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
+      };
+    };
+    "semver-5.5.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz";
+        sha512 = "4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==";
+      };
+    };
+    "send-0.16.2" = {
+      name = "send";
+      packageName = "send";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.16.2.tgz";
+        sha512 = "E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==";
+      };
+    };
+    "sequencify-0.0.7" = {
+      name = "sequencify";
+      packageName = "sequencify";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz";
+        sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
+      };
+    };
+    "serialize-javascript-1.5.0" = {
+      name = "serialize-javascript";
+      packageName = "serialize-javascript";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz";
+        sha512 = "Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==";
+      };
+    };
+    "series-stream-1.0.1" = {
+      name = "series-stream";
+      packageName = "series-stream";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/series-stream/-/series-stream-1.0.1.tgz";
+        sha1 = "311a09c5c1d5a091440832e1a480a47400f1005d";
+      };
+    };
+    "serve-static-1.13.2" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.13.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz";
+        sha512 = "p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==";
+      };
+    };
+    "set-blocking-2.0.0" = {
+      name = "set-blocking";
+      packageName = "set-blocking";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    };
+    "set-immediate-shim-1.0.1" = {
+      name = "set-immediate-shim";
+      packageName = "set-immediate-shim";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz";
+        sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
+      };
+    };
+    "set-value-0.4.3" = {
+      name = "set-value";
+      packageName = "set-value";
+      version = "0.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz";
+        sha1 = "7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1";
+      };
+    };
+    "set-value-2.0.0" = {
+      name = "set-value";
+      packageName = "set-value";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz";
+        sha512 = "hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==";
+      };
+    };
+    "setimmediate-1.0.5" = {
+      name = "setimmediate";
+      packageName = "setimmediate";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+      };
+    };
+    "setprototypeof-1.0.3" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz";
+        sha1 = "66567e37043eeb4f04d91bd658c0cbefb55b8e04";
+      };
+    };
+    "setprototypeof-1.1.0" = {
+      name = "setprototypeof";
+      packageName = "setprototypeof";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz";
+        sha512 = "BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==";
+      };
+    };
+    "sha.js-2.2.6" = {
+      name = "sha.js";
+      packageName = "sha.js";
+      version = "2.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sha.js/-/sha.js-2.2.6.tgz";
+        sha1 = "17ddeddc5f722fb66501658895461977867315ba";
+      };
+    };
+    "shebang-command-1.2.0" = {
+      name = "shebang-command";
+      packageName = "shebang-command";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz";
+        sha1 = "44aac65b695b03398968c39f363fee5deafdf1ea";
+      };
+    };
+    "shebang-regex-1.0.0" = {
+      name = "shebang-regex";
+      packageName = "shebang-regex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz";
+        sha1 = "da42f49740c0b42db2ca9728571cb190c98efea3";
+      };
+    };
+    "shelljs-0.3.0" = {
+      name = "shelljs";
+      packageName = "shelljs";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
+        sha1 = "3596e6307a781544f591f37da618360f31db57b1";
+      };
+    };
+    "shelljs-0.7.8" = {
+      name = "shelljs";
+      packageName = "shelljs";
+      version = "0.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz";
+        sha1 = "decbcf874b0d1e5fb72e14b164a9683048e9acb3";
+      };
+    };
+    "shimmer-1.1.0" = {
+      name = "shimmer";
+      packageName = "shimmer";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/shimmer/-/shimmer-1.1.0.tgz";
+        sha1 = "97d7377137ffbbab425522e429fe0aa89a488b35";
+      };
+    };
+    "sigmund-1.0.1" = {
+      name = "sigmund";
+      packageName = "sigmund";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
+        sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+      };
+    };
+    "signal-exit-3.0.2" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz";
+        sha1 = "b5fdc08f1287ea1178628e415e25132b73646c6d";
+      };
+    };
+    "slash-1.0.0" = {
+      name = "slash";
+      packageName = "slash";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz";
+        sha1 = "c41f2f6c39fc16d1cd17ad4b5d896114ae470d55";
+      };
+    };
+    "slice-ansi-0.0.4" = {
+      name = "slice-ansi";
+      packageName = "slice-ansi";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz";
+        sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35";
+      };
+    };
+    "snapdragon-0.8.2" = {
+      name = "snapdragon";
+      packageName = "snapdragon";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz";
+        sha512 = "FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==";
+      };
+    };
+    "snapdragon-node-2.1.1" = {
+      name = "snapdragon-node";
+      packageName = "snapdragon-node";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz";
+        sha512 = "O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==";
+      };
+    };
+    "snapdragon-util-3.0.1" = {
+      name = "snapdragon-util";
+      packageName = "snapdragon-util";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz";
+        sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
+      };
+    };
+    "sntp-1.0.9" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
+        sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
+      };
+    };
+    "socket.io-adapter-1.1.1" = {
+      name = "socket.io-adapter";
+      packageName = "socket.io-adapter";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz";
+        sha1 = "2a805e8a14d6372124dd9159ad4502f8cb07f06b";
+      };
+    };
+    "socket.io-client-2.0.4" = {
+      name = "socket.io-client";
+      packageName = "socket.io-client";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz";
+        sha1 = "0918a552406dc5e540b380dcd97afc4a64332f8e";
+      };
+    };
+    "socket.io-parser-3.1.3" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "3.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.1.3.tgz";
+        sha512 = "g0a2HPqLguqAczs3dMECuA1RgoGFPyvDqcbaDEdCWY9g59kdUAz3YRmaJBNKXflrHNwB7Q12Gkf/0CZXfdHR7g==";
+      };
+    };
+    "sort-keys-1.1.2" = {
+      name = "sort-keys";
+      packageName = "sort-keys";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz";
+        sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
+      };
+    };
+    "source-list-map-0.1.8" = {
+      name = "source-list-map";
+      packageName = "source-list-map";
+      version = "0.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz";
+        sha1 = "c550b2ab5427f6b3f21f5afead88c4f5587b2106";
+      };
+    };
+    "source-list-map-2.0.0" = {
+      name = "source-list-map";
+      packageName = "source-list-map";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz";
+        sha512 = "I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==";
+      };
+    };
+    "source-map-0.4.4" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    };
+    "source-map-0.5.7" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz";
+        sha1 = "8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc";
+      };
+    };
+    "source-map-0.6.1" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
+      };
+    };
+    "source-map-resolve-0.5.2" = {
+      name = "source-map-resolve";
+      packageName = "source-map-resolve";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz";
+        sha512 = "MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==";
+      };
+    };
+    "source-map-support-0.4.18" = {
+      name = "source-map-support";
+      packageName = "source-map-support";
+      version = "0.4.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz";
+        sha512 = "try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==";
+      };
+    };
+    "source-map-url-0.4.0" = {
+      name = "source-map-url";
+      packageName = "source-map-url";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz";
+        sha1 = "3e935d7ddd73631b97659956d55128e87b5084a3";
+      };
+    };
+    "sparkles-1.0.1" = {
+      name = "sparkles";
+      packageName = "sparkles";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz";
+        sha512 = "dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==";
+      };
+    };
+    "spdx-correct-3.0.0" = {
+      name = "spdx-correct";
+      packageName = "spdx-correct";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz";
+        sha512 = "N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==";
+      };
+    };
+    "spdx-exceptions-2.1.0" = {
+      name = "spdx-exceptions";
+      packageName = "spdx-exceptions";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz";
+        sha512 = "4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==";
+      };
+    };
+    "spdx-expression-parse-3.0.0" = {
+      name = "spdx-expression-parse";
+      packageName = "spdx-expression-parse";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz";
+        sha512 = "Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==";
+      };
+    };
+    "spdx-license-ids-3.0.0" = {
+      name = "spdx-license-ids";
+      packageName = "spdx-license-ids";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz";
+        sha512 = "2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==";
+      };
+    };
+    "split-1.0.1" = {
+      name = "split";
+      packageName = "split";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split/-/split-1.0.1.tgz";
+        sha512 = "mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==";
+      };
+    };
+    "split-string-3.1.0" = {
+      name = "split-string";
+      packageName = "split-string";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz";
+        sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
+      };
+    };
+    "sprintf-0.1.5" = {
+      name = "sprintf";
+      packageName = "sprintf";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf/-/sprintf-0.1.5.tgz";
+        sha1 = "8f83e39a9317c1a502cb7db8050e51c679f6edcf";
+      };
+    };
+    "sprintf-js-1.0.3" = {
+      name = "sprintf-js";
+      packageName = "sprintf-js";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
+        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+      };
+    };
+    "sprintf-js-1.1.1" = {
+      name = "sprintf-js";
+      packageName = "sprintf-js";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz";
+        sha1 = "36be78320afe5801f6cea3ee78b6e5aab940ea0c";
+      };
+    };
+    "sqlstring-2.3.1" = {
+      name = "sqlstring";
+      packageName = "sqlstring";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sqlstring/-/sqlstring-2.3.1.tgz";
+        sha1 = "475393ff9e91479aea62dcaf0ca3d14983a7fb40";
+      };
+    };
+    "sshpk-1.14.2" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.14.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz";
+        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
+      };
+    };
+    "ssri-5.3.0" = {
+      name = "ssri";
+      packageName = "ssri";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz";
+        sha512 = "XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==";
+      };
+    };
+    "stack-trace-0.0.10" = {
+      name = "stack-trace";
+      packageName = "stack-trace";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz";
+        sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
+      };
+    };
+    "standard-engine-5.4.0" = {
+      name = "standard-engine";
+      packageName = "standard-engine";
+      version = "5.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/standard-engine/-/standard-engine-5.4.0.tgz";
+        sha1 = "e0e86959ea0786425d3383e40c1bf70d2f985579";
+      };
+    };
+    "static-extend-0.1.2" = {
+      name = "static-extend";
+      packageName = "static-extend";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz";
+        sha1 = "60809c39cbff55337226fd5e0b520f341f1fb5c6";
+      };
+    };
+    "statuses-1.4.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz";
+        sha512 = "zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==";
+      };
+    };
+    "statuses-1.5.0" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz";
+        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+      };
+    };
+    "stream-browserify-2.0.1" = {
+      name = "stream-browserify";
+      packageName = "stream-browserify";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz";
+        sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db";
+      };
+    };
+    "stream-consume-0.1.1" = {
+      name = "stream-consume";
+      packageName = "stream-consume";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz";
+        sha512 = "tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==";
+      };
+    };
+    "stream-each-1.2.3" = {
+      name = "stream-each";
+      packageName = "stream-each";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz";
+        sha512 = "vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==";
+      };
+    };
+    "stream-from-to-1.4.3" = {
+      name = "stream-from-to";
+      packageName = "stream-from-to";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-from-to/-/stream-from-to-1.4.3.tgz";
+        sha1 = "b270473ebc514e73615727c5d2f76b229941df94";
+      };
+    };
+    "stream-http-2.8.3" = {
+      name = "stream-http";
+      packageName = "stream-http";
+      version = "2.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz";
+        sha512 = "+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==";
+      };
+    };
+    "stream-shift-1.0.0" = {
+      name = "stream-shift";
+      packageName = "stream-shift";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz";
+        sha1 = "d5c752825e5367e786f78e18e445ea223a155952";
+      };
+    };
+    "strict-uri-encode-1.1.0" = {
+      name = "strict-uri-encode";
+      packageName = "strict-uri-encode";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
+        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
+      };
+    };
+    "string-natural-compare-2.0.2" = {
+      name = "string-natural-compare";
+      packageName = "string-natural-compare";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-2.0.2.tgz";
+        sha1 = "c5ce4e278ab5d1265ae6fc55435aeb7b76fcb001";
+      };
+    };
+    "string-width-1.0.2" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    };
+    "string-width-2.1.1" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
+        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
+      };
+    };
+    "string_decoder-0.10.31" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "0.10.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+      };
+    };
+    "string_decoder-1.1.1" = {
+      name = "string_decoder";
+      packageName = "string_decoder";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
+      };
+    };
+    "stringify-entities-1.3.2" = {
+      name = "stringify-entities";
+      packageName = "stringify-entities";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz";
+        sha512 = "nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==";
+      };
+    };
+    "stringstream-0.0.6" = {
+      name = "stringstream";
+      packageName = "stringstream";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz";
+        sha512 = "87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==";
+      };
+    };
+    "strip-ansi-0.1.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz";
+        sha1 = "39e8a98d044d150660abe4a6808acf70bb7bc991";
+      };
+    };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
+    "strip-ansi-4.0.0" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
+        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+      };
+    };
+    "strip-bom-1.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz";
+        sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794";
+      };
+    };
+    "strip-bom-3.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz";
+        sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
+      };
+    };
+    "strip-eof-1.0.0" = {
+      name = "strip-eof";
+      packageName = "strip-eof";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
+        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
+      };
+    };
+    "strip-json-comments-1.0.4" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
+        sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
+      };
+    };
+    "strip-json-comments-2.0.1" = {
+      name = "strip-json-comments";
+      packageName = "strip-json-comments";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
+        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+      };
+    };
+    "structured-source-3.0.2" = {
+      name = "structured-source";
+      packageName = "structured-source";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/structured-source/-/structured-source-3.0.2.tgz";
+        sha1 = "dd802425e0f53dc4a6e7aca3752901a1ccda7af5";
+      };
+    };
+    "superagent-1.8.3" = {
+      name = "superagent";
+      packageName = "superagent";
+      version = "1.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/superagent/-/superagent-1.8.3.tgz";
+        sha1 = "2b7d70fcc870eda4f2a61e619dd54009b86547c3";
+      };
+    };
+    "supports-color-2.0.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+      };
+    };
+    "supports-color-3.2.3" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "3.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz";
+        sha1 = "65ac0504b3954171d8a64946b2ae3cbb8a5f54f6";
+      };
+    };
+    "supports-color-5.4.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "5.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz";
+        sha512 = "zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==";
+      };
+    };
+    "svgo-0.7.2" = {
+      name = "svgo";
+      packageName = "svgo";
+      version = "0.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz";
+        sha1 = "9f5772413952135c6fefbf40afe6a4faa88b4bb5";
+      };
+    };
+    "symbol-tree-3.2.2" = {
+      name = "symbol-tree";
+      packageName = "symbol-tree";
+      version = "3.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz";
+        sha1 = "ae27db38f660a7ae2e1c3b7d1bc290819b8519e6";
+      };
+    };
+    "table-3.8.3" = {
+      name = "table";
+      packageName = "table";
+      version = "3.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/table/-/table-3.8.3.tgz";
+        sha1 = "2bbc542f0fda9861a755d3947fefd8b3f513855f";
+      };
+    };
+    "tapable-0.1.10" = {
+      name = "tapable";
+      packageName = "tapable";
+      version = "0.1.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz";
+        sha1 = "29c35707c2b70e50d07482b5d202e8ed446dafd4";
+      };
+    };
+    "tar-4.4.6" = {
+      name = "tar";
+      packageName = "tar";
+      version = "4.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-4.4.6.tgz";
+        sha512 = "tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==";
+      };
+    };
+    "tar-stream-1.6.1" = {
+      name = "tar-stream";
+      packageName = "tar-stream";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.1.tgz";
+        sha512 = "IFLM5wp3QrJODQFPm6/to3LJZrONdBY/otxcvDIQzu217zKye6yVR3hhi9lAjrC2Z+m/j5oDxMPb1qcd8cIvpA==";
+      };
+    };
+    "taskgroup-4.3.1" = {
+      name = "taskgroup";
+      packageName = "taskgroup";
+      version = "4.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/taskgroup/-/taskgroup-4.3.1.tgz";
+        sha1 = "7de193febd768273c457730497024d512c27915a";
+      };
+    };
+    "temporary-0.0.8" = {
+      name = "temporary";
+      packageName = "temporary";
+      version = "0.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/temporary/-/temporary-0.0.8.tgz";
+        sha1 = "a18a981d28ba8ca36027fb3c30538c3ecb740ac0";
+      };
+    };
+    "terraformer-1.0.9" = {
+      name = "terraformer";
+      packageName = "terraformer";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terraformer/-/terraformer-1.0.9.tgz";
+        sha512 = "YlmQ1fsMWTkKGDGibCRWgmLzrpDRUr63Q025LJ/taYQ6j1Yb8q9McKF7NBi6ACAyUXO6F/bl9w6v4MY307y5Ag==";
+      };
+    };
+    "terraformer-wkt-parser-1.2.0" = {
+      name = "terraformer-wkt-parser";
+      packageName = "terraformer-wkt-parser";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.0.tgz";
+        sha512 = "QU3iA54St5lF8Za1jg1oj4NYc8sn5tCZ08aNSWDeGzrsaV48eZk1iAVWasxhNspYBoCqdHuoot1pUTUrE1AJ4w==";
+      };
+    };
+    "text-table-0.2.0" = {
+      name = "text-table";
+      packageName = "text-table";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    };
+    "throttleit-1.0.0" = {
+      name = "throttleit";
+      packageName = "throttleit";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz";
+        sha1 = "9e785836daf46743145a5984b6268d828528ac6c";
+      };
+    };
+    "through-2.3.8" = {
+      name = "through";
+      packageName = "through";
+      version = "2.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
+        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+      };
+    };
+    "through2-0.6.5" = {
+      name = "through2";
+      packageName = "through2";
+      version = "0.6.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz";
+        sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48";
+      };
+    };
+    "through2-2.0.3" = {
+      name = "through2";
+      packageName = "through2";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz";
+        sha1 = "0004569b37c7c74ba39c43f3ced78d1ad94140be";
+      };
+    };
+    "tildify-1.2.0" = {
+      name = "tildify";
+      packageName = "tildify";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz";
+        sha1 = "dcec03f55dca9b7aa3e5b04f21817eb56e63588a";
+      };
+    };
+    "time-stamp-1.1.0" = {
+      name = "time-stamp";
+      packageName = "time-stamp";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz";
+        sha1 = "764a5a11af50561921b133f3b44e618687e0f5c3";
+      };
+    };
+    "timers-browserify-2.0.10" = {
+      name = "timers-browserify";
+      packageName = "timers-browserify";
+      version = "2.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz";
+        sha512 = "YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==";
+      };
+    };
+    "timers-ext-0.1.5" = {
+      name = "timers-ext";
+      packageName = "timers-ext";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz";
+        sha512 = "tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==";
+      };
+    };
+    "tiny-emitter-2.0.2" = {
+      name = "tiny-emitter";
+      packageName = "tiny-emitter";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz";
+        sha512 = "2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow==";
+      };
+    };
+    "tmp-0.0.29" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz";
+        sha1 = "f25125ff0dd9da3ccb0c2dd371ee1288bb9128c0";
+      };
+    };
+    "tmp-0.0.33" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.33";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
+        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
+      };
+    };
+    "to-array-0.1.4" = {
+      name = "to-array";
+      packageName = "to-array";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz";
+        sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890";
+      };
+    };
+    "to-arraybuffer-1.0.1" = {
+      name = "to-arraybuffer";
+      packageName = "to-arraybuffer";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
+        sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
+      };
+    };
+    "to-buffer-1.1.1" = {
+      name = "to-buffer";
+      packageName = "to-buffer";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz";
+        sha512 = "lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==";
+      };
+    };
+    "to-fast-properties-1.0.3" = {
+      name = "to-fast-properties";
+      packageName = "to-fast-properties";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz";
+        sha1 = "b83571fa4d8c25b82e231b06e3a3055de4ca1a47";
+      };
+    };
+    "to-object-path-0.3.0" = {
+      name = "to-object-path";
+      packageName = "to-object-path";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz";
+        sha1 = "297588b7b0e7e0ac08e04e672f85c1f4999e17af";
+      };
+    };
+    "to-regex-3.0.2" = {
+      name = "to-regex";
+      packageName = "to-regex";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz";
+        sha512 = "FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==";
+      };
+    };
+    "to-regex-range-2.1.1" = {
+      name = "to-regex-range";
+      packageName = "to-regex-range";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz";
+        sha1 = "7c80c17b9dfebe599e27367e0d4dd5590141db38";
+      };
+    };
+    "toposort-1.0.7" = {
+      name = "toposort";
+      packageName = "toposort";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz";
+        sha1 = "2e68442d9f64ec720b8cc89e6443ac6caa950029";
+      };
+    };
+    "toposort-class-1.0.1" = {
+      name = "toposort-class";
+      packageName = "toposort-class";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz";
+        sha1 = "7ffd1f78c8be28c3ba45cd4e1a3f5ee193bd9988";
+      };
+    };
+    "tough-cookie-2.3.4" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz";
+        sha512 = "TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==";
+      };
+    };
+    "tough-cookie-2.4.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz";
+        sha512 = "Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==";
+      };
+    };
+    "tr46-0.0.3" = {
+      name = "tr46";
+      packageName = "tr46";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz";
+        sha1 = "8184fd347dac9cdc185992f3a6622e14b9d9ab6a";
+      };
+    };
+    "traverse-0.6.6" = {
+      name = "traverse";
+      packageName = "traverse";
+      version = "0.6.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
+        sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
+      };
+    };
+    "trim-0.0.1" = {
+      name = "trim";
+      packageName = "trim";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz";
+        sha1 = "5858547f6b290757ee95cccc666fb50084c460dd";
+      };
+    };
+    "trim-right-1.0.1" = {
+      name = "trim-right";
+      packageName = "trim-right";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz";
+        sha1 = "cb2e1203067e0c8de1f614094b9fe45704ea6003";
+      };
+    };
+    "trim-trailing-lines-1.1.1" = {
+      name = "trim-trailing-lines";
+      packageName = "trim-trailing-lines";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz";
+        sha512 = "bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==";
+      };
+    };
+    "trough-1.0.2" = {
+      name = "trough";
+      packageName = "trough";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trough/-/trough-1.0.2.tgz";
+        sha512 = "FHkoUZvG6Egrv9XZAyYGKEyb1JMsFphgPjoczkZC2y6W93U1jswcVURB8MUvtsahEPEVACyxD47JAL63vF4JsQ==";
+      };
+    };
+    "tty-browserify-0.0.0" = {
+      name = "tty-browserify";
+      packageName = "tty-browserify";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
+        sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
+      };
+    };
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    };
+    "tweetnacl-0.14.5" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    };
+    "type-check-0.3.2" = {
+      name = "type-check";
+      packageName = "type-check";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+      };
+    };
+    "type-is-1.6.16" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.6.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz";
+        sha512 = "HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==";
+      };
+    };
+    "typechecker-2.0.8" = {
+      name = "typechecker";
+      packageName = "typechecker";
+      version = "2.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
+        sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
+      };
+    };
+    "typechecker-2.1.0" = {
+      name = "typechecker";
+      packageName = "typechecker";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typechecker/-/typechecker-2.1.0.tgz";
+        sha1 = "d1c2093a54ff8a19f58cff877eeaa54f2242d383";
+      };
+    };
+    "typechecker-4.5.0" = {
+      name = "typechecker";
+      packageName = "typechecker";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typechecker/-/typechecker-4.5.0.tgz";
+        sha512 = "bqPE/ck3bVIaXP7gMKTKSHrypT32lpYTpiqzPYeYzdSQnmaGvaGhy7TnN/M/+5R+2rs/kKcp9ZLPRp/Q9Yj+4w==";
+      };
+    };
+    "typedarray-0.0.6" = {
+      name = "typedarray";
+      packageName = "typedarray";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
+        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
+      };
+    };
+    "uc.micro-1.0.5" = {
+      name = "uc.micro";
+      packageName = "uc.micro";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.5.tgz";
+        sha512 = "JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==";
+      };
+    };
+    "uglify-es-3.3.10" = {
+      name = "uglify-es";
+      packageName = "uglify-es";
+      version = "3.3.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.10.tgz";
+        sha512 = "rPzPisCzW68Okj1zNrfa2dR9uEm43SevDmpR6FChoZABFk9dANGnzzBMgHYUXI3609//63fnVkyQ1SQmAMyjww==";
+      };
+    };
+    "uglify-js-2.7.5" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.7.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.5.tgz";
+        sha1 = "4612c0c7baaee2ba7c487de4904ae122079f2ca8";
+      };
+    };
+    "uglify-js-2.8.29" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.8.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz";
+        sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
+      };
+    };
+    "uglify-js-3.4.6" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "3.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.6.tgz";
+        sha512 = "O1D7L6WcOzS1qW2ehopEm4cWm5yA6bQBozlks8jO8ODxYCy4zv+bR/la4Lwp01tpkYGNonnpXvUpYtrvSu8Yzg==";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "uid-safe-2.1.5" = {
+      name = "uid-safe";
+      packageName = "uid-safe";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz";
+        sha512 = "KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==";
+      };
+    };
+    "uid2-0.0.3" = {
+      name = "uid2";
+      packageName = "uid2";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
+        sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
+      };
+    };
+    "ultron-1.1.1" = {
+      name = "ultron";
+      packageName = "ultron";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz";
+        sha512 = "UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==";
+      };
+    };
+    "umzug-1.12.0" = {
+      name = "umzug";
+      packageName = "umzug";
+      version = "1.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/umzug/-/umzug-1.12.0.tgz";
+        sha1 = "a79c91f2862eee3130c6c347f2b90ad68a66e8b8";
+      };
+    };
+    "unc-path-regex-0.1.2" = {
+      name = "unc-path-regex";
+      packageName = "unc-path-regex";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz";
+        sha1 = "e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa";
+      };
+    };
+    "underscore-1.4.4" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
+        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
+      };
+    };
+    "underscore-1.6.0" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
+        sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
+      };
+    };
+    "underscore-1.7.0" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+        sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+      };
+    };
+    "underscore-1.8.3" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
+        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+      };
+    };
+    "underscore-1.9.1" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz";
+        sha512 = "5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==";
+      };
+    };
+    "underscore.string-2.4.0" = {
+      name = "underscore.string";
+      packageName = "underscore.string";
+      version = "2.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
+        sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
+      };
+    };
+    "unherit-1.1.1" = {
+      name = "unherit";
+      packageName = "unherit";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unherit/-/unherit-1.1.1.tgz";
+        sha512 = "+XZuV691Cn4zHsK0vkKYwBEwB74T3IZIcxrgn2E4rKwTfFyI1zCh7X7grwh9Re08fdPlarIdyWgI8aVB3F5A5g==";
+      };
+    };
+    "unicode-5.2.0-0.7.5" = {
+      name = "unicode-5.2.0";
+      packageName = "unicode-5.2.0";
+      version = "0.7.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unicode-5.2.0/-/unicode-5.2.0-0.7.5.tgz";
+        sha512 = "KVGLW1Bri30x00yv4HNM8kBxoqFXr0Sbo55735nvrlsx4PYBZol3UtoWgO492fSwmsetzPEZzy73rbU8OGXJcA==";
+      };
+    };
+    "unified-4.2.1" = {
+      name = "unified";
+      packageName = "unified";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unified/-/unified-4.2.1.tgz";
+        sha1 = "76ff43aa8da430f6e7e4a55c84ebac2ad2cfcd2e";
+      };
+    };
+    "union-value-1.0.0" = {
+      name = "union-value";
+      packageName = "union-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz";
+        sha1 = "5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4";
+      };
+    };
+    "uniq-1.0.1" = {
+      name = "uniq";
+      packageName = "uniq";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz";
+        sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
+      };
+    };
+    "uniqs-2.0.0" = {
+      name = "uniqs";
+      packageName = "uniqs";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz";
+        sha1 = "ffede4b36b25290696e6e165d4a59edb998e6b02";
+      };
+    };
+    "unique-filename-1.1.0" = {
+      name = "unique-filename";
+      packageName = "unique-filename";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz";
+        sha1 = "d05f2fe4032560871f30e93cbe735eea201514f3";
+      };
+    };
+    "unique-slug-2.0.0" = {
+      name = "unique-slug";
+      packageName = "unique-slug";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz";
+        sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
+      };
+    };
+    "unique-stream-1.0.0" = {
+      name = "unique-stream";
+      packageName = "unique-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz";
+        sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b";
+      };
+    };
+    "unist-util-is-2.1.2" = {
+      name = "unist-util-is";
+      packageName = "unist-util-is";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.2.tgz";
+        sha512 = "YkXBK/H9raAmG7KXck+UUpnKiNmUdB+aBGrknfQ4EreE1banuzrKABx3jP6Z5Z3fMSPMQQmeXBlKpCbMwBkxVw==";
+      };
+    };
+    "unist-util-remove-position-1.1.2" = {
+      name = "unist-util-remove-position";
+      packageName = "unist-util-remove-position";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.2.tgz";
+        sha512 = "XxoNOBvq1WXRKXxgnSYbtCF76TJrRoe5++pD4cCBsssSiWSnPEktyFrFLE8LTk3JW5mt9hB0Sk5zn4x/JeWY7Q==";
+      };
+    };
+    "unist-util-visit-1.4.0" = {
+      name = "unist-util-visit";
+      packageName = "unist-util-visit";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.0.tgz";
+        sha512 = "FiGu34ziNsZA3ZUteZxSFaczIjGmksfSgdKqBfOejrrfzyUy5b7YrlzT1Bcvi+djkYDituJDy2XB7tGTeBieKw==";
+      };
+    };
+    "unist-util-visit-parents-2.0.1" = {
+      name = "unist-util-visit-parents";
+      packageName = "unist-util-visit-parents";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.0.1.tgz";
+        sha512 = "6B0UTiMfdWql4cQ03gDTCSns+64Zkfo2OCbK31Ov0uMizEz+CJeAp0cgZVb5Fhmcd7Bct2iRNywejT0orpbqUA==";
+      };
+    };
+    "universalify-0.1.2" = {
+      name = "universalify";
+      packageName = "universalify";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
+        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
+      };
+    };
+    "unpipe-1.0.0" = {
+      name = "unpipe";
+      packageName = "unpipe";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
+        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+      };
+    };
+    "unset-value-1.0.0" = {
+      name = "unset-value";
+      packageName = "unset-value";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz";
+        sha1 = "8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559";
+      };
+    };
+    "update-section-0.3.3" = {
+      name = "update-section";
+      packageName = "update-section";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/update-section/-/update-section-0.3.3.tgz";
+        sha1 = "458f17820d37820dc60e20b86d94391b00123158";
+      };
+    };
+    "upper-case-1.1.3" = {
+      name = "upper-case";
+      packageName = "upper-case";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz";
+        sha1 = "f6b4501c2ec4cdd26ba78be7222961de77621598";
+      };
+    };
+    "uri-js-4.2.2" = {
+      name = "uri-js";
+      packageName = "uri-js";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz";
+        sha512 = "KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==";
+      };
+    };
+    "uri-path-1.0.0" = {
+      name = "uri-path";
+      packageName = "uri-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz";
+        sha1 = "9747f018358933c31de0fccfd82d138e67262e32";
+      };
+    };
+    "urix-0.1.0" = {
+      name = "urix";
+      packageName = "urix";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz";
+        sha1 = "da937f7a62e21fec1fd18d49b35c2935067a6c72";
+      };
+    };
+    "url-0.10.3" = {
+      name = "url";
+      packageName = "url";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url/-/url-0.10.3.tgz";
+        sha1 = "021e4d9c7705f21bbf37d03ceb58767402774c64";
+      };
+    };
+    "url-0.11.0" = {
+      name = "url";
+      packageName = "url";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
+        sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
+      };
+    };
+    "use-3.1.1" = {
+      name = "use";
+      packageName = "use";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/use/-/use-3.1.1.tgz";
+        sha512 = "cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==";
+      };
+    };
+    "user-home-1.1.1" = {
+      name = "user-home";
+      packageName = "user-home";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz";
+        sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190";
+      };
+    };
+    "user-home-2.0.0" = {
+      name = "user-home";
+      packageName = "user-home";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz";
+        sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
+      };
+    };
+    "util-0.10.3" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    };
+    "util-0.10.4" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz";
+        sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
+      };
+    };
+    "util-deprecate-1.0.2" = {
+      name = "util-deprecate";
+      packageName = "util-deprecate";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+      };
+    };
+    "utila-0.3.3" = {
+      name = "utila";
+      packageName = "utila";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz";
+        sha1 = "d7e8e7d7e309107092b05f8d9688824d633a4226";
+      };
+    };
+    "utila-0.4.0" = {
+      name = "utila";
+      packageName = "utila";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz";
+        sha1 = "8a16a05d445657a3aea5eecc5b12a4fa5379772c";
+      };
+    };
+    "utils-merge-1.0.1" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz";
+        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+      };
+    };
+    "uuid-3.1.0" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz";
+        sha512 = "DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==";
+      };
+    };
+    "uuid-3.3.2" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
+        sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
+      };
+    };
+    "uws-9.14.0" = {
+      name = "uws";
+      packageName = "uws";
+      version = "9.14.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uws/-/uws-9.14.0.tgz";
+        sha512 = "HNMztPP5A1sKuVFmdZ6BPVpBQd5bUjNC8EFMFiICK+oho/OQsAJy5hnIx4btMHiOk8j04f/DbIlqnEZ9d72dqg==";
+      };
+    };
+    "v8flags-2.1.1" = {
+      name = "v8flags";
+      packageName = "v8flags";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz";
+        sha1 = "aab1a1fa30d45f88dd321148875ac02c0b55e5b4";
+      };
+    };
+    "validate-npm-package-license-3.0.3" = {
+      name = "validate-npm-package-license";
+      packageName = "validate-npm-package-license";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz";
+        sha512 = "63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==";
+      };
+    };
+    "validator-5.7.0" = {
+      name = "validator";
+      packageName = "validator";
+      version = "5.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validator/-/validator-5.7.0.tgz";
+        sha1 = "7a87a58146b695ac486071141c0c49d67da05e5c";
+      };
+    };
+    "validator-9.4.1" = {
+      name = "validator";
+      packageName = "validator";
+      version = "9.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validator/-/validator-9.4.1.tgz";
+        sha512 = "YV5KjzvRmSyJ1ee/Dm5UED0G+1L4GZnLN3w6/T+zZm8scVua4sOhYKWTUrKa0H/tMiJyO9QLHMPN+9mB/aMunA==";
+      };
+    };
+    "vary-1.1.2" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz";
+        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+      };
+    };
+    "vasync-1.6.4" = {
+      name = "vasync";
+      packageName = "vasync";
+      version = "1.6.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vasync/-/vasync-1.6.4.tgz";
+        sha1 = "dfe93616ad0e7ae801b332a9d88bfc5cdc8e1d1f";
+      };
+    };
+    "vendors-1.0.2" = {
+      name = "vendors";
+      packageName = "vendors";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz";
+        sha512 = "w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==";
+      };
+    };
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    };
+    "verror-1.6.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz";
+        sha1 = "7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5";
+      };
+    };
+    "vfile-1.4.0" = {
+      name = "vfile";
+      packageName = "vfile";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile/-/vfile-1.4.0.tgz";
+        sha1 = "c0fd6fa484f8debdb771f68c31ed75d88da97fe7";
+      };
+    };
+    "vfile-location-2.0.3" = {
+      name = "vfile-location";
+      packageName = "vfile-location";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.3.tgz";
+        sha512 = "zM5/l4lfw1CBoPx3Jimxoc5RNDAHHpk6AM6LM0pTIkm5SUSsx8ZekZ0PVdf0WEZ7kjlhSt7ZlqbRL6Cd6dBs6A==";
+      };
+    };
+    "vinyl-0.4.6" = {
+      name = "vinyl";
+      packageName = "vinyl";
+      version = "0.4.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz";
+        sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847";
+      };
+    };
+    "vinyl-0.5.3" = {
+      name = "vinyl";
+      packageName = "vinyl";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz";
+        sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde";
+      };
+    };
+    "vinyl-fs-0.3.14" = {
+      name = "vinyl-fs";
+      packageName = "vinyl-fs";
+      version = "0.3.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz";
+        sha1 = "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6";
+      };
+    };
+    "vlq-0.2.3" = {
+      name = "vlq";
+      packageName = "vlq";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz";
+        sha512 = "DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==";
+      };
+    };
+    "vm-browserify-0.0.4" = {
+      name = "vm-browserify";
+      packageName = "vm-browserify";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
+        sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
+      };
+    };
+    "void-elements-2.0.1" = {
+      name = "void-elements";
+      packageName = "void-elements";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
+        sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+      };
+    };
+    "watchpack-0.2.9" = {
+      name = "watchpack";
+      packageName = "watchpack";
+      version = "0.2.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watchpack/-/watchpack-0.2.9.tgz";
+        sha1 = "62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b";
+      };
+    };
+    "watchr-2.4.13" = {
+      name = "watchr";
+      packageName = "watchr";
+      version = "2.4.13";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/watchr/-/watchr-2.4.13.tgz";
+        sha1 = "d74847bb4d6f90f61fe2c74f9f68662aa0e07601";
+      };
+    };
+    "webidl-conversions-3.0.1" = {
+      name = "webidl-conversions";
+      packageName = "webidl-conversions";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz";
+        sha1 = "24534275e2a7bc6be7bc86611cc16ae0a5654871";
+      };
+    };
+    "webidl-conversions-4.0.2" = {
+      name = "webidl-conversions";
+      packageName = "webidl-conversions";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz";
+        sha512 = "YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==";
+      };
+    };
+    "webpack-core-0.6.9" = {
+      name = "webpack-core";
+      packageName = "webpack-core";
+      version = "0.6.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz";
+        sha1 = "fc571588c8558da77be9efb6debdc5a3b172bdc2";
+      };
+    };
+    "webpack-sources-0.1.5" = {
+      name = "webpack-sources";
+      packageName = "webpack-sources";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz";
+        sha1 = "aa1f3abf0f0d74db7111c40e500b84f966640750";
+      };
+    };
+    "webpack-sources-1.1.0" = {
+      name = "webpack-sources";
+      packageName = "webpack-sources";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz";
+        sha512 = "aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==";
+      };
+    };
+    "whatwg-encoding-1.0.3" = {
+      name = "whatwg-encoding";
+      packageName = "whatwg-encoding";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz";
+        sha512 = "jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==";
+      };
+    };
+    "whatwg-url-4.8.0" = {
+      name = "whatwg-url";
+      packageName = "whatwg-url";
+      version = "4.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz";
+        sha1 = "d2981aa9148c1e00a41c5a6131166ab4683bbcc0";
+      };
+    };
+    "whet.extend-0.9.9" = {
+      name = "whet.extend";
+      packageName = "whet.extend";
+      version = "0.9.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz";
+        sha1 = "f877d5bf648c97e5aa542fadc16d6a259b9c11a1";
+      };
+    };
+    "which-1.3.1" = {
+      name = "which";
+      packageName = "which";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which/-/which-1.3.1.tgz";
+        sha512 = "HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==";
+      };
+    };
+    "which-module-2.0.0" = {
+      name = "which-module";
+      packageName = "which-module";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
+      };
+    };
+    "wide-align-1.1.3" = {
+      name = "wide-align";
+      packageName = "wide-align";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz";
+        sha512 = "QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
+    "winston-2.4.3" = {
+      name = "winston";
+      packageName = "winston";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston/-/winston-2.4.3.tgz";
+        sha512 = "GYKuysPz2pxYAVJD2NPsDLP5Z79SDEzPm9/j4tCjkF/n89iBNGBMJcR+dMUqxgPNgoSs6fVygPi+Vl2oxIpBuw==";
+      };
+    };
+    "wkx-0.2.0" = {
+      name = "wkx";
+      packageName = "wkx";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wkx/-/wkx-0.2.0.tgz";
+        sha1 = "76c24f16acd0cd8f93cd34aa331e0f7961256e84";
+      };
+    };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
+    "wordwrap-0.0.3" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    };
+    "wordwrap-1.0.0" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+        sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+      };
+    };
+    "worker-farm-1.6.0" = {
+      name = "worker-farm";
+      packageName = "worker-farm";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz";
+        sha512 = "6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==";
+      };
+    };
+    "wrap-ansi-2.1.0" = {
+      name = "wrap-ansi";
+      packageName = "wrap-ansi";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz";
+        sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
+      };
+    };
+    "wrappy-1.0.2" = {
+      name = "wrappy";
+      packageName = "wrappy";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "write-0.2.1" = {
+      name = "write";
+      packageName = "write";
+      version = "0.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/write/-/write-0.2.1.tgz";
+        sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757";
+      };
+    };
+    "ws-3.3.3" = {
+      name = "ws";
+      packageName = "ws";
+      version = "3.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz";
+        sha512 = "nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==";
+      };
+    };
+    "x-xss-protection-1.1.0" = {
+      name = "x-xss-protection";
+      packageName = "x-xss-protection";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.1.0.tgz";
+        sha512 = "rx3GzJlgEeZ08MIcDsU2vY2B1QEriUKJTSiNHHUIem6eg9pzVOr2TL3Y4Pd6TMAM5D5azGjcxqI62piITBDHVg==";
+      };
+    };
+    "xml-1.0.1" = {
+      name = "xml";
+      packageName = "xml";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz";
+        sha1 = "78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5";
+      };
+    };
+    "xml-crypto-0.10.1" = {
+      name = "xml-crypto";
+      packageName = "xml-crypto";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-crypto/-/xml-crypto-0.10.1.tgz";
+        sha1 = "f832f74ccf56f24afcae1163a1fcab44d96774a8";
+      };
+    };
+    "xml-encryption-0.11.2" = {
+      name = "xml-encryption";
+      packageName = "xml-encryption";
+      version = "0.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-encryption/-/xml-encryption-0.11.2.tgz";
+        sha512 = "jVvES7i5ovdO7N+NjgncA326xYKjhqeAnnvIgRnY7ROLCfFqEDLwP0Sxp/30SHG0AXQV1048T5yinOFyvwGFzg==";
+      };
+    };
+    "xml-name-validator-2.0.1" = {
+      name = "xml-name-validator";
+      packageName = "xml-name-validator";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz";
+        sha1 = "4d8b8f1eccd3419aa362061becef515e1e559635";
+      };
+    };
+    "xml2js-0.2.8" = {
+      name = "xml2js";
+      packageName = "xml2js";
+      version = "0.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml2js/-/xml2js-0.2.8.tgz";
+        sha1 = "9b81690931631ff09d1957549faf54f4f980b3c2";
+      };
+    };
+    "xml2js-0.4.19" = {
+      name = "xml2js";
+      packageName = "xml2js";
+      version = "0.4.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz";
+        sha512 = "esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==";
+      };
+    };
+    "xmlbuilder-0.4.3" = {
+      name = "xmlbuilder";
+      packageName = "xmlbuilder";
+      version = "0.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.3.tgz";
+        sha1 = "c4614ba74e0ad196e609c9272cd9e1ddb28a8a58";
+      };
+    };
+    "xmlbuilder-9.0.7" = {
+      name = "xmlbuilder";
+      packageName = "xmlbuilder";
+      version = "9.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
+      };
+    };
+    "xmldom-0.1.19" = {
+      name = "xmldom";
+      packageName = "xmldom";
+      version = "0.1.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz";
+        sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
+      };
+    };
+    "xmldom-0.1.27" = {
+      name = "xmldom";
+      packageName = "xmldom";
+      version = "0.1.27";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz";
+        sha1 = "d501f97b3bdb403af8ef9ecc20573187aadac0e9";
+      };
+    };
+    "xmlhttprequest-1.8.0" = {
+      name = "xmlhttprequest";
+      packageName = "xmlhttprequest";
+      version = "1.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz";
+        sha1 = "67fe075c5c24fef39f9d65f5f7b7fe75171968fc";
+      };
+    };
+    "xmlhttprequest-ssl-1.5.5" = {
+      name = "xmlhttprequest-ssl";
+      packageName = "xmlhttprequest-ssl";
+      version = "1.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz";
+        sha1 = "c2876b06168aadc40e57d97e81191ac8f4398b3e";
+      };
+    };
+    "xpath-0.0.27" = {
+      name = "xpath";
+      packageName = "xpath";
+      version = "0.0.27";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xpath/-/xpath-0.0.27.tgz";
+        sha512 = "fg03WRxtkCV6ohClePNAECYsmpKKTv5L8y/X3Dn1hQrec3POx2jHZ/0P2qQ6HvsrU1BmeqXcof3NGGueG6LxwQ==";
+      };
+    };
+    "xpath.js-1.1.0" = {
+      name = "xpath.js";
+      packageName = "xpath.js";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xpath.js/-/xpath.js-1.1.0.tgz";
+        sha512 = "jg+qkfS4K8E7965sqaUl8mRngXiKb3WZGfONgE18pr03FUQiuSV6G+Ej4tS55B+rIQSFEIw3phdVAQ4pPqNWfQ==";
+      };
+    };
+    "xregexp-2.0.0" = {
+      name = "xregexp";
+      packageName = "xregexp";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz";
+        sha1 = "52a63e56ca0b84a7f3a5f3d61872f126ad7a5943";
+      };
+    };
+    "xtend-4.0.1" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
+        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+      };
+    };
+    "xtraverse-0.1.0" = {
+      name = "xtraverse";
+      packageName = "xtraverse";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtraverse/-/xtraverse-0.1.0.tgz";
+        sha1 = "b741bad018ef78d8a9d2e83ade007b3f7959c732";
+      };
+    };
+    "y18n-3.2.1" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
+        sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
+      };
+    };
+    "y18n-4.0.0" = {
+      name = "y18n";
+      packageName = "y18n";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz";
+        sha512 = "r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==";
+      };
+    };
+    "yallist-2.1.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz";
+        sha1 = "1c11f9218f076089a47dd512f93c6699a6a81d52";
+      };
+    };
+    "yallist-3.0.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz";
+        sha1 = "8452b4bb7e83c7c188d8041c1a837c773d6d8bb9";
+      };
+    };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+    "yargs-8.0.2" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "8.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz";
+        sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360";
+      };
+    };
+    "yargs-parser-7.0.0" = {
+      name = "yargs-parser";
+      packageName = "yargs-parser";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz";
+        sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
+      };
+    };
+    "yauzl-2.4.1" = {
+      name = "yauzl";
+      packageName = "yauzl";
+      version = "2.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz";
+        sha1 = "9528f442dab1b2284e58b4379bb194e22e0c4005";
+      };
+    };
+    "yeast-0.1.2" = {
+      name = "yeast";
+      packageName = "yeast";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz";
+        sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419";
+      };
+    };
+    "zip-stream-1.2.0" = {
+      name = "zip-stream";
+      packageName = "zip-stream";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz";
+        sha1 = "a8bc45f4c1b49699c6b90198baacaacdbcd4ba04";
+      };
+    };
+  };
+in
+{
+  "uglifyjs-webpack-plugin-^1.2.7" = nodeEnv.buildNodePackage {
+    name = "uglifyjs-webpack-plugin";
+    packageName = "uglifyjs-webpack-plugin";
+    version = "1.2.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz";
+      sha512 = "1VicfKhCYHLS8m1DCApqBhoulnASsEoJ/BvpUpP4zoNAPpKzdH+ghk0olGJMmwX2/jprK2j3hAHdUbczBSy2FA==";
+    };
+    dependencies = [
+      sources."ajv-6.5.2"
+      sources."ajv-keywords-3.2.0"
+      sources."aproba-1.2.0"
+      sources."balanced-match-1.0.0"
+      sources."bluebird-3.5.1"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.1.1"
+      sources."cacache-10.0.4"
+      sources."chownr-1.0.1"
+      sources."commander-2.14.1"
+      sources."commondir-1.0.1"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."copy-concurrently-1.0.5"
+      sources."core-util-is-1.0.2"
+      sources."cyclist-0.2.2"
+      sources."duplexify-3.6.0"
+      sources."end-of-stream-1.4.1"
+      sources."errno-0.1.7"
+      sources."fast-deep-equal-2.0.1"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."find-cache-dir-1.0.0"
+      sources."find-up-2.1.0"
+      sources."flush-write-stream-1.0.3"
+      sources."from2-2.3.0"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."graceful-fs-4.1.11"
+      sources."iferr-0.1.5"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."json-schema-traverse-0.4.1"
+      sources."locate-path-2.0.0"
+      sources."lru-cache-4.1.3"
+      sources."make-dir-1.3.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mississippi-2.0.0"
+      sources."mkdirp-0.5.1"
+      sources."move-concurrently-1.0.1"
+      sources."once-1.4.0"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parallel-transform-1.1.0"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."pify-3.0.0"
+      sources."pkg-dir-2.0.0"
+      sources."process-nextick-args-2.0.0"
+      sources."promise-inflight-1.0.1"
+      sources."prr-1.0.1"
+      sources."pseudomap-1.0.2"
+      sources."pump-2.0.1"
+      sources."pumpify-1.5.1"
+      sources."punycode-2.1.1"
+      sources."readable-stream-2.3.6"
+      sources."rimraf-2.6.2"
+      sources."run-queue-1.0.3"
+      sources."safe-buffer-5.1.2"
+      sources."schema-utils-0.4.5"
+      sources."serialize-javascript-1.5.0"
+      sources."source-list-map-2.0.0"
+      sources."source-map-0.6.1"
+      sources."ssri-5.3.0"
+      sources."stream-each-1.2.3"
+      sources."stream-shift-1.0.0"
+      sources."string_decoder-1.1.1"
+      sources."through2-2.0.3"
+      sources."typedarray-0.0.6"
+      sources."uglify-es-3.3.10"
+      sources."unique-filename-1.1.0"
+      sources."unique-slug-2.0.0"
+      sources."uri-js-4.2.2"
+      sources."util-deprecate-1.0.2"
+      sources."webpack-sources-1.1.0"
+      sources."worker-farm-1.6.0"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+      sources."y18n-4.0.0"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "UglifyJS plugin for webpack";
+      homepage = https://github.com/webpack-contrib/uglifyjs-webpack-plugin;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "babel-cli-^6.18.0" = nodeEnv.buildNodePackage {
+    name = "babel-cli";
+    packageName = "babel-cli";
+    version = "6.26.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz";
+      sha1 = "502ab54874d7db88ad00b887a06383ce03d002f1";
+    };
+    dependencies = [
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."anymatch-1.3.2"
+      sources."arr-diff-2.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."array-unique-0.2.1"
+      sources."async-each-1.0.1"
+      sources."babel-code-frame-6.26.0"
+      sources."babel-core-6.26.3"
+      sources."babel-generator-6.26.1"
+      sources."babel-helpers-6.24.1"
+      sources."babel-messages-6.23.0"
+      sources."babel-polyfill-6.26.0"
+      sources."babel-register-6.26.0"
+      (sources."babel-runtime-6.26.0" // {
+        dependencies = [
+          sources."regenerator-runtime-0.11.1"
+        ];
+      })
+      sources."babel-template-6.26.0"
+      sources."babel-traverse-6.26.0"
+      sources."babel-types-6.26.0"
+      sources."babylon-6.18.0"
+      sources."balanced-match-1.0.0"
+      sources."binary-extensions-1.11.0"
+      sources."brace-expansion-1.1.11"
+      sources."braces-1.8.5"
+      sources."chalk-1.1.3"
+      sources."chokidar-1.7.0"
+      sources."commander-2.16.0"
+      sources."concat-map-0.0.1"
+      sources."convert-source-map-1.5.1"
+      sources."core-js-2.5.7"
+      sources."core-util-is-1.0.2"
+      sources."debug-2.6.9"
+      sources."detect-indent-4.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."esutils-2.0.2"
+      sources."expand-brackets-0.1.5"
+      sources."expand-range-1.8.2"
+      sources."extglob-0.3.2"
+      sources."filename-regex-2.0.1"
+      sources."fill-range-2.2.4"
+      sources."for-in-1.0.2"
+      sources."for-own-0.1.5"
+      sources."fs-readdir-recursive-1.1.0"
+      sources."fs.realpath-1.0.0"
+      sources."fsevents-1.2.4"
+      sources."glob-7.1.2"
+      sources."glob-base-0.3.0"
+      sources."glob-parent-2.0.0"
+      sources."globals-9.18.0"
+      sources."graceful-fs-4.1.11"
+      sources."has-ansi-2.0.0"
+      sources."home-or-tmp-2.0.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."invariant-2.2.4"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-dotfile-1.0.3"
+      sources."is-equal-shallow-0.1.3"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-1.0.0"
+      sources."is-finite-1.0.2"
+      sources."is-glob-2.0.1"
+      sources."is-number-2.1.0"
+      sources."is-posix-bracket-0.1.1"
+      sources."is-primitive-2.0.0"
+      sources."isarray-1.0.0"
+      sources."isobject-2.1.0"
+      sources."js-tokens-3.0.2"
+      sources."jsesc-1.3.0"
+      sources."json5-0.5.1"
+      sources."kind-of-3.2.2"
+      sources."lodash-4.17.10"
+      sources."loose-envify-1.4.0"
+      sources."math-random-1.0.1"
+      sources."micromatch-2.3.11"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."nan-2.10.0"
+      sources."normalize-path-2.1.1"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."object.omit-2.0.1"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."output-file-sync-1.1.2"
+      sources."parse-glob-3.0.4"
+      sources."path-is-absolute-1.0.1"
+      sources."preserve-0.2.0"
+      sources."private-0.1.8"
+      sources."process-nextick-args-2.0.0"
+      (sources."randomatic-3.0.0" // {
+        dependencies = [
+          sources."is-number-4.0.0"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."readdirp-2.1.0"
+      sources."regenerator-runtime-0.10.5"
+      sources."regex-cache-0.4.4"
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.2"
+      sources."repeat-string-1.6.1"
+      sources."repeating-2.0.1"
+      sources."safe-buffer-5.1.2"
+      sources."set-immediate-shim-1.0.1"
+      sources."slash-1.0.0"
+      sources."source-map-0.5.7"
+      sources."source-map-support-0.4.18"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."to-fast-properties-1.0.3"
+      sources."trim-right-1.0.1"
+      sources."user-home-1.1.1"
+      sources."util-deprecate-1.0.2"
+      sources."v8flags-2.1.1"
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Babel command line.";
+      homepage = https://babeljs.io/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "babel-core-^6.21.0" = nodeEnv.buildNodePackage {
+    name = "babel-core";
+    packageName = "babel-core";
+    version = "6.26.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz";
+      sha512 = "6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==";
+    };
+    dependencies = [
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."babel-code-frame-6.26.0"
+      sources."babel-core-6.26.3"
+      sources."babel-generator-6.26.1"
+      sources."babel-helpers-6.24.1"
+      sources."babel-messages-6.23.0"
+      sources."babel-register-6.26.0"
+      sources."babel-runtime-6.26.0"
+      sources."babel-template-6.26.0"
+      sources."babel-traverse-6.26.0"
+      sources."babel-types-6.26.0"
+      sources."babylon-6.18.0"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."chalk-1.1.3"
+      sources."concat-map-0.0.1"
+      sources."convert-source-map-1.5.1"
+      sources."core-js-2.5.7"
+      sources."debug-2.6.9"
+      sources."detect-indent-4.0.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."esutils-2.0.2"
+      sources."globals-9.18.0"
+      sources."has-ansi-2.0.0"
+      sources."home-or-tmp-2.0.0"
+      sources."invariant-2.2.4"
+      sources."is-finite-1.0.2"
+      sources."js-tokens-3.0.2"
+      sources."jsesc-1.3.0"
+      sources."json5-0.5.1"
+      sources."lodash-4.17.10"
+      sources."loose-envify-1.4.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."number-is-nan-1.0.1"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."private-0.1.8"
+      sources."regenerator-runtime-0.11.1"
+      sources."repeating-2.0.1"
+      sources."slash-1.0.0"
+      sources."source-map-0.5.7"
+      sources."source-map-support-0.4.18"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."to-fast-properties-1.0.3"
+      sources."trim-right-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Babel compiler core.";
+      homepage = https://babeljs.io/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "babel-loader-^6.2.10" = nodeEnv.buildNodePackage {
+    name = "babel-loader";
+    packageName = "babel-loader";
+    version = "6.4.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz";
+      sha1 = "0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."commondir-1.0.1"
+      sources."emojis-list-2.1.0"
+      sources."find-cache-dir-0.1.1"
+      sources."find-up-1.1.2"
+      sources."json5-0.5.1"
+      sources."loader-utils-0.2.17"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."object-assign-4.1.1"
+      sources."path-exists-2.1.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pkg-dir-1.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "babel module loader for webpack";
+      homepage = https://github.com/babel/babel-loader;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "babel-plugin-transform-runtime-^6.15.0" = nodeEnv.buildNodePackage {
+    name = "babel-plugin-transform-runtime";
+    packageName = "babel-plugin-transform-runtime";
+    version = "6.23.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz";
+      sha1 = "88490d446502ea9b8e7efb0fe09ec4d99479b1ee";
+    };
+    dependencies = [
+      sources."babel-runtime-6.26.0"
+      sources."core-js-2.5.7"
+      sources."regenerator-runtime-0.11.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Externalise references to helpers and builtins, automatically polyfilling your code without polluting globals";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "babel-polyfill-^6.22.0" = nodeEnv.buildNodePackage {
+    name = "babel-polyfill";
+    packageName = "babel-polyfill";
+    version = "6.26.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz";
+      sha1 = "379937abc67d7895970adc621f284cd966cf2153";
+    };
+    dependencies = [
+      (sources."babel-runtime-6.26.0" // {
+        dependencies = [
+          sources."regenerator-runtime-0.11.1"
+        ];
+      })
+      sources."core-js-2.5.7"
+      sources."regenerator-runtime-0.10.5"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Provides polyfills necessary for a full ES2015+ environment";
+      homepage = https://babeljs.io/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "babel-preset-es2015-^6.18.0" = nodeEnv.buildNodePackage {
+    name = "babel-preset-es2015";
+    packageName = "babel-preset-es2015";
+    version = "6.24.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz";
+      sha1 = "d44050d6bc2c9feea702aaf38d727a0210538939";
+    };
+    dependencies = [
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."babel-code-frame-6.26.0"
+      sources."babel-helper-call-delegate-6.24.1"
+      sources."babel-helper-define-map-6.26.0"
+      sources."babel-helper-function-name-6.24.1"
+      sources."babel-helper-get-function-arity-6.24.1"
+      sources."babel-helper-hoist-variables-6.24.1"
+      sources."babel-helper-optimise-call-expression-6.24.1"
+      sources."babel-helper-regex-6.26.0"
+      sources."babel-helper-replace-supers-6.24.1"
+      sources."babel-messages-6.23.0"
+      sources."babel-plugin-check-es2015-constants-6.22.0"
+      sources."babel-plugin-transform-es2015-arrow-functions-6.22.0"
+      sources."babel-plugin-transform-es2015-block-scoped-functions-6.22.0"
+      sources."babel-plugin-transform-es2015-block-scoping-6.26.0"
+      sources."babel-plugin-transform-es2015-classes-6.24.1"
+      sources."babel-plugin-transform-es2015-computed-properties-6.24.1"
+      sources."babel-plugin-transform-es2015-destructuring-6.23.0"
+      sources."babel-plugin-transform-es2015-duplicate-keys-6.24.1"
+      sources."babel-plugin-transform-es2015-for-of-6.23.0"
+      sources."babel-plugin-transform-es2015-function-name-6.24.1"
+      sources."babel-plugin-transform-es2015-literals-6.22.0"
+      sources."babel-plugin-transform-es2015-modules-amd-6.24.1"
+      sources."babel-plugin-transform-es2015-modules-commonjs-6.26.2"
+      sources."babel-plugin-transform-es2015-modules-systemjs-6.24.1"
+      sources."babel-plugin-transform-es2015-modules-umd-6.24.1"
+      sources."babel-plugin-transform-es2015-object-super-6.24.1"
+      sources."babel-plugin-transform-es2015-parameters-6.24.1"
+      sources."babel-plugin-transform-es2015-shorthand-properties-6.24.1"
+      sources."babel-plugin-transform-es2015-spread-6.22.0"
+      sources."babel-plugin-transform-es2015-sticky-regex-6.24.1"
+      sources."babel-plugin-transform-es2015-template-literals-6.22.0"
+      sources."babel-plugin-transform-es2015-typeof-symbol-6.23.0"
+      sources."babel-plugin-transform-es2015-unicode-regex-6.24.1"
+      sources."babel-plugin-transform-regenerator-6.26.0"
+      sources."babel-plugin-transform-strict-mode-6.24.1"
+      sources."babel-runtime-6.26.0"
+      sources."babel-template-6.26.0"
+      sources."babel-traverse-6.26.0"
+      sources."babel-types-6.26.0"
+      sources."babylon-6.18.0"
+      sources."chalk-1.1.3"
+      sources."core-js-2.5.7"
+      sources."debug-2.6.9"
+      sources."escape-string-regexp-1.0.5"
+      sources."esutils-2.0.2"
+      sources."globals-9.18.0"
+      sources."has-ansi-2.0.0"
+      sources."invariant-2.2.4"
+      sources."js-tokens-3.0.2"
+      sources."jsesc-0.5.0"
+      sources."lodash-4.17.10"
+      sources."loose-envify-1.4.0"
+      sources."ms-2.0.0"
+      sources."private-0.1.8"
+      sources."regenerate-1.4.0"
+      sources."regenerator-runtime-0.11.1"
+      sources."regenerator-transform-0.10.1"
+      sources."regexpu-core-2.0.0"
+      sources."regjsgen-0.2.0"
+      sources."regjsparser-0.1.5"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."to-fast-properties-1.0.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Babel preset for all es2015 plugins.";
+      homepage = https://babeljs.io/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "babel-runtime-^6.20.0" = nodeEnv.buildNodePackage {
+    name = "babel-runtime";
+    packageName = "babel-runtime";
+    version = "6.26.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz";
+      sha1 = "965c7058668e82b55d7bfe04ff2337bc8b5647fe";
+    };
+    dependencies = [
+      sources."core-js-2.5.7"
+      sources."regenerator-runtime-0.11.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "babel selfContained runtime";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "copy-webpack-plugin-^4.0.1" = nodeEnv.buildNodePackage {
+    name = "copy-webpack-plugin";
+    packageName = "copy-webpack-plugin";
+    version = "4.5.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz";
+      sha512 = "zmC33E8FFSq3AbflTvqvPvBo621H36Afsxlui91d+QyZxPIuXghfnTsa1CuqiAaCPgJoSUWfTFbKJnadZpKEbQ==";
+    };
+    dependencies = [
+      sources."aproba-1.2.0"
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      sources."arrify-1.0.1"
+      sources."balanced-match-1.0.0"
+      sources."big.js-3.2.0"
+      sources."bluebird-3.5.1"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.1.1"
+      sources."cacache-10.0.4"
+      sources."chownr-1.0.1"
+      sources."commondir-1.0.1"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."copy-concurrently-1.0.5"
+      sources."core-util-is-1.0.2"
+      sources."cyclist-0.2.2"
+      sources."dir-glob-2.0.0"
+      sources."duplexify-3.6.0"
+      sources."emojis-list-2.1.0"
+      sources."end-of-stream-1.4.1"
+      sources."find-cache-dir-1.0.0"
+      sources."find-up-2.1.0"
+      sources."flush-write-stream-1.0.3"
+      sources."from2-2.3.0"
+      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."globby-7.1.1"
+      sources."graceful-fs-4.1.11"
+      sources."iferr-0.1.5"
+      sources."ignore-3.3.10"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.0"
+      sources."isarray-1.0.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-1.1.0"
+      sources."locate-path-2.0.0"
+      sources."lru-cache-4.1.3"
+      sources."make-dir-1.3.0"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mississippi-2.0.0"
+      sources."mkdirp-0.5.1"
+      sources."move-concurrently-1.0.1"
+      sources."once-1.4.0"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parallel-transform-1.1.0"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-type-3.0.0"
+      sources."pify-3.0.0"
+      sources."pkg-dir-2.0.0"
+      sources."process-nextick-args-2.0.0"
+      sources."promise-inflight-1.0.1"
+      sources."pseudomap-1.0.2"
+      sources."pump-2.0.1"
+      sources."pumpify-1.5.1"
+      sources."readable-stream-2.3.6"
+      sources."rimraf-2.6.2"
+      sources."run-queue-1.0.3"
+      sources."safe-buffer-5.1.2"
+      sources."serialize-javascript-1.5.0"
+      sources."slash-1.0.0"
+      sources."ssri-5.3.0"
+      sources."stream-each-1.2.3"
+      sources."stream-shift-1.0.0"
+      sources."string_decoder-1.1.1"
+      sources."through2-2.0.3"
+      sources."typedarray-0.0.6"
+      sources."unique-filename-1.1.0"
+      sources."unique-slug-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+      sources."y18n-4.0.0"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Copy files && directories with webpack";
+      homepage = https://github.com/webpack-contrib/copy-webpack-plugin;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "css-loader-^0.26.1" = nodeEnv.buildNodePackage {
+    name = "css-loader";
+    packageName = "css-loader";
+    version = "0.26.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/css-loader/-/css-loader-0.26.4.tgz";
+      sha1 = "b61e9e30db94303e6ffc892f10ecd09ad025a1fd";
+    };
+    dependencies = [
+      sources."alphanum-sort-1.0.2"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."argparse-1.0.10"
+      sources."autoprefixer-6.7.7"
+      sources."babel-code-frame-6.26.0"
+      sources."balanced-match-0.4.2"
+      sources."big.js-3.2.0"
+      sources."browserslist-1.7.7"
+      sources."caniuse-api-1.6.1"
+      sources."caniuse-db-1.0.30000874"
+      sources."chalk-1.1.3"
+      sources."clap-1.2.3"
+      sources."clone-1.0.4"
+      sources."coa-1.0.4"
+      sources."color-0.11.4"
+      sources."color-convert-1.9.2"
+      sources."color-name-1.1.1"
+      sources."color-string-0.3.0"
+      sources."colormin-1.1.2"
+      sources."colors-1.1.2"
+      sources."css-color-names-0.0.4"
+      sources."css-selector-tokenizer-0.7.0"
+      sources."cssesc-0.1.0"
+      sources."cssnano-3.10.0"
+      sources."csso-2.3.2"
+      sources."decamelize-1.2.0"
+      sources."defined-1.0.0"
+      sources."electron-to-chromium-1.3.55"
+      sources."emojis-list-2.1.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-2.7.3"
+      sources."esutils-2.0.2"
+      sources."fastparse-1.1.1"
+      sources."flatten-1.0.2"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-1.0.0"
+      sources."html-comment-regex-1.1.1"
+      sources."icss-replace-symbols-1.1.0"
+      sources."indexes-of-1.0.1"
+      sources."is-absolute-url-2.1.0"
+      sources."is-plain-obj-1.1.0"
+      sources."is-svg-2.1.0"
+      sources."js-base64-2.4.8"
+      sources."js-tokens-3.0.2"
+      sources."js-yaml-3.7.0"
+      sources."jsesc-0.5.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-1.1.0"
+      sources."lodash.camelcase-4.3.0"
+      sources."lodash.memoize-4.1.2"
+      sources."lodash.uniq-4.5.0"
+      sources."math-expression-evaluator-1.2.17"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."normalize-range-0.1.2"
+      sources."normalize-url-1.9.1"
+      sources."num2fraction-1.2.2"
+      sources."object-assign-4.1.1"
+      (sources."postcss-5.2.18" // {
+        dependencies = [
+          sources."supports-color-3.2.3"
+        ];
+      })
+      sources."postcss-calc-5.3.1"
+      sources."postcss-colormin-2.2.2"
+      sources."postcss-convert-values-2.6.1"
+      sources."postcss-discard-comments-2.0.4"
+      sources."postcss-discard-duplicates-2.1.0"
+      sources."postcss-discard-empty-2.1.0"
+      sources."postcss-discard-overridden-0.1.1"
+      sources."postcss-discard-unused-2.2.3"
+      sources."postcss-filter-plugins-2.0.3"
+      sources."postcss-merge-idents-2.1.7"
+      sources."postcss-merge-longhand-2.0.2"
+      sources."postcss-merge-rules-2.1.2"
+      sources."postcss-message-helpers-2.0.0"
+      sources."postcss-minify-font-values-1.0.5"
+      sources."postcss-minify-gradients-1.0.5"
+      sources."postcss-minify-params-1.2.2"
+      sources."postcss-minify-selectors-2.1.1"
+      (sources."postcss-modules-extract-imports-1.2.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
+          sources."has-flag-3.0.0"
+          sources."postcss-6.0.23"
+          sources."source-map-0.6.1"
+          sources."supports-color-5.4.0"
+        ];
+      })
+      (sources."postcss-modules-local-by-default-1.2.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
+          sources."has-flag-3.0.0"
+          sources."postcss-6.0.23"
+          sources."source-map-0.6.1"
+          sources."supports-color-5.4.0"
+        ];
+      })
+      (sources."postcss-modules-scope-1.1.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
+          sources."has-flag-3.0.0"
+          sources."postcss-6.0.23"
+          sources."source-map-0.6.1"
+          sources."supports-color-5.4.0"
+        ];
+      })
+      (sources."postcss-modules-values-1.3.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.1"
+          sources."has-flag-3.0.0"
+          sources."postcss-6.0.23"
+          sources."source-map-0.6.1"
+          sources."supports-color-5.4.0"
+        ];
+      })
+      sources."postcss-normalize-charset-1.1.1"
+      sources."postcss-normalize-url-3.0.8"
+      sources."postcss-ordered-values-2.2.3"
+      sources."postcss-reduce-idents-2.4.0"
+      sources."postcss-reduce-initial-1.0.1"
+      sources."postcss-reduce-transforms-1.0.4"
+      sources."postcss-selector-parser-2.2.3"
+      sources."postcss-svgo-2.1.6"
+      sources."postcss-unique-selectors-2.0.2"
+      sources."postcss-value-parser-3.3.0"
+      sources."postcss-zindex-2.2.0"
+      sources."prepend-http-1.0.4"
+      sources."q-1.5.1"
+      sources."query-string-4.3.4"
+      sources."reduce-css-calc-1.3.0"
+      sources."reduce-function-call-1.0.2"
+      sources."regenerate-1.4.0"
+      sources."regexpu-core-1.0.0"
+      sources."regjsgen-0.2.0"
+      sources."regjsparser-0.1.5"
+      sources."sax-1.2.4"
+      sources."sort-keys-1.1.2"
+      sources."source-list-map-0.1.8"
+      sources."source-map-0.5.7"
+      sources."sprintf-js-1.0.3"
+      sources."strict-uri-encode-1.1.0"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-2.0.0"
+      sources."svgo-0.7.2"
+      sources."uniq-1.0.1"
+      sources."uniqs-2.0.0"
+      sources."vendors-1.0.2"
+      sources."whet.extend-0.9.9"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "css loader module for webpack";
+      homepage = "https://github.com/webpack/css-loader#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "doctoc-^1.3.0" = nodeEnv.buildNodePackage {
+    name = "doctoc";
+    packageName = "doctoc";
+    version = "1.3.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/doctoc/-/doctoc-1.3.1.tgz";
+      sha1 = "f012e3603e3156254c2ef22ac88c7190f55426ba";
+    };
+    dependencies = [
+      sources."anchor-markdown-header-0.5.7"
+      sources."bail-1.0.3"
+      sources."boundary-1.0.1"
+      sources."ccount-1.0.3"
+      sources."character-entities-1.2.2"
+      sources."character-entities-html4-1.1.2"
+      sources."character-entities-legacy-1.1.2"
+      sources."character-reference-invalid-1.1.2"
+      sources."collapse-white-space-1.0.4"
+      sources."core-util-is-1.0.2"
+      sources."debug-2.6.9"
+      (sources."dom-serializer-0.1.0" // {
+        dependencies = [
+          sources."domelementtype-1.1.3"
+        ];
+      })
+      sources."domelementtype-1.3.0"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.7.0"
+      sources."emoji-regex-6.1.3"
+      sources."entities-1.1.1"
+      sources."extend-3.0.2"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."htmlparser2-3.9.2"
+      sources."inherits-2.0.3"
+      sources."is-alphabetical-1.0.2"
+      sources."is-alphanumerical-1.0.2"
+      sources."is-decimal-1.0.2"
+      sources."is-hexadecimal-1.0.2"
+      sources."isarray-1.0.0"
+      sources."longest-streak-1.0.0"
+      sources."markdown-table-0.4.0"
+      sources."markdown-to-ast-3.4.0"
+      sources."minimist-1.2.0"
+      sources."ms-2.0.0"
+      sources."once-1.4.0"
+      sources."parse-entities-1.1.2"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."remark-5.1.0"
+      sources."remark-parse-1.1.0"
+      sources."remark-stringify-1.1.0"
+      sources."repeat-string-1.6.1"
+      sources."safe-buffer-5.1.2"
+      sources."string_decoder-1.1.1"
+      sources."stringify-entities-1.3.2"
+      sources."structured-source-3.0.2"
+      sources."traverse-0.6.6"
+      sources."trim-0.0.1"
+      sources."trim-trailing-lines-1.1.1"
+      sources."trough-1.0.2"
+      sources."underscore-1.8.3"
+      sources."unherit-1.1.1"
+      sources."unified-4.2.1"
+      sources."unist-util-is-2.1.2"
+      sources."unist-util-remove-position-1.1.2"
+      sources."unist-util-visit-1.4.0"
+      sources."unist-util-visit-parents-2.0.1"
+      sources."update-section-0.3.3"
+      sources."util-deprecate-1.0.2"
+      sources."vfile-1.4.0"
+      sources."vfile-location-2.0.3"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Generates TOC for markdown files of local git repo.";
+      homepage = "https://github.com/thlorenz/doctoc#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "ejs-loader-^0.3.0" = nodeEnv.buildNodePackage {
+    name = "ejs-loader";
+    packageName = "ejs-loader";
+    version = "0.3.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/ejs-loader/-/ejs-loader-0.3.1.tgz";
+      sha512 = "bdJHTxBY3uqZ6L5V1WRohf1gr7ousgESpArPVseEQCWCATs+M8BRqxyJWqnFo+h815gTA++g5LyAyqS5OTIfdQ==";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-0.2.17"
+      sources."lodash-3.10.1"
+      sources."object-assign-4.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "EJS (Underscore/LoDash Templates) loader for webpack";
+      homepage = https://github.com/okonet/ejs-loader;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "exports-loader-^0.6.3" = nodeEnv.buildNodePackage {
+    name = "exports-loader";
+    packageName = "exports-loader";
+    version = "0.6.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/exports-loader/-/exports-loader-0.6.4.tgz";
+      sha1 = "d70fc6121975b35fc12830cf52754be2740fc886";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-1.1.0"
+      sources."source-map-0.5.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "exports loader module for webpack";
+      homepage = "https://github.com/webpack/exports-loader#readme";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "expose-^0.1.4" = nodeEnv.buildNodePackage {
+    name = "expose";
+    packageName = "expose";
+    version = "0.1.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/expose/-/expose-0.1.4.tgz";
+      sha1 = "197aa807200f5114d01520a8ce6a4f42b7f9ba29";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Search modules and expose exports onto a given namespace.";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "expose-loader-^0.7.1" = nodeEnv.buildNodePackage {
+    name = "expose-loader";
+    packageName = "expose-loader";
+    version = "0.7.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/expose-loader/-/expose-loader-0.7.5.tgz";
+      sha512 = "iPowgKUZkTPX5PznYsmifVj9Bob0w2wTHVkt/eYNPSzyebkUgIedmskf/kcfEIWpiWjg3JRjnW+a17XypySMuw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "expose loader module for webpack";
+      homepage = https://github.com/webpack-contrib/expose-loader;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "extract-text-webpack-plugin-^1.0.1" = nodeEnv.buildNodePackage {
+    name = "extract-text-webpack-plugin";
+    packageName = "extract-text-webpack-plugin";
+    version = "1.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-1.0.1.tgz";
+      sha1 = "c95bf3cbaac49dc96f1dc6e072549fbb654ccd2c";
+    };
+    dependencies = [
+      sources."async-1.5.2"
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-0.2.17"
+      sources."object-assign-4.1.1"
+      sources."source-list-map-0.1.8"
+      sources."source-map-0.5.7"
+      sources."webpack-sources-0.1.5"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Extract text from bundle into a file.";
+      homepage = http://github.com/webpack/extract-text-webpack-plugin;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "file-loader-^0.9.0" = nodeEnv.buildNodePackage {
+    name = "file-loader";
+    packageName = "file-loader";
+    version = "0.9.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/file-loader/-/file-loader-0.9.0.tgz";
+      sha1 = "1d2daddd424ce6d1b07cfe3f79731bed3617ab42";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-0.2.17"
+      sources."object-assign-4.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "file loader module for webpack";
+      homepage = https://github.com/webpack/file-loader;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "html-webpack-plugin-^2.25.0" = nodeEnv.buildNodePackage {
+    name = "html-webpack-plugin";
+    packageName = "html-webpack-plugin";
+    version = "2.30.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz";
+      sha1 = "7f9c421b7ea91ec460f56527d78df484ee7537d5";
+    };
+    dependencies = [
+      sources."ansi-regex-2.1.1"
+      sources."big.js-3.2.0"
+      sources."bluebird-3.5.1"
+      sources."boolbase-1.0.0"
+      sources."camel-case-3.0.0"
+      sources."clean-css-4.1.11"
+      sources."commander-2.16.0"
+      sources."core-util-is-1.0.2"
+      sources."css-select-1.2.0"
+      sources."css-what-2.1.0"
+      (sources."dom-converter-0.1.4" // {
+        dependencies = [
+          sources."utila-0.3.3"
+        ];
+      })
+      (sources."dom-serializer-0.1.0" // {
+        dependencies = [
+          sources."domelementtype-1.1.3"
+        ];
+      })
+      sources."domelementtype-1.3.0"
+      sources."domhandler-2.1.0"
+      sources."domutils-1.5.1"
+      sources."emojis-list-2.1.0"
+      sources."entities-1.1.1"
+      sources."he-1.1.1"
+      sources."html-minifier-3.5.19"
+      (sources."htmlparser2-3.3.0" // {
+        dependencies = [
+          sources."domutils-1.1.6"
+        ];
+      })
+      sources."inherits-2.0.3"
+      sources."isarray-0.0.1"
+      sources."json5-0.5.1"
+      sources."loader-utils-0.2.17"
+      sources."lodash-4.17.10"
+      sources."lower-case-1.1.4"
+      sources."no-case-2.3.2"
+      sources."nth-check-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."param-case-2.1.1"
+      sources."pretty-error-2.1.1"
+      sources."readable-stream-1.0.34"
+      sources."relateurl-0.2.7"
+      (sources."renderkid-2.0.1" // {
+        dependencies = [
+          sources."utila-0.3.3"
+        ];
+      })
+      sources."source-map-0.5.7"
+      sources."string_decoder-0.10.31"
+      sources."strip-ansi-3.0.1"
+      sources."toposort-1.0.7"
+      (sources."uglify-js-3.4.6" // {
+        dependencies = [
+          sources."source-map-0.6.1"
+        ];
+      })
+      sources."upper-case-1.1.3"
+      sources."utila-0.4.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simplifies creation of HTML files to serve your webpack bundles";
+      homepage = https://github.com/jantimon/html-webpack-plugin;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "imports-loader-^0.7.0" = nodeEnv.buildNodePackage {
+    name = "imports-loader";
+    packageName = "imports-loader";
+    version = "0.7.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/imports-loader/-/imports-loader-0.7.1.tgz";
+      sha1 = "f204b5f34702a32c1db7d48d89d5e867a0441253";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-1.1.0"
+      sources."source-map-0.5.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "imports loader module for webpack";
+      homepage = "https://github.com/webpack/imports-loader#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "json-loader-^0.5.4" = nodeEnv.buildNodePackage {
+    name = "json-loader";
+    packageName = "json-loader";
+    version = "0.5.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz";
+      sha512 = "QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "json loader module for webpack";
+      homepage = "https://github.com/webpack/json-loader#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "jsonlint-^1.6.2" = nodeEnv.buildNodePackage {
+    name = "jsonlint";
+    packageName = "jsonlint";
+    version = "1.6.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.3.tgz";
+      sha512 = "jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A==";
+    };
+    dependencies = [
+      sources."JSV-4.0.2"
+      sources."ansi-styles-1.0.0"
+      sources."chalk-0.4.0"
+      sources."has-color-0.1.7"
+      sources."nomnom-1.8.1"
+      sources."strip-ansi-0.1.1"
+      sources."underscore-1.6.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Validate JSON";
+      homepage = http://zaach.github.com/jsonlint/;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "less-^2.7.1" = nodeEnv.buildNodePackage {
+    name = "less";
+    packageName = "less";
+    version = "2.7.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/less/-/less-2.7.3.tgz";
+      sha512 = "KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==";
+    };
+    dependencies = [
+      sources."ajv-4.11.8"
+      sources."asap-2.0.6"
+      sources."asn1-0.2.4"
+      sources."assert-plus-0.2.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.6.0"
+      sources."aws4-1.7.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."boom-2.10.1"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."core-util-is-1.0.2"
+      sources."cryptiles-2.0.5"
+      (sources."dashdash-1.14.1" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."errno-0.1.7"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.1.4"
+      (sources."getpass-0.1.7" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."graceful-fs-4.1.11"
+      sources."har-schema-1.0.5"
+      sources."har-validator-4.2.1"
+      sources."hawk-3.1.3"
+      sources."hoek-2.16.3"
+      sources."http-signature-1.1.1"
+      sources."image-size-0.5.5"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-stable-stringify-1.0.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonify-0.0.0"
+      (sources."jsprim-1.4.1" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."mime-1.6.0"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-0.2.0"
+      sources."promise-7.3.1"
+      sources."prr-1.0.1"
+      sources."punycode-1.4.1"
+      sources."qs-6.4.0"
+      sources."request-2.81.0"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sntp-1.0.9"
+      sources."source-map-0.5.7"
+      (sources."sshpk-1.14.2" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+      sources."stringstream-0.0.6"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uuid-3.3.2"
+      (sources."verror-1.10.0" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Leaner CSS";
+      homepage = http://lesscss.org/;
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "less-loader-^2.2.3" = nodeEnv.buildNodePackage {
+    name = "less-loader";
+    packageName = "less-loader";
+    version = "2.2.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/less-loader/-/less-loader-2.2.3.tgz";
+      sha1 = "b6d8f8139c8493df09d992a93a00734b08f84528";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-0.2.17"
+      sources."object-assign-4.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "less loader module for webpack";
+      homepage = "https://github.com/webpack/less-loader#readme";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "optimize-css-assets-webpack-plugin-^1.3.0" = nodeEnv.buildNodePackage {
+    name = "optimize-css-assets-webpack-plugin";
+    packageName = "optimize-css-assets-webpack-plugin";
+    version = "1.3.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-1.3.2.tgz";
+      sha1 = "eb27456e21eefbd8080f31e8368c59684e585a2c";
+    };
+    dependencies = [
+      sources."alphanum-sort-1.0.2"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."argparse-1.0.10"
+      sources."autoprefixer-6.7.7"
+      sources."balanced-match-0.4.2"
+      sources."browserslist-1.7.7"
+      sources."caniuse-api-1.6.1"
+      sources."caniuse-db-1.0.30000874"
+      (sources."chalk-1.1.3" // {
+        dependencies = [
+          sources."supports-color-2.0.0"
+        ];
+      })
+      sources."clap-1.2.3"
+      sources."clone-1.0.4"
+      sources."coa-1.0.4"
+      sources."color-0.11.4"
+      sources."color-convert-1.9.2"
+      sources."color-name-1.1.1"
+      sources."color-string-0.3.0"
+      sources."colormin-1.1.2"
+      sources."colors-1.1.2"
+      sources."css-color-names-0.0.4"
+      sources."cssnano-3.10.0"
+      sources."csso-2.3.2"
+      sources."decamelize-1.2.0"
+      sources."defined-1.0.0"
+      sources."electron-to-chromium-1.3.55"
+      sources."escape-string-regexp-1.0.5"
+      sources."esprima-2.7.3"
+      sources."flatten-1.0.2"
+      sources."function-bind-1.1.1"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-flag-1.0.0"
+      sources."html-comment-regex-1.1.1"
+      sources."indexes-of-1.0.1"
+      sources."is-absolute-url-2.1.0"
+      sources."is-plain-obj-1.1.0"
+      sources."is-svg-2.1.0"
+      sources."js-base64-2.4.8"
+      sources."js-yaml-3.7.0"
+      sources."lodash.memoize-4.1.2"
+      sources."lodash.uniq-4.5.0"
+      sources."math-expression-evaluator-1.2.17"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."normalize-range-0.1.2"
+      sources."normalize-url-1.9.1"
+      sources."num2fraction-1.2.2"
+      sources."object-assign-4.1.1"
+      sources."postcss-5.2.18"
+      sources."postcss-calc-5.3.1"
+      sources."postcss-colormin-2.2.2"
+      sources."postcss-convert-values-2.6.1"
+      sources."postcss-discard-comments-2.0.4"
+      sources."postcss-discard-duplicates-2.1.0"
+      sources."postcss-discard-empty-2.1.0"
+      sources."postcss-discard-overridden-0.1.1"
+      sources."postcss-discard-unused-2.2.3"
+      sources."postcss-filter-plugins-2.0.3"
+      sources."postcss-merge-idents-2.1.7"
+      sources."postcss-merge-longhand-2.0.2"
+      sources."postcss-merge-rules-2.1.2"
+      sources."postcss-message-helpers-2.0.0"
+      sources."postcss-minify-font-values-1.0.5"
+      sources."postcss-minify-gradients-1.0.5"
+      sources."postcss-minify-params-1.2.2"
+      sources."postcss-minify-selectors-2.1.1"
+      sources."postcss-normalize-charset-1.1.1"
+      sources."postcss-normalize-url-3.0.8"
+      sources."postcss-ordered-values-2.2.3"
+      sources."postcss-reduce-idents-2.4.0"
+      sources."postcss-reduce-initial-1.0.1"
+      sources."postcss-reduce-transforms-1.0.4"
+      sources."postcss-selector-parser-2.2.3"
+      sources."postcss-svgo-2.1.6"
+      sources."postcss-unique-selectors-2.0.2"
+      sources."postcss-value-parser-3.3.0"
+      sources."postcss-zindex-2.2.0"
+      sources."prepend-http-1.0.4"
+      sources."q-1.5.1"
+      sources."query-string-4.3.4"
+      sources."reduce-css-calc-1.3.0"
+      sources."reduce-function-call-1.0.2"
+      sources."sax-1.2.4"
+      sources."sort-keys-1.1.2"
+      sources."source-list-map-0.1.8"
+      sources."source-map-0.5.7"
+      sources."sprintf-js-1.0.3"
+      sources."strict-uri-encode-1.1.0"
+      sources."strip-ansi-3.0.1"
+      sources."supports-color-3.2.3"
+      sources."svgo-0.7.2"
+      sources."underscore-1.9.1"
+      sources."uniq-1.0.1"
+      sources."uniqs-2.0.0"
+      sources."vendors-1.0.2"
+      sources."webpack-sources-0.1.5"
+      sources."whet.extend-0.9.9"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A Webpack plugin to optimize \\ minimize CSS assets.";
+      homepage = http://github.com/NMFR/optimize-css-assets-webpack-plugin;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "script-loader-^0.7.0" = nodeEnv.buildNodePackage {
+    name = "script-loader";
+    packageName = "script-loader";
+    version = "0.7.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/script-loader/-/script-loader-0.7.2.tgz";
+      sha512 = "UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==";
+    };
+    dependencies = [
+      sources."raw-loader-0.5.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "script loader module for webpack";
+      homepage = https://github.com/webpack/script-loader;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "standard-^9.0.1" = nodeEnv.buildNodePackage {
+    name = "standard";
+    packageName = "standard";
+    version = "9.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/standard/-/standard-9.0.2.tgz";
+      sha1 = "9bd3b9467492e212b1914d78553943ff9b48fd99";
+    };
+    dependencies = [
+      sources."acorn-5.7.1"
+      (sources."acorn-jsx-3.0.1" // {
+        dependencies = [
+          sources."acorn-3.3.0"
+        ];
+      })
+      sources."ajv-4.11.8"
+      sources."ajv-keywords-1.5.1"
+      sources."ansi-escapes-1.4.0"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."argparse-1.0.10"
+      sources."array-union-1.0.2"
+      sources."array-uniq-1.0.3"
+      sources."array.prototype.find-2.0.4"
+      sources."arrify-1.0.1"
+      sources."babel-code-frame-6.26.0"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.1.1"
+      sources."caller-path-0.1.0"
+      sources."callsites-0.2.0"
+      sources."chalk-1.1.3"
+      sources."circular-json-0.3.3"
+      sources."cli-cursor-1.0.2"
+      sources."cli-width-2.2.0"
+      sources."co-4.6.0"
+      sources."code-point-at-1.1.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."d-1.0.0"
+      sources."debug-2.6.9"
+      sources."debug-log-1.0.1"
+      sources."deep-is-0.1.3"
+      sources."define-properties-1.1.2"
+      sources."deglob-2.1.1"
+      sources."del-2.2.2"
+      sources."doctrine-2.1.0"
+      sources."error-ex-1.3.2"
+      sources."es-abstract-1.12.0"
+      sources."es-to-primitive-1.1.1"
+      sources."es5-ext-0.10.45"
+      sources."es6-iterator-2.0.3"
+      sources."es6-map-0.1.5"
+      sources."es6-set-0.1.5"
+      sources."es6-symbol-3.1.1"
+      sources."es6-weak-map-2.0.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."escope-3.6.0"
+      sources."eslint-3.18.0"
+      sources."eslint-config-standard-7.1.0"
+      sources."eslint-config-standard-jsx-3.3.0"
+      sources."eslint-plugin-promise-3.4.2"
+      (sources."eslint-plugin-react-6.9.0" // {
+        dependencies = [
+          sources."doctrine-1.5.0"
+        ];
+      })
+      sources."eslint-plugin-standard-2.0.1"
+      sources."espree-3.5.4"
+      sources."esprima-4.0.1"
+      sources."esquery-1.0.1"
+      sources."esrecurse-4.2.1"
+      sources."estraverse-4.2.0"
+      sources."esutils-2.0.2"
+      sources."event-emitter-0.3.5"
+      sources."exit-hook-1.1.1"
+      sources."fast-levenshtein-2.0.6"
+      sources."figures-1.7.0"
+      sources."file-entry-cache-2.0.0"
+      sources."find-root-1.1.0"
+      sources."find-up-2.1.0"
+      sources."flat-cache-1.3.0"
+      sources."foreach-2.0.5"
+      sources."fs.realpath-1.0.0"
+      sources."function-bind-1.1.1"
+      sources."generate-function-2.0.0"
+      sources."generate-object-property-1.2.0"
+      sources."get-stdin-5.0.1"
+      sources."glob-7.1.2"
+      sources."globals-9.18.0"
+      sources."globby-5.0.0"
+      sources."graceful-fs-4.1.11"
+      sources."has-1.0.3"
+      sources."has-ansi-2.0.0"
+      sources."home-or-tmp-2.0.0"
+      sources."ignore-3.3.10"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."inquirer-0.12.0"
+      sources."interpret-1.1.0"
+      sources."is-arrayish-0.2.1"
+      sources."is-callable-1.1.4"
+      sources."is-date-object-1.0.1"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-my-ip-valid-1.0.0"
+      sources."is-my-json-valid-2.17.2"
+      sources."is-path-cwd-1.0.0"
+      sources."is-path-in-cwd-1.0.1"
+      sources."is-path-inside-1.0.1"
+      sources."is-property-1.0.2"
+      sources."is-regex-1.0.4"
+      sources."is-resolvable-1.1.0"
+      sources."is-symbol-1.0.1"
+      sources."isarray-1.0.0"
+      sources."js-tokens-3.0.2"
+      sources."js-yaml-3.12.0"
+      sources."json-parse-better-errors-1.0.2"
+      sources."json-stable-stringify-1.0.1"
+      sources."jsonify-0.0.0"
+      sources."jsonpointer-4.0.1"
+      sources."jsx-ast-utils-1.4.1"
+      sources."levn-0.3.0"
+      (sources."load-json-file-4.0.0" // {
+        dependencies = [
+          sources."pify-3.0.0"
+        ];
+      })
+      sources."locate-path-2.0.0"
+      sources."lodash-4.17.10"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."mute-stream-0.0.5"
+      sources."natural-compare-1.4.0"
+      sources."next-tick-1.0.0"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."object-keys-1.0.12"
+      sources."once-1.4.0"
+      sources."onetime-1.1.0"
+      sources."optionator-0.8.2"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parse-json-4.0.0"
+      sources."path-exists-3.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."path-is-inside-1.0.2"
+      sources."path-parse-1.0.5"
+      sources."pify-2.3.0"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pkg-conf-2.1.0"
+      sources."pkg-config-1.1.1"
+      sources."pluralize-1.2.1"
+      sources."prelude-ls-1.1.2"
+      sources."process-nextick-args-2.0.0"
+      sources."progress-1.1.8"
+      sources."readable-stream-2.3.6"
+      sources."readline2-1.0.1"
+      sources."rechoir-0.6.2"
+      sources."require-uncached-1.0.3"
+      sources."resolve-1.8.1"
+      sources."resolve-from-1.0.1"
+      sources."restore-cursor-1.0.1"
+      sources."rimraf-2.6.2"
+      sources."run-async-0.1.0"
+      sources."run-parallel-1.1.9"
+      sources."rx-lite-3.1.2"
+      sources."safe-buffer-5.1.2"
+      sources."shelljs-0.7.8"
+      sources."slice-ansi-0.0.4"
+      sources."sprintf-js-1.0.3"
+      (sources."standard-engine-5.4.0" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-bom-3.0.0"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-2.0.0"
+      (sources."table-3.8.3" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."string-width-2.1.1"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."text-table-0.2.0"
+      sources."through-2.3.8"
+      sources."type-check-0.3.2"
+      sources."typedarray-0.0.6"
+      sources."uniq-1.0.1"
+      sources."user-home-2.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."wordwrap-1.0.0"
+      sources."wrappy-1.0.2"
+      sources."write-0.2.1"
+      sources."xtend-4.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "JavaScript Standard Style";
+      homepage = http://standardjs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "string-loader-^0.0.1" = nodeEnv.buildNodePackage {
+    name = "string-loader";
+    packageName = "string-loader";
+    version = "0.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/string-loader/-/string-loader-0.0.1.tgz";
+      sha1 = "496f3cccc990213e0dd5411499f9ac6a6a6f2ff8";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "string loader for webpack";
+      homepage = "https://github.com/enmoon/string-loader#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "style-loader-^0.13.1" = nodeEnv.buildNodePackage {
+    name = "style-loader";
+    packageName = "style-loader";
+    version = "0.13.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/style-loader/-/style-loader-0.13.2.tgz";
+      sha1 = "74533384cf698c7104c7951150b49717adc2f3bb";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-1.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "style loader module for webpack";
+      homepage = "https://github.com/webpack/style-loader#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "url-loader-^0.5.7" = nodeEnv.buildNodePackage {
+    name = "url-loader";
+    packageName = "url-loader";
+    version = "0.5.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz";
+      sha512 = "B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==";
+    };
+    dependencies = [
+      sources."big.js-3.2.0"
+      sources."emojis-list-2.1.0"
+      sources."json5-0.5.1"
+      sources."loader-utils-1.1.0"
+      sources."mime-1.3.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "url loader module for webpack";
+      homepage = "https://github.com/webpack/url-loader#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "webpack-^1.14.0" = nodeEnv.buildNodePackage {
+    name = "webpack";
+    packageName = "webpack";
+    version = "1.15.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/webpack/-/webpack-1.15.0.tgz";
+      sha1 = "4ff31f53db03339e55164a9d468ee0324968fe98";
+    };
+    dependencies = [
+      sources."acorn-3.3.0"
+      sources."align-text-0.1.4"
+      sources."amdefine-1.0.1"
+      sources."anymatch-1.3.2"
+      sources."arr-diff-2.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."array-unique-0.2.1"
+      (sources."assert-1.4.1" // {
+        dependencies = [
+          sources."inherits-2.0.1"
+          sources."util-0.10.3"
+        ];
+      })
+      sources."async-1.5.2"
+      sources."async-each-1.0.1"
+      sources."balanced-match-1.0.0"
+      sources."base64-js-1.3.0"
+      sources."big.js-3.2.0"
+      sources."binary-extensions-1.11.0"
+      sources."brace-expansion-1.1.11"
+      sources."braces-1.8.5"
+      sources."browserify-aes-0.4.0"
+      sources."browserify-zlib-0.1.4"
+      sources."buffer-4.9.1"
+      sources."builtin-status-codes-3.0.0"
+      sources."camelcase-1.2.1"
+      sources."center-align-0.1.3"
+      sources."chokidar-1.7.0"
+      (sources."cliui-2.1.0" // {
+        dependencies = [
+          sources."wordwrap-0.0.2"
+        ];
+      })
+      sources."clone-1.0.4"
+      sources."concat-map-0.0.1"
+      sources."console-browserify-1.1.0"
+      sources."constants-browserify-1.0.0"
+      sources."core-util-is-1.0.2"
+      sources."crypto-browserify-3.3.0"
+      sources."date-now-0.1.4"
+      sources."decamelize-1.2.0"
+      sources."domain-browser-1.2.0"
+      sources."emojis-list-2.1.0"
+      (sources."enhanced-resolve-0.9.1" // {
+        dependencies = [
+          sources."memory-fs-0.2.0"
+        ];
+      })
+      sources."errno-0.1.7"
+      sources."events-1.1.1"
+      sources."expand-brackets-0.1.5"
+      sources."expand-range-1.8.2"
+      sources."extglob-0.3.2"
+      sources."filename-regex-2.0.1"
+      sources."fill-range-2.2.4"
+      sources."for-in-1.0.2"
+      sources."for-own-0.1.5"
+      sources."fsevents-1.2.4"
+      sources."glob-base-0.3.0"
+      sources."glob-parent-2.0.0"
+      sources."graceful-fs-4.1.11"
+      sources."has-flag-1.0.0"
+      sources."https-browserify-0.0.1"
+      sources."ieee754-1.1.12"
+      sources."indexof-0.0.1"
+      sources."inherits-2.0.3"
+      sources."interpret-0.6.6"
+      sources."is-binary-path-1.0.1"
+      sources."is-buffer-1.1.6"
+      sources."is-dotfile-1.0.3"
+      sources."is-equal-shallow-0.1.3"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-1.0.0"
+      sources."is-glob-2.0.1"
+      sources."is-number-2.1.0"
+      sources."is-posix-bracket-0.1.1"
+      sources."is-primitive-2.0.0"
+      sources."isarray-1.0.0"
+      sources."isobject-2.1.0"
+      sources."json5-0.5.1"
+      sources."kind-of-3.2.2"
+      sources."lazy-cache-1.0.4"
+      sources."loader-utils-0.2.17"
+      sources."longest-1.0.1"
+      sources."math-random-1.0.1"
+      sources."memory-fs-0.3.0"
+      sources."micromatch-2.3.11"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."nan-2.10.0"
+      (sources."node-libs-browser-0.7.0" // {
+        dependencies = [
+          sources."string_decoder-0.10.31"
+        ];
+      })
+      sources."normalize-path-2.1.1"
+      sources."object-assign-4.1.1"
+      sources."object.omit-2.0.1"
+      sources."optimist-0.6.1"
+      sources."os-browserify-0.2.1"
+      sources."pako-0.2.9"
+      sources."parse-glob-3.0.4"
+      sources."path-browserify-0.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."pbkdf2-compat-2.0.1"
+      sources."preserve-0.2.0"
+      sources."process-0.11.10"
+      sources."process-nextick-args-2.0.0"
+      sources."prr-1.0.1"
+      sources."punycode-1.4.1"
+      sources."querystring-0.2.0"
+      sources."querystring-es3-0.2.1"
+      (sources."randomatic-3.0.0" // {
+        dependencies = [
+          sources."is-number-4.0.0"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."readdirp-2.1.0"
+      sources."regex-cache-0.4.4"
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.2"
+      sources."repeat-string-1.6.1"
+      sources."right-align-0.1.3"
+      sources."ripemd160-0.2.0"
+      sources."safe-buffer-5.1.2"
+      sources."set-immediate-shim-1.0.1"
+      sources."setimmediate-1.0.5"
+      sources."sha.js-2.2.6"
+      sources."source-list-map-0.1.8"
+      sources."source-map-0.5.7"
+      sources."stream-browserify-2.0.1"
+      sources."stream-http-2.8.3"
+      sources."string_decoder-1.1.1"
+      sources."supports-color-3.2.3"
+      sources."tapable-0.1.10"
+      sources."timers-browserify-2.0.10"
+      sources."to-arraybuffer-1.0.1"
+      sources."tty-browserify-0.0.0"
+      (sources."uglify-js-2.7.5" // {
+        dependencies = [
+          sources."async-0.2.10"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      (sources."url-0.11.0" // {
+        dependencies = [
+          sources."punycode-1.3.2"
+        ];
+      })
+      sources."util-0.10.4"
+      sources."util-deprecate-1.0.2"
+      sources."vm-browserify-0.0.4"
+      (sources."watchpack-0.2.9" // {
+        dependencies = [
+          sources."async-0.9.2"
+        ];
+      })
+      (sources."webpack-core-0.6.9" // {
+        dependencies = [
+          sources."source-map-0.4.4"
+        ];
+      })
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.3"
+      sources."xtend-4.0.1"
+      sources."yargs-3.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Packs CommonJs/AMD modules for the browser. Allows to split your codebase into multiple bundles, which can be loaded on demand. Support loaders to preprocess files, i.e. json, jade, coffee, css, less, ... and your custom stuff.";
+      homepage = https://github.com/webpack/webpack;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "webpack-parallel-uglify-plugin-^0.2.0" = nodeEnv.buildNodePackage {
+    name = "webpack-parallel-uglify-plugin";
+    packageName = "webpack-parallel-uglify-plugin";
+    version = "0.2.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/webpack-parallel-uglify-plugin/-/webpack-parallel-uglify-plugin-0.2.0.tgz";
+      sha1 = "6daa575cdf7262a1b994ce037b216590b16d2f3d";
+    };
+    dependencies = [
+      sources."align-text-0.1.4"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."camelcase-1.2.1"
+      sources."center-align-0.1.3"
+      sources."cliui-2.1.0"
+      sources."concat-map-0.0.1"
+      sources."decamelize-1.2.0"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."is-buffer-1.1.6"
+      sources."kind-of-3.2.2"
+      sources."lazy-cache-1.0.4"
+      sources."longest-1.0.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."once-1.4.0"
+      sources."os-tmpdir-1.0.2"
+      sources."path-is-absolute-1.0.1"
+      sources."repeat-string-1.6.1"
+      sources."right-align-0.1.3"
+      sources."source-list-map-0.1.8"
+      sources."source-map-0.5.7"
+      sources."tmp-0.0.29"
+      sources."uglify-js-2.8.29"
+      sources."uglify-to-browserify-1.0.2"
+      sources."webpack-sources-0.1.5"
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.2"
+      sources."wrappy-1.0.2"
+      sources."yargs-3.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A webpack plugin to run uglifyjs in parallel.";
+      homepage = "https://github.com/gdborton/webpack-parallel-uglify-plugin#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "eve-^0.5.4" = nodeEnv.buildNodePackage {
+    name = "eve";
+    packageName = "eve";
+    version = "0.5.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/eve/-/eve-0.5.4.tgz";
+      sha1 = "67d080b9725291d7e389e34c26860dd97f1debaa";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simple custom events";
+      homepage = "https://github.com/adobe-webplatform/eve#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "Idle.Js-git+https://github.com/shawnmclean/Idle.js" = nodeEnv.buildNodePackage {
+    name = "Idle.Js";
+    packageName = "Idle.Js";
+    version = "0.0.1";
+    src = fetchgit {
+      url = "https://github.com/shawnmclean/Idle.js";
+      rev = "db9beb3483a460ad638ec947867720f0ed066a62";
+      sha256 = "05f1b2d5b7013b48d80729fe0edf3a6b7c96ee5c55572f70e81b9593176648dd";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      license = "Apache 2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "archiver-^2.1.1" = nodeEnv.buildNodePackage {
+    name = "archiver";
+    packageName = "archiver";
+    version = "2.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz";
+      sha1 = "ff662b4a78201494a3ee544d3a33fe7496509ebc";
+    };
+    dependencies = [
+      sources."archiver-utils-1.3.0"
+      sources."async-2.6.1"
+      sources."balanced-match-1.0.0"
+      sources."base64-js-1.3.0"
+      sources."bl-1.2.2"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-5.2.0"
+      sources."buffer-alloc-1.2.0"
+      sources."buffer-alloc-unsafe-1.1.0"
+      sources."buffer-crc32-0.2.13"
+      sources."buffer-fill-1.0.0"
+      sources."compress-commons-1.2.2"
+      sources."concat-map-0.0.1"
+      sources."core-util-is-1.0.2"
+      sources."crc-3.8.0"
+      sources."crc32-stream-2.0.0"
+      sources."end-of-stream-1.4.1"
+      sources."fs-constants-1.0.0"
+      sources."fs.realpath-1.0.0"
+      sources."glob-7.1.2"
+      sources."graceful-fs-4.1.11"
+      sources."ieee754-1.1.12"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."lazystream-1.0.0"
+      sources."lodash-4.17.10"
+      sources."minimatch-3.0.4"
+      sources."normalize-path-2.1.1"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."remove-trailing-separator-1.1.0"
+      sources."safe-buffer-5.1.2"
+      sources."string_decoder-1.1.1"
+      sources."tar-stream-1.6.1"
+      sources."to-buffer-1.1.1"
+      sources."util-deprecate-1.0.2"
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+      sources."zip-stream-1.2.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "a streaming interface for archive generation";
+      homepage = https://github.com/archiverjs/node-archiver;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "async-^2.1.4" = nodeEnv.buildNodePackage {
+    name = "async";
+    packageName = "async";
+    version = "2.6.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/async/-/async-2.6.1.tgz";
+      sha512 = "fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==";
+    };
+    dependencies = [
+      sources."lodash-4.17.10"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Higher-order functions and common patterns for asynchronous code";
+      homepage = https://caolan.github.io/async/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "aws-sdk-^2.7.20" = nodeEnv.buildNodePackage {
+    name = "aws-sdk";
+    packageName = "aws-sdk";
+    version = "2.286.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.286.2.tgz";
+      sha512 = "46a/2+rGEgIlmUz08vZOkYFmZIgj+An/cc+Ngz9XBLkAZbx+3sBzOrxexrlVV69MPkMbckbeZjIq8NEJWV5gPw==";
+    };
+    dependencies = [
+      sources."base64-js-1.3.0"
+      sources."buffer-4.9.1"
+      sources."events-1.1.1"
+      sources."ieee754-1.1.8"
+      sources."isarray-1.0.0"
+      sources."jmespath-0.15.0"
+      sources."punycode-1.3.2"
+      sources."querystring-0.2.0"
+      sources."sax-1.2.1"
+      sources."url-0.10.3"
+      sources."uuid-3.1.0"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "AWS SDK for JavaScript";
+      homepage = https://github.com/aws/aws-sdk-js;
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "base64url-^3.0.0" = nodeEnv.buildNodePackage {
+    name = "base64url";
+    packageName = "base64url";
+    version = "3.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/base64url/-/base64url-3.0.0.tgz";
+      sha512 = "LIVmqIrIWuiqTvn4RzcrwCOuHo2DD6tKmKBPXXlr4p4n4l6BZBkwFTIa3zu1XkX5MbZgro4a6BvPi+n2Mns5Gg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "For encoding to/from base64urls";
+      homepage = "https://github.com/brianloveswords/base64url#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "azure-storage-^2.7.0" = nodeEnv.buildNodePackage {
+    name = "azure-storage";
+    packageName = "azure-storage";
+    version = "2.10.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/azure-storage/-/azure-storage-2.10.1.tgz";
+      sha512 = "rnFo1uMIPtilusRCpK91tfY3P4Q7qRsDNwriXdp+OeTIGkGt0cTxL4mhqYfNPYPK+WBQmBdGWhOk+iROM05dcw==";
+    };
+    dependencies = [
+      sources."ajv-5.5.2"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."browserify-mime-1.2.9"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."extend-1.2.1"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."hash-base-3.0.4"
+      sources."http-signature-1.2.0"
+      sources."inherits-2.0.3"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-edm-parser-0.1.2"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonparse-1.2.0"
+      sources."jsprim-1.4.1"
+      sources."md5.js-1.3.4"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-1.0.7"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.0.6"
+      (sources."request-2.87.0" // {
+        dependencies = [
+          sources."extend-3.0.2"
+        ];
+      })
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-0.5.8"
+      sources."sshpk-1.14.2"
+      sources."string_decoder-0.10.31"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."underscore-1.8.3"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."validator-9.4.1"
+      sources."verror-1.10.0"
+      sources."xml2js-0.2.8"
+      sources."xmlbuilder-0.4.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Microsoft Azure Storage Client Library for Node.js";
+      homepage = http://github.com/Azure/azure-storage-node;
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "blueimp-md5-^2.6.0" = nodeEnv.buildNodePackage {
+    name = "blueimp-md5";
+    packageName = "blueimp-md5";
+    version = "2.10.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.10.0.tgz";
+      sha512 = "EkNUOi7tpV68TqjpiUz9D9NcT8um2+qtgntmMbi5UKssVX2m/2PLqotcric0RE63pB3HPN/fjf3cKHN2ufGSUQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "JavaScript MD5 implementation. Compatible with server-side environments like Node.js, module loaders like RequireJS, Browserify or webpack and all web browsers.";
+      homepage = https://github.com/blueimp/JavaScript-MD5;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "body-parser-^1.15.2" = nodeEnv.buildNodePackage {
+    name = "body-parser";
+    packageName = "body-parser";
+    version = "1.18.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz";
+      sha1 = "5b292198ffdd553b3a0f20ded0592b956955c8b4";
+    };
+    dependencies = [
+      sources."bytes-3.0.0"
+      sources."content-type-1.0.4"
+      sources."debug-2.6.9"
+      sources."depd-1.1.2"
+      sources."ee-first-1.1.1"
+      sources."http-errors-1.6.3"
+      sources."iconv-lite-0.4.23"
+      sources."inherits-2.0.3"
+      sources."media-typer-0.3.0"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."ms-2.0.0"
+      sources."on-finished-2.3.0"
+      sources."qs-6.5.2"
+      sources."raw-body-2.3.3"
+      sources."safer-buffer-2.1.2"
+      sources."setprototypeof-1.1.0"
+      sources."statuses-1.5.0"
+      sources."type-is-1.6.16"
+      sources."unpipe-1.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Node.js body parsing middleware";
+      homepage = "https://github.com/expressjs/body-parser#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "bootstrap-^3.3.7" = nodeEnv.buildNodePackage {
+    name = "bootstrap";
+    packageName = "bootstrap";
+    version = "3.3.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz";
+      sha1 = "5a389394549f23330875a3b150656574f8a9eb71";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The most popular front-end framework for developing responsive, mobile first projects on the web.";
+      homepage = http://getbootstrap.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "bootstrap-validator-^0.11.8" = nodeEnv.buildNodePackage {
+    name = "bootstrap-validator";
+    packageName = "bootstrap-validator";
+    version = "0.11.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/bootstrap-validator/-/bootstrap-validator-0.11.9.tgz";
+      sha1 = "fb7058eef53623e78f5aa7967026f98f875a9404";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A user-friendly HTML5 Form validator for Bootstrap 3";
+      homepage = "https://github.com/1000hz/bootstrap-validator#readme";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "chance-^1.0.4" = nodeEnv.buildNodePackage {
+    name = "chance";
+    packageName = "chance";
+    version = "1.0.16";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/chance/-/chance-1.0.16.tgz";
+      sha512 = "2bgDHH5bVfAXH05SPtjqrsASzZ7h90yCuYT2z4mkYpxxYvJXiIydBFzVieVHZx7wLH1Ag2Azaaej2/zA1XUrNQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Chance - Utility library to generate anything random";
+      homepage = http://chancejs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "cheerio-^0.22.0" = nodeEnv.buildNodePackage {
+    name = "cheerio";
+    packageName = "cheerio";
+    version = "0.22.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz";
+      sha1 = "a9baa860a3f9b595a6b81b1a86873121ed3a269e";
+    };
+    dependencies = [
+      sources."boolbase-1.0.0"
+      sources."core-util-is-1.0.2"
+      sources."css-select-1.2.0"
+      sources."css-what-2.1.0"
+      (sources."dom-serializer-0.1.0" // {
+        dependencies = [
+          sources."domelementtype-1.1.3"
+        ];
+      })
+      sources."domelementtype-1.3.0"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.5.1"
+      sources."entities-1.1.1"
+      sources."htmlparser2-3.9.2"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."lodash.assignin-4.2.0"
+      sources."lodash.bind-4.2.1"
+      sources."lodash.defaults-4.2.0"
+      sources."lodash.filter-4.6.0"
+      sources."lodash.flatten-4.4.0"
+      sources."lodash.foreach-4.5.0"
+      sources."lodash.map-4.6.0"
+      sources."lodash.merge-4.6.1"
+      sources."lodash.pick-4.4.0"
+      sources."lodash.reduce-4.6.0"
+      sources."lodash.reject-4.6.0"
+      sources."lodash.some-4.6.0"
+      sources."nth-check-1.0.1"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
+      sources."string_decoder-1.1.1"
+      sources."util-deprecate-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Tiny, fast, and elegant implementation of core jQuery designed specifically for the server";
+      homepage = "https://github.com/cheeriojs/cheerio#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "codemirror-git+https://github.com/hackmdio/CodeMirror.git" = nodeEnv.buildNodePackage {
+    name = "codemirror";
+    packageName = "codemirror";
+    version = "5.39.1";
+    src = fetchgit {
+      url = "https://github.com/hackmdio/CodeMirror.git";
+      rev = "df412731ed3923124f9a43f60e84bdf855eb843a";
+      sha256 = "3c5a6813c29893301836773c3ed122ec868840432b16d2936a4deab419e3620b";
+    };
+    dependencies = [
+      sources."acorn-5.7.1"
+      (sources."acorn-jsx-3.0.1" // {
+        dependencies = [
+          sources."acorn-3.3.0"
+        ];
+      })
+      (sources."acorn-object-spread-1.0.0" // {
+        dependencies = [
+          sources."acorn-3.3.0"
+        ];
+      })
+      sources."ajv-5.5.2"
+      sources."align-text-0.1.4"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-1.0.0"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."blint-1.0.3"
+      sources."brace-expansion-1.1.11"
+      (sources."buble-0.15.2" // {
+        dependencies = [
+          sources."acorn-3.3.0"
+          sources."ansi-styles-2.2.1"
+          sources."chalk-1.1.3"
+          sources."minimist-1.2.0"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
+      sources."buffer-from-1.1.1"
+      sources."camelcase-1.2.1"
+      sources."caseless-0.12.0"
+      sources."center-align-0.1.3"
+      sources."chalk-0.4.0"
+      sources."cliui-2.1.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-2.6.9"
+      sources."decamelize-1.2.0"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."es6-promise-4.2.4"
+      sources."escape-string-regexp-1.0.5"
+      sources."estree-walker-0.2.1"
+      sources."extend-3.0.2"
+      sources."extract-zip-1.6.7"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fd-slicer-1.0.1"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."fs-extra-1.0.0"
+      sources."getpass-0.1.7"
+      sources."graceful-fs-4.1.11"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."has-ansi-2.0.0"
+      sources."has-color-0.1.7"
+      sources."hasha-2.2.0"
+      sources."http-signature-1.2.0"
+      sources."inherits-2.0.3"
+      sources."is-buffer-1.1.6"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonfile-2.4.0"
+      sources."jsprim-1.4.1"
+      sources."kew-0.7.0"
+      sources."kind-of-3.2.2"
+      sources."klaw-1.3.1"
+      sources."lazy-cache-1.0.4"
+      sources."longest-1.0.1"
+      sources."magic-string-0.14.0"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."node-static-0.6.0"
+      sources."nomnom-1.8.1"
+      sources."oauth-sign-0.8.2"
+      sources."os-homedir-1.0.2"
+      sources."pend-1.2.0"
+      sources."performance-now-2.1.0"
+      sources."phantomjs-prebuilt-2.1.16"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."process-nextick-args-2.0.0"
+      sources."progress-1.1.8"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."repeat-string-1.6.1"
+      sources."request-2.87.0"
+      sources."request-progress-2.0.1"
+      sources."require-relative-0.8.7"
+      sources."right-align-0.1.3"
+      sources."rollup-0.41.6"
+      sources."rollup-plugin-buble-0.15.0"
+      sources."rollup-pluginutils-1.5.2"
+      sources."rollup-watch-3.2.2"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."source-map-0.5.7"
+      sources."source-map-support-0.4.18"
+      sources."sshpk-1.14.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-0.1.1"
+      sources."supports-color-2.0.0"
+      sources."throttleit-1.0.0"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."typedarray-0.0.6"
+      sources."uglify-js-2.8.29"
+      sources."uglify-to-browserify-1.0.2"
+      sources."underscore-1.6.0"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."vlq-0.2.3"
+      sources."which-1.3.1"
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.2"
+      sources."yargs-3.10.0"
+      sources."yauzl-2.4.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Full-featured in-browser code editor";
+      homepage = http://codemirror.net/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "compression-^1.6.2" = nodeEnv.buildNodePackage {
+    name = "compression";
+    packageName = "compression";
+    version = "1.7.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz";
+      sha512 = "HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==";
+    };
+    dependencies = [
+      sources."accepts-1.3.5"
+      sources."bytes-3.0.0"
+      sources."compressible-2.0.14"
+      sources."debug-2.6.9"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."ms-2.0.0"
+      sources."negotiator-0.6.1"
+      sources."on-headers-1.0.1"
+      sources."safe-buffer-5.1.2"
+      sources."vary-1.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Node.js compression middleware";
+      homepage = "https://github.com/expressjs/compression#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "connect-flash-^0.1.1" = nodeEnv.buildNodePackage {
+    name = "connect-flash";
+    packageName = "connect-flash";
+    version = "0.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
+      sha1 = "d8630f26d95a7f851f9956b1e8cc6732f3b6aa30";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Flash message middleware for Connect.";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "connect-session-sequelize-^4.1.0" = nodeEnv.buildNodePackage {
+    name = "connect-session-sequelize";
+    packageName = "connect-session-sequelize";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/connect-session-sequelize/-/connect-session-sequelize-4.1.0.tgz";
+      sha1 = "d402749c3bebd79209192c164c090742b3fe2011";
+    };
+    dependencies = [
+      sources."debug-2.6.9"
+      sources."deep-equal-1.0.1"
+      sources."ms-2.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Session store for connect-session using sequelize";
+      homepage = https://github.com/mweibel/connect-session-sequelize;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "cookie-0.3.1" = nodeEnv.buildNodePackage {
+    name = "cookie";
+    packageName = "cookie";
+    version = "0.3.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz";
+      sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "HTTP server cookie parsing and serialization";
+      homepage = https://github.com/jshttp/cookie;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "cookie-parser-1.4.3" = nodeEnv.buildNodePackage {
+    name = "cookie-parser";
+    packageName = "cookie-parser";
+    version = "1.4.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz";
+      sha1 = "0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5";
+    };
+    dependencies = [
+      sources."cookie-0.3.1"
+      sources."cookie-signature-1.0.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "cookie parsing with signatures";
+      homepage = https://github.com/expressjs/cookie-parser;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "deep-freeze-^0.0.1" = nodeEnv.buildNodePackage {
+    name = "deep-freeze";
+    packageName = "deep-freeze";
+    version = "0.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz";
+      sha1 = "3a0b0005de18672819dfd38cd31f91179c893e84";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "recursively Object.freeze() objects and functions";
+      homepage = https://github.com/substack/deep-freeze;
+      license = "public domain";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "diff-match-patch-git+https://github.com/hackmdio/diff-match-patch.git" = nodeEnv.buildNodePackage {
+    name = "diff-match-patch";
+    packageName = "diff-match-patch";
+    version = "1.1.0";
+    src = fetchgit {
+      url = "https://github.com/hackmdio/diff-match-patch.git";
+      rev = "73e56e779a2a8503b05458e607077d0fd1d80419";
+      sha256 = "2ea9013d983e96621b447f40ca983f697ad355a9ed9dc48f5ab42fa1f183937f";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "npm package for https://code.google.com/p/google-diff-match-patch/";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "ejs-^2.5.5" = nodeEnv.buildNodePackage {
+    name = "ejs";
+    packageName = "ejs";
+    version = "2.6.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz";
+      sha512 = "0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Embedded JavaScript templates";
+      homepage = https://github.com/mde/ejs;
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "emojify.js-~1.1.0" = nodeEnv.buildNodePackage {
+    name = "emojify.js";
+    packageName = "emojify.js";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/emojify.js/-/emojify.js-1.1.0.tgz";
+      sha1 = "079fff223307c9007f570785e8e4935d5c398beb";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A Javascript module to convert emoji keywords to images.";
+      homepage = "https://github.com/hassankhan/emojify.js#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "express->=4.14" = nodeEnv.buildNodePackage {
+    name = "express";
+    packageName = "express";
+    version = "4.16.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/express/-/express-4.16.3.tgz";
+      sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53";
+    };
+    dependencies = [
+      sources."accepts-1.3.5"
+      sources."array-flatten-1.1.1"
+      sources."body-parser-1.18.2"
+      sources."bytes-3.0.0"
+      sources."content-disposition-0.5.2"
+      sources."content-type-1.0.4"
+      sources."cookie-0.3.1"
+      sources."cookie-signature-1.0.6"
+      sources."debug-2.6.9"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."ee-first-1.1.1"
+      sources."encodeurl-1.0.2"
+      sources."escape-html-1.0.3"
+      sources."etag-1.8.1"
+      sources."finalhandler-1.1.1"
+      sources."forwarded-0.1.2"
+      sources."fresh-0.5.2"
+      sources."http-errors-1.6.3"
+      sources."iconv-lite-0.4.19"
+      sources."inherits-2.0.3"
+      sources."ipaddr.js-1.8.0"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."mime-1.4.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."ms-2.0.0"
+      sources."negotiator-0.6.1"
+      sources."on-finished-2.3.0"
+      sources."parseurl-1.3.2"
+      sources."path-to-regexp-0.1.7"
+      sources."proxy-addr-2.0.4"
+      sources."qs-6.5.1"
+      sources."range-parser-1.2.0"
+      (sources."raw-body-2.3.2" // {
+        dependencies = [
+          sources."depd-1.1.1"
+          sources."http-errors-1.6.2"
+          sources."setprototypeof-1.0.3"
+        ];
+      })
+      sources."safe-buffer-5.1.1"
+      sources."send-0.16.2"
+      sources."serve-static-1.13.2"
+      sources."setprototypeof-1.1.0"
+      sources."statuses-1.4.0"
+      sources."type-is-1.6.16"
+      sources."unpipe-1.0.0"
+      sources."utils-merge-1.0.1"
+      sources."vary-1.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Fast, unopinionated, minimalist web framework";
+      homepage = http://expressjs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "express-session-^1.14.2" = nodeEnv.buildNodePackage {
+    name = "express-session";
+    packageName = "express-session";
+    version = "1.15.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz";
+      sha512 = "r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==";
+    };
+    dependencies = [
+      sources."cookie-0.3.1"
+      sources."cookie-signature-1.0.6"
+      sources."crc-3.4.4"
+      sources."debug-2.6.9"
+      sources."depd-1.1.2"
+      sources."ms-2.0.0"
+      sources."on-headers-1.0.1"
+      sources."parseurl-1.3.2"
+      sources."random-bytes-1.0.0"
+      sources."uid-safe-2.1.5"
+      sources."utils-merge-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simple session middleware for Express";
+      homepage = "https://github.com/expressjs/session#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "file-saver-^1.3.3" = nodeEnv.buildNodePackage {
+    name = "file-saver";
+    packageName = "file-saver";
+    version = "1.3.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/file-saver/-/file-saver-1.3.8.tgz";
+      sha512 = "spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "An HTML5 saveAs() FileSaver implementation";
+      homepage = "https://github.com/eligrey/FileSaver.js#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "flowchart.js-^1.6.4" = nodeEnv.buildNodePackage {
+    name = "flowchart.js";
+    packageName = "flowchart.js";
+    version = "1.11.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/flowchart.js/-/flowchart.js-1.11.3.tgz";
+      sha512 = "Hk5vKKsEjYp/Vt4gSRBx39z+6OLwkg3top/EQ4antpZXCVrHLajVGWEqhCPeEBixhzDxAtHdRn4aFEtRhlTzHA==";
+    };
+    dependencies = [
+      sources."eve-raphael-0.5.0"
+      sources."raphael-2.2.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "[![JS.ORG](https://img.shields.io/badge/js.org-flowchart-ffb400.svg?style=flat-square)](http://js.org)";
+      homepage = http://flowchart.js.org/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "font-awesome-^4.7.0" = nodeEnv.buildNodePackage {
+    name = "font-awesome";
+    packageName = "font-awesome";
+    version = "4.7.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz";
+      sha1 = "8fa8cf0411a1a31afd07b06d2902bb9fc815a133";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The iconic font and CSS framework";
+      homepage = http://fontawesome.io/;
+      license = "(OFL-1.1 AND MIT)";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "formidable-^1.0.17" = nodeEnv.buildNodePackage {
+    name = "formidable";
+    packageName = "formidable";
+    version = "1.2.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz";
+      sha512 = "Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A node.js module for parsing form data, especially file uploads.";
+      homepage = https://github.com/felixge/node-formidable;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "gist-embed-~2.6.0" = nodeEnv.buildNodePackage {
+    name = "gist-embed";
+    packageName = "gist-embed";
+    version = "2.6.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/gist-embed/-/gist-embed-2.6.0.tgz";
+      sha1 = "1ea95703fa1fc2a1255419f6f06c67e9920649ab";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Ultra powered gist embedding for your website";
+      homepage = "https://github.com/blairvanderhoof/gist-embed#readme";
+      license = "BSD-2-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "graceful-fs-^4.1.11" = nodeEnv.buildNodePackage {
+    name = "graceful-fs";
+    packageName = "graceful-fs";
+    version = "4.1.11";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz";
+      sha1 = "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A drop-in replacement for fs, making various improvements.";
+      homepage = "https://github.com/isaacs/node-graceful-fs#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "handlebars-^4.0.6" = nodeEnv.buildNodePackage {
+    name = "handlebars";
+    packageName = "handlebars";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz";
+      sha1 = "630a35dfe0294bc281edae6ffc5d329fc7982dcc";
+    };
+    dependencies = [
+      sources."align-text-0.1.4"
+      sources."amdefine-1.0.1"
+      sources."async-1.5.2"
+      sources."camelcase-1.2.1"
+      sources."center-align-0.1.3"
+      (sources."cliui-2.1.0" // {
+        dependencies = [
+          sources."wordwrap-0.0.2"
+        ];
+      })
+      sources."decamelize-1.2.0"
+      sources."is-buffer-1.1.6"
+      sources."kind-of-3.2.2"
+      sources."lazy-cache-1.0.4"
+      sources."longest-1.0.1"
+      sources."minimist-0.0.10"
+      sources."optimist-0.6.1"
+      sources."repeat-string-1.6.1"
+      sources."right-align-0.1.3"
+      sources."source-map-0.4.4"
+      (sources."uglify-js-2.8.29" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
+      sources."uglify-to-browserify-1.0.2"
+      sources."window-size-0.1.0"
+      sources."wordwrap-0.0.3"
+      sources."yargs-3.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Handlebars provides the power necessary to let you build semantic templates effectively with no frustration";
+      homepage = http://www.handlebarsjs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "helmet-^3.3.0" = nodeEnv.buildNodePackage {
+    name = "helmet";
+    packageName = "helmet";
+    version = "3.13.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/helmet/-/helmet-3.13.0.tgz";
+      sha512 = "rCYnlbOBkeP6fCo4sXZNu91vIAWlbVgolwnUANtnzPANRf2kJZ2a6yjRnCqG23Tyl2/ExvJ8bDg4xUdNCIWnrw==";
+    };
+    dependencies = [
+      sources."camelize-1.0.0"
+      sources."content-security-policy-builder-2.0.0"
+      sources."dasherize-2.0.0"
+      sources."dns-prefetch-control-0.1.0"
+      sources."dont-sniff-mimetype-1.0.0"
+      sources."expect-ct-0.1.1"
+      sources."frameguard-3.0.0"
+      sources."helmet-crossdomain-0.3.0"
+      sources."helmet-csp-2.7.1"
+      sources."hide-powered-by-1.0.0"
+      sources."hpkp-2.0.0"
+      sources."hsts-2.1.0"
+      sources."ienoopen-1.0.0"
+      sources."nocache-2.0.0"
+      sources."platform-1.3.5"
+      sources."referrer-policy-1.1.0"
+      sources."x-xss-protection-1.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "help secure Express/Connect apps with various HTTP headers";
+      homepage = https://helmetjs.github.io/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "highlight.js-~9.12.0" = nodeEnv.buildNodePackage {
+    name = "highlight.js";
+    packageName = "highlight.js";
+    version = "9.12.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz";
+      sha1 = "e6d9dbe57cbefe60751f02af336195870c90c01e";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Syntax highlighting with language autodetection.";
+      homepage = https://highlightjs.org/;
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "i18n-^0.8.3" = nodeEnv.buildNodePackage {
+    name = "i18n";
+    packageName = "i18n";
+    version = "0.8.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/i18n/-/i18n-0.8.3.tgz";
+      sha1 = "2d8cf1c24722602c2041d01ba6ae5eaa51388f0e";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      (sources."ambi-2.5.0" // {
+        dependencies = [
+          sources."typechecker-4.5.0"
+        ];
+      })
+      sources."async-1.5.2"
+      sources."balanced-match-1.0.0"
+      sources."brace-expansion-1.1.11"
+      sources."concat-map-0.0.1"
+      sources."csextends-1.2.0"
+      sources."debug-3.1.0"
+      sources."eachr-2.0.4"
+      sources."editions-1.3.4"
+      (sources."extendr-2.1.0" // {
+        dependencies = [
+          sources."typechecker-2.0.8"
+        ];
+      })
+      (sources."extract-opts-2.2.0" // {
+        dependencies = [
+          sources."typechecker-2.0.8"
+        ];
+      })
+      sources."glob-6.0.4"
+      sources."graceful-fs-4.1.11"
+      sources."ignorefs-1.2.0"
+      sources."ignorepatterns-1.1.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."make-plural-3.0.6"
+      sources."math-interval-parser-1.1.0"
+      sources."messageformat-0.3.1"
+      sources."minimatch-3.0.4"
+      sources."minimist-1.2.0"
+      sources."ms-2.0.0"
+      sources."mustache-2.3.0"
+      sources."nopt-3.0.6"
+      sources."once-1.4.0"
+      sources."path-is-absolute-1.0.1"
+      sources."safefs-3.2.2"
+      sources."scandirectory-2.5.0"
+      sources."sprintf-js-1.1.1"
+      sources."taskgroup-4.3.1"
+      sources."typechecker-2.1.0"
+      sources."watchr-2.4.13"
+      sources."wrappy-1.0.2"
+      sources."xregexp-2.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "lightweight translation module with dynamic json storage";
+      homepage = http://github.com/mashpie/i18n-node;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "imgur-git+https://github.com/hackmdio/node-imgur.git" = nodeEnv.buildNodePackage {
+    name = "imgur";
+    packageName = "imgur";
+    version = "0.2.0";
+    src = fetchgit {
+      url = "https://github.com/hackmdio/node-imgur.git";
+      rev = "0fba6d163428c946942cd2c3022634cbb8754e38";
+      sha256 = "b7dc96b2ccefdca42dca10138d3121b405b2b7e70ffa055ce225ad63bc3f3c7a";
+    };
+    dependencies = [
+      sources."ajv-5.5.2"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.16.0"
+      sources."concat-map-0.0.1"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."glob-4.5.3"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."http-signature-1.2.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimatch-2.0.10"
+      sources."oauth-sign-0.8.2"
+      sources."once-1.4.0"
+      sources."performance-now-2.1.0"
+      sources."punycode-1.4.1"
+      sources."q-1.5.1"
+      sources."qs-6.5.2"
+      sources."request-2.87.0"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sshpk-1.14.2"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."wrappy-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Upload images to imgur.com";
+      homepage = https://github.com/kaimallea/node-imgur;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "ionicons-~2.0.1" = nodeEnv.buildNodePackage {
+    name = "ionicons";
+    packageName = "ionicons";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/ionicons/-/ionicons-2.0.1.tgz";
+      sha1 = "ca398113293ea870244f538f0aabbd4b5b209a3e";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Ionicons - free and beautiful icons from the creators of Ionic Framework";
+      homepage = "https://github.com/driftyco/ionicons#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "jquery-^3.1.1" = nodeEnv.buildNodePackage {
+    name = "jquery";
+    packageName = "jquery";
+    version = "3.3.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/jquery/-/jquery-3.3.1.tgz";
+      sha512 = "Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "JavaScript library for DOM operations";
+      homepage = https://jquery.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "jquery-mousewheel-^3.1.13" = nodeEnv.buildNodePackage {
+    name = "jquery-mousewheel";
+    packageName = "jquery-mousewheel";
+    version = "3.1.13";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz";
+      sha1 = "06f0335f16e353a695e7206bf50503cb523a6ee5";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A jQuery plugin that adds cross-browser mouse wheel support.";
+      homepage = https://github.com/jquery/jquery-mousewheel;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "jquery-ui-^1.12.1" = nodeEnv.buildNodePackage {
+    name = "jquery-ui";
+    packageName = "jquery-ui";
+    version = "1.12.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz";
+      sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.";
+      homepage = http://jqueryui.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "js-cookie-^2.1.3" = nodeEnv.buildNodePackage {
+    name = "js-cookie";
+    packageName = "js-cookie";
+    version = "2.2.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.0.tgz";
+      sha1 = "1b2c279a6eece380a12168b92485265b35b1effb";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple, lightweight JavaScript API for handling cookies";
+      homepage = "https://github.com/js-cookie/js-cookie#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "js-sequence-diagrams-^1000000.0.6" = nodeEnv.buildNodePackage {
+    name = "js-sequence-diagrams";
+    packageName = "js-sequence-diagrams";
+    version = "1000000.0.6";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/js-sequence-diagrams/-/js-sequence-diagrams-1000000.0.6.tgz";
+      sha1 = "e95db01420479c5ccbc12046af1da42fde649e5c";
+    };
+    dependencies = [
+      sources."eve-git://github.com/adobe-webplatform/eve.git#eef80ed"
+      sources."raphael-2.1.4"
+      sources."underscore-1.4.4"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Fucks NPM and draws simple SVG sequence diagrams from textual representation of the diagram";
+      homepage = "https://github.com/Moeditor/js-sequence-diagrams#readme";
+      license = "BSD-2-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "js-url-^2.3.0" = nodeEnv.buildNodePackage {
+    name = "js-url";
+    packageName = "js-url";
+    version = "2.3.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/js-url/-/js-url-2.3.0.tgz";
+      sha1 = "e0c02b622e89710749399f440d49056e72f70078";
+    };
+    dependencies = [
+      sources."ajv-5.5.2"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."async-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."buffer-from-1.1.1"
+      sources."caseless-0.12.0"
+      sources."chalk-1.1.3"
+      sources."cli-1.0.1"
+      sources."co-4.6.0"
+      sources."colors-1.0.3"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.16.0"
+      sources."concat-map-0.0.1"
+      sources."concat-stream-1.6.2"
+      sources."console-browserify-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."cycle-1.0.3"
+      sources."dashdash-1.14.1"
+      sources."date-now-0.1.4"
+      sources."debug-2.6.9"
+      sources."delayed-stream-1.0.0"
+      (sources."dom-serializer-0.1.0" // {
+        dependencies = [
+          sources."domelementtype-1.1.3"
+          sources."entities-1.1.1"
+        ];
+      })
+      sources."domelementtype-1.3.0"
+      sources."domhandler-2.3.0"
+      sources."domutils-1.5.1"
+      sources."duplexer-0.1.1"
+      sources."ecc-jsbn-0.1.2"
+      sources."entities-1.0.0"
+      sources."es6-promise-4.2.4"
+      sources."escape-string-regexp-1.0.5"
+      sources."eventemitter2-0.4.14"
+      sources."exit-0.1.2"
+      sources."extend-3.0.2"
+      sources."extract-zip-1.6.7"
+      sources."extsprintf-1.3.0"
+      sources."eyes-0.1.8"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fd-slicer-1.0.1"
+      sources."figures-1.7.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."fs-extra-1.0.0"
+      sources."fs.realpath-1.0.0"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.2"
+      sources."graceful-fs-4.1.11"
+      sources."grunt-contrib-jshint-1.1.0"
+      sources."grunt-contrib-qunit-2.0.0"
+      sources."grunt-contrib-uglify-3.4.0"
+      sources."grunt-lib-phantomjs-1.1.0"
+      sources."gzip-size-3.0.0"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."has-ansi-2.0.0"
+      sources."hasha-2.2.0"
+      sources."hooker-0.2.3"
+      (sources."htmlparser2-3.8.3" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.1.14"
+          sources."string_decoder-0.10.31"
+        ];
+      })
+      sources."http-signature-1.2.0"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."jshint-2.9.6"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonfile-2.4.0"
+      sources."jsprim-1.4.1"
+      sources."kew-0.7.0"
+      sources."klaw-1.3.1"
+      sources."lodash-4.17.10"
+      sources."maxmin-2.1.0"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.8.2"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."package-1.0.1"
+      sources."path-is-absolute-1.0.1"
+      sources."pend-1.2.0"
+      sources."performance-now-2.1.0"
+      sources."phantom-4.0.12"
+      sources."phantomjs-prebuilt-2.1.16"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."pretty-bytes-3.0.1"
+      sources."process-nextick-args-2.0.0"
+      sources."progress-1.1.8"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."request-2.87.0"
+      sources."request-progress-2.0.1"
+      sources."rimraf-2.6.2"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."semver-5.5.0"
+      sources."shelljs-0.3.0"
+      sources."source-map-0.6.1"
+      sources."split-1.0.1"
+      sources."sshpk-1.14.2"
+      sources."stack-trace-0.0.10"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-1.0.4"
+      sources."supports-color-2.0.0"
+      sources."temporary-0.0.8"
+      sources."throttleit-1.0.0"
+      sources."through-2.3.8"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."typedarray-0.0.6"
+      sources."uglify-js-3.4.6"
+      sources."unicode-5.2.0-0.7.5"
+      sources."uri-path-1.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."which-1.3.1"
+      sources."winston-2.4.3"
+      sources."wrappy-1.0.2"
+      sources."yauzl-2.4.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A simple, lightweight url parser for JavaScript (~1.7 Kb minified, ~0.7Kb gzipped).";
+      homepage = https://github.com/WillZWL/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "js-yaml-^3.7.0" = nodeEnv.buildNodePackage {
+    name = "js-yaml";
+    packageName = "js-yaml";
+    version = "3.12.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz";
+      sha512 = "PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==";
+    };
+    dependencies = [
+      sources."argparse-1.0.10"
+      sources."esprima-4.0.1"
+      sources."sprintf-js-1.0.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "YAML 1.2 parser and serializer";
+      homepage = https://github.com/nodeca/js-yaml;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "jsdom-nogyp-^0.8.3" = nodeEnv.buildNodePackage {
+    name = "jsdom-nogyp";
+    packageName = "jsdom-nogyp";
+    version = "0.8.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/jsdom-nogyp/-/jsdom-nogyp-0.8.3.tgz";
+      sha1 = "924b3f03cfe487dfcdf6375e6324252ceb80d0cc";
+    };
+    dependencies = [
+      sources."ajv-5.5.2"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."core-util-is-1.0.2"
+      sources."cssom-0.2.5"
+      (sources."cssstyle-0.2.37" // {
+        dependencies = [
+          sources."cssom-0.3.4"
+        ];
+      })
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      (sources."dom-serializer-0.1.0" // {
+        dependencies = [
+          sources."domelementtype-1.1.3"
+        ];
+      })
+      sources."domelementtype-1.3.0"
+      sources."domhandler-2.4.2"
+      sources."domutils-1.7.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."entities-1.1.1"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."htmlparser2-3.9.2"
+      sources."http-signature-1.2.0"
+      sources."inherits-2.0.3"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."nwmatcher-1.3.9"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-2.0.0"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."request-2.87.0"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sshpk-1.14.2"
+      sources."string_decoder-1.1.1"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."xmlhttprequest-1.8.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A JavaScript implementation of the W3C DOM, forked from jsdom, remove dependencies to contextify and node-gyp";
+      license = {
+        type = "MIT";
+        url = "http://github.com/tmpvar/jsdom/blob/master/LICENSE.txt";
+      };
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "keymaster-^1.6.2" = nodeEnv.buildNodePackage {
+    name = "keymaster";
+    packageName = "keymaster";
+    version = "1.6.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/keymaster/-/keymaster-1.6.2.tgz";
+      sha1 = "e1ae54d0ea9488f9f60b66b668f02e9a1946c6eb";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "library for defining and dispatching keyboard shortcuts";
+      homepage = https://github.com/madrobby/keymaster;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "list.js-^1.5.0" = nodeEnv.buildNodePackage {
+    name = "list.js";
+    packageName = "list.js";
+    version = "1.5.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/list.js/-/list.js-1.5.0.tgz";
+      sha1 = "a4cbfc8281ddefc02fdb2d30c8748bfae25fbcda";
+    };
+    dependencies = [
+      sources."string-natural-compare-2.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The perfect library for lists. Supports search, sort, filters and flexibility. Built to be invisible and work on existing HTML";
+      homepage = http://listjs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "lodash-^4.17.4" = nodeEnv.buildNodePackage {
+    name = "lodash";
+    packageName = "lodash";
+    version = "4.17.10";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz";
+      sha512 = "UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Lodash modular utilities.";
+      homepage = https://lodash.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "lz-string-1.4.4" = nodeEnv.buildNodePackage {
+    name = "lz-string";
+    packageName = "lz-string";
+    version = "1.4.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz";
+      sha1 = "c0d8eaf36059f705796e1e344811cf4c498d3a26";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "LZ-based compression algorithm";
+      homepage = http://pieroxy.net/blog/pages/lz-string/index.html;
+      license = "WTFPL";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-^8.2.2" = nodeEnv.buildNodePackage {
+    name = "markdown-it";
+    packageName = "markdown-it";
+    version = "8.4.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz";
+      sha512 = "GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==";
+    };
+    dependencies = [
+      sources."argparse-1.0.10"
+      sources."entities-1.1.1"
+      sources."linkify-it-2.0.3"
+      sources."mdurl-1.0.1"
+      sources."sprintf-js-1.0.3"
+      sources."uc.micro-1.0.5"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Markdown-it - modern pluggable markdown parser.";
+      homepage = "https://github.com/markdown-it/markdown-it#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-abbr-^1.0.4" = nodeEnv.buildNodePackage {
+    name = "markdown-it-abbr";
+    packageName = "markdown-it-abbr";
+    version = "1.0.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-abbr/-/markdown-it-abbr-1.0.4.tgz";
+      sha1 = "d66b5364521cbb3dd8aa59dadfba2fb6865c8fd8";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<abbr> tag for markdown-it markdown parser.";
+      homepage = https://github.com/markdown-it/markdown-it-abbr;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-container-^2.0.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-container";
+    packageName = "markdown-it-container";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-2.0.0.tgz";
+      sha1 = "0019b43fd02eefece2f1960a2895fba81a404695";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Plugin to create block-level custom containers for markdown-it markdown parser";
+      homepage = "https://github.com/markdown-it/markdown-it-container#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-deflist-^2.0.1" = nodeEnv.buildNodePackage {
+    name = "markdown-it-deflist";
+    packageName = "markdown-it-deflist";
+    version = "2.0.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-deflist/-/markdown-it-deflist-2.0.3.tgz";
+      sha512 = "/BNZ8ksW42bflm1qQLnRI09oqU2847Z7MVavrR0MORyKLtiUYOMpwtlAfMSZAQU9UCvaUZMpgVAqoS3vpToJxw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<dl> tag for markdown-it markdown parser.";
+      homepage = https://github.com/markdown-it/markdown-it-deflist;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-emoji-^1.3.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-emoji";
+    packageName = "markdown-it-emoji";
+    version = "1.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz";
+      sha1 = "9bee0e9a990a963ba96df6980c4fddb05dfb4dcc";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Emoji plugin for markdown-it markdown parser.";
+      homepage = https://github.com/markdown-it/markdown-it-emoji;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-footnote-^3.0.1" = nodeEnv.buildNodePackage {
+    name = "markdown-it-footnote";
+    packageName = "markdown-it-footnote";
+    version = "3.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-footnote/-/markdown-it-footnote-3.0.1.tgz";
+      sha1 = "7f3730747cacc86e2fe0bf8a17a710f34791517a";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Footnotes for markdown-it markdown parser.";
+      homepage = "https://github.com/markdown-it/markdown-it-footnote#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-imsize-^2.0.1" = nodeEnv.buildNodePackage {
+    name = "markdown-it-imsize";
+    packageName = "markdown-it-imsize";
+    version = "2.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-imsize/-/markdown-it-imsize-2.0.1.tgz";
+      sha1 = "cca0427905d05338a247cb9ca9d968c5cddd5170";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Markdown-it plugin to specify image size";
+      homepage = https://github.com/tatsy/markdown-it-imsize;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-ins-^2.0.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-ins";
+    packageName = "markdown-it-ins";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-ins/-/markdown-it-ins-2.0.0.tgz";
+      sha1 = "a5aa6a30f1e2f71e9497567cfdff40f1fde67483";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<ins> tag for markdown-it markdown parser.";
+      homepage = https://github.com/markdown-it/markdown-it-ins;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-mark-^2.0.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-mark";
+    packageName = "markdown-it-mark";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-mark/-/markdown-it-mark-2.0.0.tgz";
+      sha1 = "46a1aa947105aed8188978e0a016179e404f42c7";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<mark> tag for markdown-it markdown parser.";
+      homepage = https://github.com/markdown-it/markdown-it-mark;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-mathjax-^2.0.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-mathjax";
+    packageName = "markdown-it-mathjax";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-mathjax/-/markdown-it-mathjax-2.0.0.tgz";
+      sha1 = "ae2b4f4c5c719a03f9e475c664f7b2685231d9e9";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "[![Build Status](https://img.shields.io/travis/classeur/markdown-it-mathjax/master.svg?style=flat)](https://travis-ci.org/classeur/markdown-it-mathjax) [![NPM version](https://img.shields.io/npm/v/markdown-it-mathjax.svg?style=flat)](https://www.npmjs.org";
+      homepage = "https://github.com/classeur/markdown-it-mathjax#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-regexp-^0.4.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-regexp";
+    packageName = "markdown-it-regexp";
+    version = "0.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-regexp/-/markdown-it-regexp-0.4.0.tgz";
+      sha1 = "d64d713eecec55ce4cfdeb321750ecc099e2c2dc";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "plugin that makes regexp replacement simple";
+      homepage = https://github.com/rlidwka/markdown-it-regexp;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-sub-^1.0.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-sub";
+    packageName = "markdown-it-sub";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-sub/-/markdown-it-sub-1.0.0.tgz";
+      sha1 = "375fd6026eae7ddcb012497f6411195ea1e3afe8";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<sub> tag for markdown-it markdown parser.";
+      homepage = https://github.com/markdown-it/markdown-it-sub;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-it-sup-^1.0.0" = nodeEnv.buildNodePackage {
+    name = "markdown-it-sup";
+    packageName = "markdown-it-sup";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-it-sup/-/markdown-it-sup-1.0.0.tgz";
+      sha1 = "cb9c9ff91a5255ac08f3fd3d63286e15df0a1fc3";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "<sup> tag for markdown-it markdown parser.";
+      homepage = https://github.com/markdown-it/markdown-it-sup;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "markdown-pdf-^8.0.0" = nodeEnv.buildNodePackage {
+    name = "markdown-pdf";
+    packageName = "markdown-pdf";
+    version = "8.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/markdown-pdf/-/markdown-pdf-8.1.1.tgz";
+      sha512 = "lpRyiNptdwArH6bG6Y8X13G5Qr/usTTDXxTp7zjhwxJ+cQO7Z6A1T265ZiN6PVDLzRNxxtcquQCIOpTC0U1NFg==";
+    };
+    dependencies = [
+      sources."ajv-5.5.2"
+      sources."argparse-0.1.16"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."async-1.5.2"
+      sources."asynckit-0.4.0"
+      sources."autolinker-0.15.3"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."buffer-from-1.1.1"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."commander-2.16.0"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-2.6.9"
+      sources."delayed-stream-1.0.0"
+      sources."duplexer-0.1.1"
+      sources."ecc-jsbn-0.1.2"
+      sources."es6-promise-4.2.4"
+      sources."extend-3.0.2"
+      sources."extract-zip-1.6.7"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fd-slicer-1.0.1"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."fs-extra-1.0.0"
+      sources."getpass-0.1.7"
+      sources."graceful-fs-4.1.11"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."hasha-2.2.0"
+      sources."highlight.js-9.12.0"
+      sources."http-signature-1.2.0"
+      sources."inherits-2.0.3"
+      sources."is-stream-1.1.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsonfile-2.4.0"
+      sources."jsprim-1.4.1"
+      sources."kew-0.7.0"
+      sources."klaw-1.3.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."oauth-sign-0.8.2"
+      sources."os-tmpdir-1.0.2"
+      sources."pend-1.2.0"
+      sources."performance-now-2.1.0"
+      sources."phantomjs-prebuilt-2.1.16"
+      sources."pinkie-2.0.4"
+      sources."pinkie-promise-2.0.1"
+      sources."process-nextick-args-2.0.0"
+      sources."progress-1.1.8"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."readable-stream-2.3.6"
+      sources."remarkable-1.7.1"
+      sources."request-2.87.0"
+      sources."request-progress-2.0.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."series-stream-1.0.1"
+      sources."sshpk-1.14.2"
+      sources."stream-from-to-1.4.3"
+      sources."string_decoder-1.1.1"
+      sources."throttleit-1.0.0"
+      sources."through2-2.0.3"
+      sources."tmp-0.0.33"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."typedarray-0.0.6"
+      sources."underscore-1.7.0"
+      sources."underscore.string-2.4.0"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."which-1.3.1"
+      sources."xtend-4.0.1"
+      sources."yauzl-2.4.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Markdown to PDF converter";
+      homepage = https://github.com/alanshaw/markdown-pdf;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "mathjax-~2.7.0" = nodeEnv.buildNodePackage {
+    name = "mathjax";
+    packageName = "mathjax";
+    version = "2.7.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/mathjax/-/mathjax-2.7.5.tgz";
+      sha512 = "OzsJNitEHAJB3y4IIlPCAvS0yoXwYjlo2Y4kmm9KQzyIBZt2d8yKRalby3uTRNN4fZQiGL2iMXjpdP1u2Rq2DQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Beautiful math in all browsers. MathJax is an open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all browsers.";
+      homepage = "https://github.com/mathjax/MathJax#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "mermaid-~7.1.0" = nodeEnv.buildNodePackage {
+    name = "mermaid";
+    packageName = "mermaid";
+    version = "7.1.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/mermaid/-/mermaid-7.1.2.tgz";
+      sha512 = "bDLu3fQuf3/R0fNkNzB0GTaF7+6SxnZpfTs9DVQF1ougsuP23MBzvEIGfL0ML8zeyg7+J2D+0AaoLVhskW5ulw==";
+    };
+    dependencies = [
+      sources."d3-3.5.17"
+      sources."dagre-d3-renderer-0.4.26"
+      sources."dagre-layout-0.8.8"
+      sources."graphlib-2.1.5"
+      sources."graphlibrary-2.2.0"
+      sources."he-1.1.1"
+      sources."lodash-4.17.10"
+      sources."moment-2.22.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Markdownish syntax for generating flowcharts, sequence diagrams, class diagrams, gantt charts and git graphs.";
+      homepage = "https://github.com/knsv/mermaid#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "mattermost-^3.4.0" = nodeEnv.buildNodePackage {
+    name = "mattermost";
+    packageName = "mattermost";
+    version = "3.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/mattermost/-/mattermost-3.4.0.tgz";
+      sha1 = "7e4958e1bc96c7da7bc5f179dd2c6ae5035a8857";
+    };
+    dependencies = [
+      sources."async-1.5.2"
+      sources."combined-stream-1.0.6"
+      sources."component-emitter-1.2.1"
+      sources."cookiejar-2.0.6"
+      sources."core-util-is-1.0.2"
+      sources."debug-2.6.9"
+      sources."delayed-stream-1.0.0"
+      sources."extend-3.0.0"
+      sources."form-data-1.0.0-rc3"
+      sources."formidable-1.0.17"
+      sources."inherits-2.0.3"
+      sources."isarray-0.0.1"
+      sources."methods-1.1.2"
+      sources."mime-1.3.4"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."ms-2.0.0"
+      sources."qs-2.3.3"
+      sources."readable-stream-1.0.27-1"
+      sources."reduce-component-1.0.1"
+      sources."string_decoder-0.10.31"
+      sources."superagent-1.8.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Javascript library for interacting with the Mattermost API";
+      homepage = https://www.mattermost.org/;
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "meta-marked-^0.4.2" = nodeEnv.buildNodePackage {
+    name = "meta-marked";
+    packageName = "meta-marked";
+    version = "0.4.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/meta-marked/-/meta-marked-0.4.2.tgz";
+      sha1 = "4a1fae344f53d7040aacabb723e2f432a37455f8";
+    };
+    dependencies = [
+      sources."argparse-1.0.10"
+      sources."esprima-2.7.3"
+      sources."js-yaml-3.5.5"
+      sources."marked-0.3.19"
+      sources."sprintf-js-1.0.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The 'marked' markdown processor with a simple metadata system.";
+      homepage = "https://github.com/j201/meta-marked#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "method-override-^2.3.7" = nodeEnv.buildNodePackage {
+    name = "method-override";
+    packageName = "method-override";
+    version = "2.3.10";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/method-override/-/method-override-2.3.10.tgz";
+      sha1 = "e3daf8d5dee10dd2dce7d4ae88d62bbee77476b4";
+    };
+    dependencies = [
+      sources."debug-2.6.9"
+      sources."methods-1.1.2"
+      sources."ms-2.0.0"
+      sources."parseurl-1.3.2"
+      sources."vary-1.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Override HTTP verbs";
+      homepage = "https://github.com/expressjs/method-override#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "minimist-^1.2.0" = nodeEnv.buildNodePackage {
+    name = "minimist";
+    packageName = "minimist";
+    version = "1.2.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+      sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "parse argument options";
+      homepage = https://github.com/substack/minimist;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "minio-^6.0.0" = nodeEnv.buildNodePackage {
+    name = "minio";
+    packageName = "minio";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/minio/-/minio-6.0.0.tgz";
+      sha1 = "7e514d38eaacf2264556b232f1c2c063cc6ca7ba";
+    };
+    dependencies = [
+      sources."async-1.5.2"
+      sources."block-stream2-1.1.0"
+      sources."buffer-from-1.1.1"
+      sources."concat-stream-1.6.2"
+      sources."core-util-is-1.0.2"
+      sources."defined-1.0.0"
+      sources."es6-error-2.1.1"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."json-stream-1.0.0"
+      sources."lodash-4.17.10"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."process-nextick-args-2.0.0"
+      sources."querystring-0.2.0"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
+      sources."sax-1.2.4"
+      sources."source-map-0.5.7"
+      sources."source-map-support-0.4.18"
+      sources."string_decoder-1.1.1"
+      (sources."through2-0.6.5" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.0.34"
+          sources."string_decoder-0.10.31"
+        ];
+      })
+      sources."typedarray-0.0.6"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."xml-1.0.1"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
+      sources."xtend-4.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "S3 Compatible Cloud Storage client";
+      homepage = "https://github.com/minio/minio-js#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "moment-^2.17.1" = nodeEnv.buildNodePackage {
+    name = "moment";
+    packageName = "moment";
+    version = "2.22.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz";
+      sha1 = "3c257f9839fc0e93ff53149632239eb90783ff66";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Parse, validate, manipulate, and display dates";
+      homepage = http://momentjs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "morgan-^1.7.0" = nodeEnv.buildNodePackage {
+    name = "morgan";
+    packageName = "morgan";
+    version = "1.9.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/morgan/-/morgan-1.9.0.tgz";
+      sha1 = "d01fa6c65859b76fcf31b3cb53a3821a311d8051";
+    };
+    dependencies = [
+      sources."basic-auth-2.0.0"
+      sources."debug-2.6.9"
+      sources."depd-1.1.2"
+      sources."ee-first-1.1.1"
+      sources."ms-2.0.0"
+      sources."on-finished-2.3.0"
+      sources."on-headers-1.0.1"
+      sources."safe-buffer-5.1.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "HTTP request logger middleware for node.js";
+      homepage = "https://github.com/expressjs/morgan#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "mysql-^2.12.0" = nodeEnv.buildNodePackage {
+    name = "mysql";
+    packageName = "mysql";
+    version = "2.16.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/mysql/-/mysql-2.16.0.tgz";
+      sha512 = "dPbN2LHonQp7D5ja5DJXNbCLe/HRdu+f3v61aguzNRQIrmZLOeRoymBYyeThrR6ug+FqzDL95Gc9maqZUJS+Gw==";
+    };
+    dependencies = [
+      sources."bignumber.js-4.1.0"
+      sources."core-util-is-1.0.2"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."safe-buffer-5.1.2"
+      sources."sqlstring-2.3.1"
+      sources."string_decoder-1.1.1"
+      sources."util-deprecate-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A node.js driver for mysql. It is written in JavaScript, does not require compiling, and is 100% MIT licensed.";
+      homepage = "https://github.com/mysqljs/mysql#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "node-uuid-^1.4.7" = nodeEnv.buildNodePackage {
+    name = "node-uuid";
+    packageName = "node-uuid";
+    version = "1.4.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz";
+      sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Rigorous implementation of RFC4122 (v1 and v4) UUIDs.";
+      homepage = https://github.com/broofa/node-uuid;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "octicons-~4.4.0" = nodeEnv.buildNodePackage {
+    name = "octicons";
+    packageName = "octicons";
+    version = "4.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/octicons/-/octicons-4.4.0.tgz";
+      sha1 = "aca3bd32f5dc1d907a8d0de744f78e0c54e19446";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A scalable set of icons handcrafted with <3 by GitHub.";
+      homepage = https://octicons.github.com/;
+      license = "(OFL-1.1 OR MIT)";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-^0.4.0" = nodeEnv.buildNodePackage {
+    name = "passport";
+    packageName = "passport";
+    version = "0.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz";
+      sha1 = "c5095691347bd5ad3b5e180238c3914d16f05811";
+    };
+    dependencies = [
+      sources."passport-strategy-1.0.0"
+      sources."pause-0.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simple, unobtrusive authentication for Node.js.";
+      homepage = http://passportjs.org/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-dropbox-oauth2-^1.1.0" = nodeEnv.buildNodePackage {
+    name = "passport-dropbox-oauth2";
+    packageName = "passport-dropbox-oauth2";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-dropbox-oauth2/-/passport-dropbox-oauth2-1.1.0.tgz";
+      sha1 = "77c737636e4841944dfb82dfc42c3d8ab782c10e";
+    };
+    dependencies = [
+      sources."oauth-0.9.15"
+      sources."passport-oauth-1.0.0"
+      sources."passport-oauth1-1.1.0"
+      sources."passport-oauth2-1.4.0"
+      sources."passport-strategy-1.0.0"
+      sources."pkginfo-0.2.3"
+      sources."uid2-0.0.3"
+      sources."utils-merge-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Dropbox OAuth 2.0 authentication strategy for Passport.";
+      homepage = "https://github.com/florianheinemann/passport-dropbox-oauth2#readme";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-facebook-^2.1.1" = nodeEnv.buildNodePackage {
+    name = "passport-facebook";
+    packageName = "passport-facebook";
+    version = "2.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-facebook/-/passport-facebook-2.1.1.tgz";
+      sha1 = "c39d0b52ae4d59163245a4e21a7b9b6321303311";
+    };
+    dependencies = [
+      sources."oauth-0.9.15"
+      sources."passport-oauth2-1.4.0"
+      sources."passport-strategy-1.0.0"
+      sources."uid2-0.0.3"
+      sources."utils-merge-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Facebook authentication strategy for Passport.";
+      homepage = "https://github.com/jaredhanson/passport-facebook#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-github-^1.1.0" = nodeEnv.buildNodePackage {
+    name = "passport-github";
+    packageName = "passport-github";
+    version = "1.1.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-github/-/passport-github-1.1.0.tgz";
+      sha1 = "8ce1e3fcd61ad7578eb1df595839e4aea12355d4";
+    };
+    dependencies = [
+      sources."oauth-0.9.15"
+      sources."passport-oauth2-1.4.0"
+      sources."passport-strategy-1.0.0"
+      sources."uid2-0.0.3"
+      sources."utils-merge-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "GitHub authentication strategy for Passport.";
+      homepage = "https://github.com/jaredhanson/passport-github#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-gitlab2-^4.0.0" = nodeEnv.buildNodePackage {
+    name = "passport-gitlab2";
+    packageName = "passport-gitlab2";
+    version = "4.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-gitlab2/-/passport-gitlab2-4.0.0.tgz";
+      sha512 = "C/8/L8piHwv57J6fY/MzsEJc8yCkgsyBSzMWxfTfEHRvCaTkD08vJ5b/txydKrWrRPl4MHuZfisFnKlZHmq4yw==";
+    };
+    dependencies = [
+      sources."oauth-0.9.15"
+      sources."passport-oauth2-1.4.0"
+      sources."passport-strategy-1.0.0"
+      sources."uid2-0.0.3"
+      sources."utils-merge-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "GitLab authentication strategy for Passport.";
+      homepage = "https://github.com/fh1ch/passport-gitlab2#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-google-oauth20-^1.0.0" = nodeEnv.buildNodePackage {
+    name = "passport-google-oauth20";
+    packageName = "passport-google-oauth20";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-google-oauth20/-/passport-google-oauth20-1.0.0.tgz";
+      sha1 = "3b960e8a1d70d1dbe794615c827c68c40392a5d0";
+    };
+    dependencies = [
+      sources."oauth-0.9.15"
+      sources."passport-oauth2-1.4.0"
+      sources."passport-strategy-1.0.0"
+      sources."uid2-0.0.3"
+      sources."utils-merge-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Google (OAuth 2.0) authentication strategy for Passport.";
+      homepage = "https://github.com/jaredhanson/passport-google-oauth2#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-ldapauth-^2.0.0" = nodeEnv.buildNodePackage {
+    name = "passport-ldapauth";
+    packageName = "passport-ldapauth";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-ldapauth/-/passport-ldapauth-2.0.0.tgz";
+      sha1 = "42dff004417185d0a4d9f776a3eed8d4731fd689";
+    };
+    dependencies = [
+      sources."@types/body-parser-1.17.0"
+      sources."@types/connect-3.4.32"
+      sources."@types/events-1.2.0"
+      sources."@types/express-4.16.0"
+      sources."@types/express-serve-static-core-4.16.0"
+      sources."@types/ldapjs-1.0.3"
+      sources."@types/mime-2.0.0"
+      sources."@types/node-7.0.68"
+      sources."@types/passport-0.3.5"
+      sources."@types/range-parser-1.2.2"
+      sources."@types/serve-static-1.13.2"
+      sources."asn1-0.2.3"
+      sources."assert-plus-1.0.0"
+      sources."backoff-2.5.0"
+      sources."balanced-match-1.0.0"
+      sources."bcryptjs-2.4.3"
+      sources."brace-expansion-1.1.11"
+      sources."bunyan-1.8.12"
+      sources."concat-map-0.0.1"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."dtrace-provider-0.8.7"
+      sources."extsprintf-1.2.0"
+      sources."glob-6.0.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      (sources."ldap-filter-0.2.2" // {
+        dependencies = [
+          sources."assert-plus-0.1.5"
+        ];
+      })
+      sources."ldapauth-fork-4.0.2"
+      sources."ldapjs-1.0.2"
+      sources."lru-cache-4.1.3"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."mkdirp-0.5.1"
+      sources."moment-2.22.2"
+      sources."mv-2.1.1"
+      sources."nan-2.10.0"
+      sources."ncp-2.0.0"
+      sources."once-1.4.0"
+      sources."passport-strategy-1.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."precond-0.2.3"
+      sources."pseudomap-1.0.2"
+      sources."rimraf-2.4.5"
+      sources."safe-json-stringify-1.2.0"
+      (sources."vasync-1.6.4" // {
+        dependencies = [
+          sources."verror-1.6.0"
+        ];
+      })
+      sources."verror-1.10.0"
+      sources."wrappy-1.0.2"
+      sources."yallist-2.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "LDAP authentication strategy for Passport";
+      homepage = "https://github.com/vesse/passport-ldapauth#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-local-^1.0.0" = nodeEnv.buildNodePackage {
+    name = "passport-local";
+    packageName = "passport-local";
+    version = "1.0.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz";
+      sha1 = "1fe63268c92e75606626437e3b906662c15ba6ee";
+    };
+    dependencies = [
+      sources."passport-strategy-1.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Local username and password authentication strategy for Passport.";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-oauth2-^1.4.0" = nodeEnv.buildNodePackage {
+    name = "passport-oauth2";
+    packageName = "passport-oauth2";
+    version = "1.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.4.0.tgz";
+      sha1 = "f62f81583cbe12609be7ce6f160b9395a27b86ad";
+    };
+    dependencies = [
+      sources."oauth-0.9.15"
+      sources."passport-strategy-1.0.0"
+      sources."uid2-0.0.3"
+      sources."utils-merge-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "OAuth 2.0 authentication strategy for Passport.";
+      homepage = "https://github.com/jaredhanson/passport-oauth2#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-twitter-^1.0.4" = nodeEnv.buildNodePackage {
+    name = "passport-twitter";
+    packageName = "passport-twitter";
+    version = "1.0.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-twitter/-/passport-twitter-1.0.4.tgz";
+      sha1 = "01a799e1f760bf2de49f2ba5fba32282f18932d7";
+    };
+    dependencies = [
+      sources."oauth-0.9.15"
+      sources."passport-oauth1-1.1.0"
+      sources."passport-strategy-1.0.0"
+      sources."utils-merge-1.0.1"
+      sources."xmldom-0.1.27"
+      sources."xtraverse-0.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Twitter authentication strategy for Passport.";
+      homepage = "https://github.com/jaredhanson/passport-twitter#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport-saml-^0.31.0" = nodeEnv.buildNodePackage {
+    name = "passport-saml";
+    packageName = "passport-saml";
+    version = "0.31.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport-saml/-/passport-saml-0.31.0.tgz";
+      sha1 = "e4d654cab30f018bfd39056efe7bcfa770aab463";
+    };
+    dependencies = [
+      sources."async-2.6.1"
+      sources."ejs-2.6.1"
+      sources."lodash-4.17.10"
+      sources."node-forge-0.7.5"
+      sources."passport-strategy-1.0.0"
+      sources."q-1.5.1"
+      sources."sax-1.2.4"
+      (sources."xml-crypto-0.10.1" // {
+        dependencies = [
+          sources."xmldom-0.1.19"
+        ];
+      })
+      sources."xml-encryption-0.11.2"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
+      sources."xmldom-0.1.27"
+      sources."xpath-0.0.27"
+      sources."xpath.js-1.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "SAML 2.0 authentication strategy for Passport";
+      homepage = "https://github.com/bergie/passport-saml#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "passport.socketio-^3.7.0" = nodeEnv.buildNodePackage {
+    name = "passport.socketio";
+    packageName = "passport.socketio";
+    version = "3.7.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/passport.socketio/-/passport.socketio-3.7.0.tgz";
+      sha1 = "2ee5fafe9695d4281c8cddd3fe975ecd18e6726e";
+    };
+    dependencies = [
+      sources."xtend-4.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "access passport.js authenticated user information from socket.io";
+      homepage = "https://github.com/jfromaniello/passport.socketio#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "pdfobject-^2.0.201604172" = nodeEnv.buildNodePackage {
+    name = "pdfobject";
+    packageName = "pdfobject";
+    version = "2.0.201604172";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pdfobject/-/pdfobject-2.0.201604172.tgz";
+      sha1 = "112edf93b98be121a5e780b06e7f5f78ad31ab3f";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "An open-source standards-friendly JavaScript utility for embedding PDF files into HTML documents";
+      homepage = "https://github.com/pipwerks/PDFObject#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "pg-^6.1.2" = nodeEnv.buildNodePackage {
+    name = "pg";
+    packageName = "pg";
+    version = "6.4.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pg/-/pg-6.4.2.tgz";
+      sha1 = "c364011060eac7a507a2ae063eb857ece910e27f";
+    };
+    dependencies = [
+      sources."buffer-writer-1.0.1"
+      sources."generic-pool-2.4.3"
+      sources."js-string-escape-1.0.1"
+      sources."object-assign-4.1.0"
+      sources."packet-reader-0.3.1"
+      sources."pg-connection-string-0.1.3"
+      sources."pg-int8-1.0.1"
+      sources."pg-pool-1.8.0"
+      sources."pg-types-1.13.0"
+      sources."pgpass-1.0.2"
+      sources."postgres-array-1.0.2"
+      sources."postgres-bytea-1.0.0"
+      sources."postgres-date-1.0.3"
+      sources."postgres-interval-1.1.2"
+      sources."semver-4.3.2"
+      sources."split-1.0.1"
+      sources."through-2.3.8"
+      sources."xtend-4.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "PostgreSQL client - pure javascript & libpq with the same API";
+      homepage = http://github.com/brianc/node-postgres;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "pg-hstore-^2.3.2" = nodeEnv.buildNodePackage {
+    name = "pg-hstore";
+    packageName = "pg-hstore";
+    version = "2.3.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/pg-hstore/-/pg-hstore-2.3.2.tgz";
+      sha1 = "f7ef053e7b9b892ae986af2f7cbe86432dfcf24f";
+    };
+    dependencies = [
+      sources."underscore-1.9.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "An module for serializing and deserializing JSON data in to hstore format";
+      homepage = https://github.com/scarney81/pg-hstore;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "prismjs-^1.6.0" = nodeEnv.buildNodePackage {
+    name = "prismjs";
+    packageName = "prismjs";
+    version = "1.15.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/prismjs/-/prismjs-1.15.0.tgz";
+      sha512 = "Lf2JrFYx8FanHrjoV5oL8YHCclLQgbJcVZR+gikGGMqz6ub5QVWDTM6YIwm3BuPxM/LOV+rKns3LssXNLIf+DA==";
+    };
+    dependencies = [
+      sources."clipboard-2.0.1"
+      sources."delegate-3.2.0"
+      sources."good-listener-1.2.2"
+      sources."select-1.1.2"
+      sources."tiny-emitter-2.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Lightweight, robust, elegant syntax highlighting. A spin-off project from Dabblet.";
+      homepage = "https://github.com/LeaVerou/prism#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "randomcolor-^0.5.3" = nodeEnv.buildNodePackage {
+    name = "randomcolor";
+    packageName = "randomcolor";
+    version = "0.5.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/randomcolor/-/randomcolor-0.5.3.tgz";
+      sha1 = "7f90f2f2a7f6d5a52232161eeaeeaea9ac3b5815";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A tiny script for generating attractive random colors";
+      homepage = https://randomcolor.llllll.li/;
+      license = "CC0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "raphael-git+https://github.com/dmitrybaranovskiy/raphael" = nodeEnv.buildNodePackage {
+    name = "raphael";
+    packageName = "raphael";
+    version = "2.2.7";
+    src = fetchgit {
+      url = "https://github.com/dmitrybaranovskiy/raphael";
+      rev = "527c51b7b12f846f9ab0d5ddf14767912b569c7d";
+      sha256 = "a9c2dece0218d3c82ad624fd55d7f81b7696fd0415bc0f52429f2d09497b25d8";
+    };
+    dependencies = [
+      sources."eve-raphael-0.5.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "JavaScript Vector Library";
+      homepage = http://dmitrybaranovskiy.github.io/raphael/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "readline-sync-^1.4.7" = nodeEnv.buildNodePackage {
+    name = "readline-sync";
+    packageName = "readline-sync";
+    version = "1.4.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.9.tgz";
+      sha1 = "3eda8e65f23cd2a17e61301b1f0003396af5ecda";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Synchronous Readline for interactively running to have a conversation with the user via a console(TTY).";
+      homepage = https://github.com/anseki/readline-sync;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "request-^2.79.0" = nodeEnv.buildNodePackage {
+    name = "request";
+    packageName = "request";
+    version = "2.87.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/request/-/request-2.87.0.tgz";
+      sha512 = "fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==";
+    };
+    dependencies = [
+      sources."ajv-5.5.2"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."combined-stream-1.0.6"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."http-signature-1.2.0"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-2.1.0"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sshpk-1.14.2"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simplified HTTP request client.";
+      homepage = "https://github.com/request/request#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "reveal.js-~3.6.0" = nodeEnv.buildNodePackage {
+    name = "reveal.js";
+    packageName = "reveal.js";
+    version = "3.6.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/reveal.js/-/reveal.js-3.6.0.tgz";
+      sha512 = "ZhXBWoDiaNySAJgs3XqmkHTmjR3Dkkhyy89VY8PLzXBDwNhP7ZEGtBT1H3xJRCEGOD4ScLJBbU75PRiPLQgWgw==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The HTML Presentation Framework";
+      homepage = http://revealjs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "scrypt-^6.0.3" = nodeEnv.buildNodePackage {
+    name = "scrypt";
+    packageName = "scrypt";
+    version = "6.0.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz";
+      sha1 = "04e014a5682b53fa50c2d5cce167d719c06d870d";
+    };
+    dependencies = [
+      sources."nan-2.10.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The scrypt crypto library for NodeJS";
+      homepage = https://github.com/barrysteyn/node-scrypt;
+      license = "zlib";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "select2-^3.5.2-browserify" = nodeEnv.buildNodePackage {
+    name = "select2";
+    packageName = "select2";
+    version = "3.5.2-browserify";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/select2/-/select2-3.5.2-browserify.tgz";
+      sha1 = "dc4dafda38d67a734e8a97a46f0d3529ae05391d";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Browserify-ed version of Select2.";
+      homepage = http://ivaynberg.github.io/select2;
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "sequelize-^3.28.0" = nodeEnv.buildNodePackage {
+    name = "sequelize";
+    packageName = "sequelize";
+    version = "3.33.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/sequelize/-/sequelize-3.33.0.tgz";
+      sha1 = "b0eb12b87223aded10e50a9d78506e0dd42f9208";
+    };
+    dependencies = [
+      sources."@types/geojson-1.0.6"
+      sources."bluebird-3.5.1"
+      sources."debug-2.6.9"
+      sources."depd-1.1.2"
+      sources."dottie-1.1.1"
+      sources."generic-pool-2.4.2"
+      sources."inflection-1.12.0"
+      sources."lodash-4.17.10"
+      sources."moment-2.22.2"
+      sources."moment-timezone-0.5.21"
+      sources."ms-2.0.0"
+      sources."retry-as-promised-2.3.2"
+      sources."semver-5.5.0"
+      sources."shimmer-1.1.0"
+      sources."terraformer-1.0.9"
+      sources."terraformer-wkt-parser-1.2.0"
+      sources."toposort-class-1.0.1"
+      sources."uuid-3.3.2"
+      sources."validator-5.7.0"
+      sources."wkx-0.2.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Multi dialect ORM for Node.JS/io.js";
+      homepage = "https://github.com/sequelize/sequelize#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "sequelize-cli-^2.5.1" = nodeEnv.buildNodePackage {
+    name = "sequelize-cli";
+    packageName = "sequelize-cli";
+    version = "2.8.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/sequelize-cli/-/sequelize-cli-2.8.0.tgz";
+      sha1 = "4304cce60e499169603f838dedbab421c9849e74";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ansi-gray-0.1.1"
+      sources."ansi-regex-2.1.1"
+      sources."ansi-styles-2.2.1"
+      sources."ansi-wrap-0.1.0"
+      sources."archy-1.0.0"
+      sources."arr-diff-2.0.0"
+      sources."arr-flatten-1.1.0"
+      sources."arr-union-3.1.0"
+      sources."array-differ-1.0.0"
+      sources."array-each-1.0.1"
+      sources."array-slice-1.1.0"
+      sources."array-uniq-1.0.3"
+      sources."array-unique-0.2.1"
+      sources."assign-symbols-1.0.0"
+      sources."atob-2.1.1"
+      sources."balanced-match-1.0.0"
+      (sources."base-0.11.2" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."beeper-1.1.1"
+      sources."bluebird-3.5.1"
+      sources."brace-expansion-1.1.11"
+      sources."braces-1.8.5"
+      sources."builtin-modules-1.1.1"
+      (sources."cache-base-1.0.1" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."camelcase-4.1.0"
+      sources."chalk-1.1.3"
+      (sources."class-utils-0.3.6" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."isobject-3.0.1"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."cli-color-1.2.0"
+      (sources."cliui-3.2.0" // {
+        dependencies = [
+          sources."string-width-1.0.2"
+        ];
+      })
+      sources."clone-1.0.4"
+      sources."clone-stats-0.0.1"
+      sources."code-point-at-1.1.0"
+      sources."collection-visit-1.0.0"
+      sources."color-support-1.1.3"
+      sources."commander-2.16.0"
+      sources."component-emitter-1.2.1"
+      sources."concat-map-0.0.1"
+      sources."config-chain-1.1.11"
+      sources."copy-descriptor-0.1.1"
+      sources."core-util-is-1.0.2"
+      (sources."cross-spawn-5.1.0" // {
+        dependencies = [
+          sources."lru-cache-4.1.3"
+        ];
+      })
+      sources."d-1.0.0"
+      sources."dateformat-2.2.0"
+      sources."debug-2.6.9"
+      sources."decamelize-1.2.0"
+      sources."decode-uri-component-0.2.0"
+      sources."defaults-1.0.3"
+      (sources."define-property-2.0.2" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."deprecated-0.0.1"
+      sources."detect-file-0.1.0"
+      sources."duplexer2-0.0.2"
+      (sources."editorconfig-0.13.3" // {
+        dependencies = [
+          sources."lru-cache-3.2.0"
+          sources."semver-5.5.0"
+        ];
+      })
+      sources."end-of-stream-0.1.5"
+      sources."error-ex-1.3.2"
+      sources."es5-ext-0.10.45"
+      sources."es6-iterator-2.0.3"
+      sources."es6-symbol-3.1.1"
+      sources."es6-weak-map-2.0.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."event-emitter-0.3.5"
+      sources."execa-0.7.0"
+      sources."expand-brackets-0.1.5"
+      sources."expand-range-1.8.2"
+      sources."expand-tilde-1.2.2"
+      sources."extend-3.0.2"
+      (sources."extend-shallow-3.0.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      sources."extglob-0.3.2"
+      sources."fancy-log-1.3.2"
+      sources."filename-regex-2.0.1"
+      sources."fill-range-2.2.4"
+      sources."find-index-0.1.1"
+      sources."find-up-2.1.0"
+      sources."findup-sync-1.0.0"
+      (sources."fined-1.1.0" // {
+        dependencies = [
+          sources."expand-tilde-2.0.2"
+        ];
+      })
+      sources."first-chunk-stream-1.0.0"
+      sources."flagged-respawn-1.0.0"
+      sources."for-in-1.0.2"
+      sources."for-own-0.1.5"
+      sources."fragment-cache-0.2.1"
+      sources."fs-exists-sync-0.1.0"
+      sources."fs-extra-4.0.3"
+      sources."gaze-0.5.2"
+      sources."get-caller-file-1.0.3"
+      sources."get-stream-3.0.0"
+      sources."get-value-2.0.6"
+      sources."glob-4.5.3"
+      sources."glob-base-0.3.0"
+      sources."glob-parent-2.0.0"
+      (sources."glob-stream-3.1.18" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.0.34"
+          sources."through2-0.6.5"
+        ];
+      })
+      sources."glob-watcher-0.0.6"
+      sources."glob2base-0.0.12"
+      sources."global-modules-0.2.3"
+      sources."global-prefix-0.1.5"
+      (sources."globule-0.1.0" // {
+        dependencies = [
+          sources."glob-3.1.21"
+          sources."graceful-fs-1.2.3"
+          sources."inherits-1.0.2"
+          sources."lodash-1.0.2"
+          sources."minimatch-0.2.14"
+        ];
+      })
+      sources."glogg-1.0.1"
+      sources."graceful-fs-4.1.11"
+      sources."gulp-3.9.1"
+      sources."gulp-help-1.6.1"
+      sources."gulp-util-3.0.8"
+      sources."gulplog-1.0.0"
+      sources."has-ansi-2.0.0"
+      sources."has-gulplog-0.1.0"
+      (sources."has-value-1.0.0" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."has-values-1.0.0" // {
+        dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."kind-of-4.0.0"
+        ];
+      })
+      sources."homedir-polyfill-1.0.1"
+      sources."hosted-git-info-2.7.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."interpret-1.1.0"
+      sources."invert-kv-1.0.0"
+      (sources."is-absolute-1.0.0" // {
+        dependencies = [
+          sources."is-windows-1.0.2"
+        ];
+      })
+      (sources."is-accessor-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-arrayish-0.2.1"
+      sources."is-buffer-1.1.6"
+      sources."is-builtin-module-1.0.0"
+      (sources."is-data-descriptor-1.0.0" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      (sources."is-descriptor-1.0.2" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."is-dotfile-1.0.3"
+      sources."is-equal-shallow-0.1.3"
+      sources."is-extendable-0.1.1"
+      sources."is-extglob-1.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-glob-2.0.1"
+      sources."is-number-2.1.0"
+      (sources."is-plain-object-2.0.4" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."is-posix-bracket-0.1.1"
+      sources."is-primitive-2.0.0"
+      sources."is-promise-2.1.0"
+      sources."is-relative-1.0.0"
+      sources."is-stream-1.1.0"
+      sources."is-unc-path-1.0.0"
+      sources."is-utf8-0.2.1"
+      sources."is-windows-0.2.0"
+      sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
+      sources."isobject-2.1.0"
+      sources."js-beautify-1.7.5"
+      sources."jsonfile-4.0.0"
+      sources."kind-of-3.2.2"
+      sources."lcid-1.0.0"
+      (sources."liftoff-2.5.0" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."detect-file-1.0.0"
+          (sources."expand-brackets-2.1.4" // {
+            dependencies = [
+              sources."define-property-0.2.5"
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."expand-tilde-2.0.2"
+          (sources."extglob-2.0.4" // {
+            dependencies = [
+              sources."define-property-1.0.0"
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."findup-sync-2.0.0"
+          sources."global-modules-1.0.0"
+          sources."global-prefix-1.0.2"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+          sources."is-extglob-2.1.1"
+          sources."is-glob-3.1.0"
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-windows-1.0.2"
+          sources."isobject-3.0.1"
+          sources."kind-of-6.0.2"
+          sources."micromatch-3.1.10"
+          sources."resolve-dir-1.0.1"
+        ];
+      })
+      (sources."load-json-file-2.0.0" // {
+        dependencies = [
+          sources."strip-bom-3.0.0"
+        ];
+      })
+      sources."locate-path-2.0.0"
+      sources."lodash-4.17.10"
+      sources."lodash._basecopy-3.0.1"
+      sources."lodash._basetostring-3.0.1"
+      sources."lodash._basevalues-3.0.0"
+      sources."lodash._getnative-3.9.1"
+      sources."lodash._isiterateecall-3.0.9"
+      sources."lodash._reescape-3.0.0"
+      sources."lodash._reevaluate-3.0.0"
+      sources."lodash._reinterpolate-3.0.0"
+      sources."lodash._root-3.0.1"
+      sources."lodash.escape-3.2.0"
+      sources."lodash.isarguments-3.1.0"
+      sources."lodash.isarray-3.0.4"
+      sources."lodash.keys-3.1.2"
+      sources."lodash.restparam-3.6.1"
+      sources."lodash.template-3.6.2"
+      sources."lodash.templatesettings-3.1.1"
+      sources."lru-cache-2.7.3"
+      sources."lru-queue-0.1.0"
+      (sources."make-iterator-1.0.1" // {
+        dependencies = [
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."map-cache-0.2.2"
+      sources."map-visit-1.0.0"
+      sources."math-random-1.0.1"
+      sources."mem-1.1.0"
+      sources."memoizee-0.4.12"
+      sources."micromatch-2.3.11"
+      sources."mimic-fn-1.2.0"
+      sources."minimatch-2.0.10"
+      sources."minimist-1.2.0"
+      (sources."mixin-deep-1.3.1" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
+      (sources."mkdirp-0.5.1" // {
+        dependencies = [
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."moment-2.22.2"
+      sources."ms-2.0.0"
+      sources."multipipe-0.1.2"
+      (sources."nanomatch-1.2.13" // {
+        dependencies = [
+          sources."arr-diff-4.0.0"
+          sources."array-unique-0.3.2"
+          sources."is-windows-1.0.2"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."natives-1.1.4"
+      sources."next-tick-1.0.0"
+      sources."nopt-3.0.6"
+      sources."normalize-package-data-2.4.0"
+      sources."normalize-path-2.1.1"
+      sources."npm-run-path-2.0.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-3.0.0"
+      (sources."object-copy-0.1.0" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."is-accessor-descriptor-0.1.6"
+          sources."is-data-descriptor-0.1.4"
+          (sources."is-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-5.1.0"
+            ];
+          })
+        ];
+      })
+      (sources."object-visit-1.0.1" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."object.defaults-1.1.0" // {
+        dependencies = [
+          sources."for-own-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      (sources."object.map-1.0.1" // {
+        dependencies = [
+          sources."for-own-1.0.0"
+        ];
+      })
+      sources."object.omit-2.0.1"
+      (sources."object.pick-1.3.0" // {
+        dependencies = [
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."once-1.3.3"
+      sources."orchestrator-0.3.8"
+      sources."ordered-read-streams-0.1.0"
+      sources."os-homedir-1.0.2"
+      sources."os-locale-2.1.0"
+      sources."p-finally-1.0.0"
+      sources."p-limit-1.3.0"
+      sources."p-locate-2.0.0"
+      sources."p-try-1.0.0"
+      sources."parse-filepath-1.0.2"
+      sources."parse-glob-3.0.4"
+      sources."parse-json-2.2.0"
+      sources."parse-passwd-1.0.0"
+      sources."pascalcase-0.1.1"
+      sources."path-exists-3.0.0"
+      sources."path-key-2.0.1"
+      sources."path-parse-1.0.5"
+      sources."path-root-0.1.1"
+      sources."path-root-regex-0.1.2"
+      sources."path-type-2.0.0"
+      sources."pify-2.3.0"
+      sources."posix-character-classes-0.1.1"
+      sources."preserve-0.2.0"
+      sources."pretty-hrtime-1.0.3"
+      sources."process-nextick-args-2.0.0"
+      sources."proto-list-1.2.4"
+      sources."pseudomap-1.0.2"
+      (sources."randomatic-3.0.0" // {
+        dependencies = [
+          sources."is-number-4.0.0"
+          sources."kind-of-6.0.2"
+        ];
+      })
+      sources."read-pkg-2.0.0"
+      sources."read-pkg-up-2.0.0"
+      (sources."readable-stream-1.1.14" // {
+        dependencies = [
+          sources."isarray-0.0.1"
+        ];
+      })
+      sources."rechoir-0.6.2"
+      sources."redefine-0.2.1"
+      sources."regex-cache-0.4.4"
+      sources."regex-not-1.0.2"
+      sources."remove-trailing-separator-1.1.0"
+      sources."repeat-element-1.1.2"
+      sources."repeat-string-1.6.1"
+      sources."replace-ext-0.0.1"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-1.0.1"
+      sources."resolve-1.8.1"
+      sources."resolve-dir-0.1.1"
+      sources."resolve-url-0.2.1"
+      sources."ret-0.1.15"
+      sources."safe-buffer-5.1.2"
+      sources."safe-regex-1.1.0"
+      sources."semver-4.3.6"
+      sources."sequencify-0.0.7"
+      sources."set-blocking-2.0.0"
+      (sources."set-value-2.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
+      sources."shebang-command-1.2.0"
+      sources."shebang-regex-1.0.0"
+      sources."sigmund-1.0.1"
+      sources."signal-exit-3.0.2"
+      (sources."snapdragon-0.8.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      (sources."snapdragon-node-2.1.1" // {
+        dependencies = [
+          sources."define-property-1.0.0"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."snapdragon-util-3.0.1"
+      sources."source-map-0.5.7"
+      sources."source-map-resolve-0.5.2"
+      sources."source-map-url-0.4.0"
+      sources."sparkles-1.0.1"
+      sources."spdx-correct-3.0.0"
+      sources."spdx-exceptions-2.1.0"
+      sources."spdx-expression-parse-3.0.0"
+      sources."spdx-license-ids-3.0.0"
+      sources."split-string-3.1.0"
+      (sources."static-extend-0.1.2" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."kind-of-5.1.0"
+        ];
+      })
+      sources."stream-consume-0.1.1"
+      (sources."string-width-2.1.1" // {
+        dependencies = [
+          sources."ansi-regex-3.0.0"
+          sources."is-fullwidth-code-point-2.0.0"
+          sources."strip-ansi-4.0.0"
+        ];
+      })
+      sources."string_decoder-0.10.31"
+      sources."strip-ansi-3.0.1"
+      sources."strip-bom-1.0.0"
+      sources."strip-eof-1.0.0"
+      sources."supports-color-2.0.0"
+      (sources."through2-2.0.3" // {
+        dependencies = [
+          sources."readable-stream-2.3.6"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."tildify-1.2.0"
+      sources."time-stamp-1.1.0"
+      sources."timers-ext-0.1.5"
+      sources."to-object-path-0.3.0"
+      sources."to-regex-3.0.2"
+      (sources."to-regex-range-2.1.1" // {
+        dependencies = [
+          sources."is-number-3.0.0"
+        ];
+      })
+      sources."umzug-1.12.0"
+      sources."unc-path-regex-0.1.2"
+      (sources."union-value-1.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+          sources."set-value-0.4.3"
+        ];
+      })
+      sources."unique-stream-1.0.0"
+      sources."universalify-0.1.2"
+      (sources."unset-value-1.0.0" // {
+        dependencies = [
+          (sources."has-value-0.3.1" // {
+            dependencies = [
+              sources."isobject-2.1.0"
+            ];
+          })
+          sources."has-values-0.1.4"
+          sources."isobject-3.0.1"
+        ];
+      })
+      sources."urix-0.1.0"
+      sources."use-3.1.1"
+      sources."user-home-1.1.1"
+      sources."util-deprecate-1.0.2"
+      sources."v8flags-2.1.1"
+      sources."validate-npm-package-license-3.0.3"
+      sources."vinyl-0.5.3"
+      (sources."vinyl-fs-0.3.14" // {
+        dependencies = [
+          sources."clone-0.2.0"
+          sources."graceful-fs-3.0.11"
+          sources."isarray-0.0.1"
+          sources."readable-stream-1.0.34"
+          sources."through2-0.6.5"
+          sources."vinyl-0.4.6"
+        ];
+      })
+      sources."which-1.3.1"
+      sources."which-module-2.0.0"
+      (sources."wrap-ansi-2.1.0" // {
+        dependencies = [
+          sources."string-width-1.0.2"
+        ];
+      })
+      sources."wrappy-1.0.2"
+      sources."xtend-4.0.1"
+      sources."y18n-3.2.1"
+      sources."yallist-2.1.2"
+      sources."yargs-8.0.2"
+      sources."yargs-parser-7.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The Sequelize CLI";
+      homepage = https://github.com/sequelize/cli;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "shortid-2.2.8" = nodeEnv.buildNodePackage {
+    name = "shortid";
+    packageName = "shortid";
+    version = "2.2.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/shortid/-/shortid-2.2.8.tgz";
+      sha1 = "033b117d6a2e975804f6f0969dbe7d3d0b355131";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Amazingly short non-sequential url-friendly unique id generator.";
+      homepage = https://github.com/dylang/shortid;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "socket.io-~2.0.4" = nodeEnv.buildNodePackage {
+    name = "socket.io";
+    packageName = "socket.io";
+    version = "2.0.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz";
+      sha1 = "c1a4590ceff87ecf13c72652f046f716b29e6014";
+    };
+    dependencies = [
+      sources."accepts-1.3.5"
+      sources."after-0.8.2"
+      sources."arraybuffer.slice-0.0.7"
+      sources."async-limiter-1.0.0"
+      sources."backo2-1.0.2"
+      sources."base64-arraybuffer-0.1.5"
+      sources."base64id-1.0.0"
+      sources."better-assert-1.0.2"
+      sources."blob-0.0.4"
+      sources."callsite-1.0.0"
+      sources."component-bind-1.0.0"
+      sources."component-emitter-1.2.1"
+      sources."component-inherit-0.0.3"
+      sources."cookie-0.3.1"
+      sources."debug-2.6.9"
+      (sources."engine.io-3.1.5" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
+      (sources."engine.io-client-3.1.6" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
+      sources."engine.io-parser-2.1.2"
+      sources."has-binary2-1.0.3"
+      sources."has-cors-1.1.0"
+      sources."indexof-0.0.1"
+      sources."isarray-2.0.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."ms-2.0.0"
+      sources."negotiator-0.6.1"
+      sources."object-component-0.0.3"
+      sources."parseqs-0.0.5"
+      sources."parseuri-0.0.5"
+      sources."safe-buffer-5.1.2"
+      sources."socket.io-adapter-1.1.1"
+      sources."socket.io-client-2.0.4"
+      (sources."socket.io-parser-3.1.3" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
+      sources."to-array-0.1.4"
+      sources."ultron-1.1.1"
+      sources."uws-9.14.0"
+      sources."ws-3.3.3"
+      sources."xmlhttprequest-ssl-1.5.5"
+      sources."yeast-0.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "node.js realtime framework server";
+      homepage = "https://github.com/socketio/socket.io#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "socket.io-client-~2.0.4" = nodeEnv.buildNodePackage {
+    name = "socket.io-client";
+    packageName = "socket.io-client";
+    version = "2.0.4";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.0.4.tgz";
+      sha1 = "0918a552406dc5e540b380dcd97afc4a64332f8e";
+    };
+    dependencies = [
+      sources."after-0.8.2"
+      sources."arraybuffer.slice-0.0.7"
+      sources."async-limiter-1.0.0"
+      sources."backo2-1.0.2"
+      sources."base64-arraybuffer-0.1.5"
+      sources."better-assert-1.0.2"
+      sources."blob-0.0.4"
+      sources."callsite-1.0.0"
+      sources."component-bind-1.0.0"
+      sources."component-emitter-1.2.1"
+      sources."component-inherit-0.0.3"
+      sources."debug-2.6.9"
+      (sources."engine.io-client-3.1.6" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
+      sources."engine.io-parser-2.1.2"
+      sources."has-binary2-1.0.3"
+      sources."has-cors-1.1.0"
+      sources."indexof-0.0.1"
+      sources."isarray-2.0.1"
+      sources."ms-2.0.0"
+      sources."object-component-0.0.3"
+      sources."parseqs-0.0.5"
+      sources."parseuri-0.0.5"
+      sources."safe-buffer-5.1.2"
+      (sources."socket.io-parser-3.1.3" // {
+        dependencies = [
+          sources."debug-3.1.0"
+        ];
+      })
+      sources."to-array-0.1.4"
+      sources."ultron-1.1.1"
+      sources."ws-3.3.3"
+      sources."xmlhttprequest-ssl-1.5.5"
+      sources."yeast-0.1.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "[![Build Status](https://secure.travis-ci.org/socketio/socket.io-client.svg?branch=master)](http://travis-ci.org/socketio/socket.io-client) [![Dependency Status](https://david-dm.org/socketio/socket.io-client.svg)](https://david-dm.org/socketio/socket.io-";
+      homepage = "https://github.com/Automattic/socket.io-client#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "spin.js-^2.3.2" = nodeEnv.buildNodePackage {
+    name = "spin.js";
+    packageName = "spin.js";
+    version = "2.3.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/spin.js/-/spin.js-2.3.2.tgz";
+      sha1 = "6caa56d520673450fd5cfbc6971e6d0772c37a1a";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "An animated CSS3 loading spinner with VML fallback for IE.";
+      homepage = "https://github.com/fgnass/spin.js#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "sqlite3-^4.0.1" = nodeEnv.buildNodePackage {
+    name = "sqlite3";
+    packageName = "sqlite3";
+    version = "4.0.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/sqlite3/-/sqlite3-4.0.2.tgz";
+      sha512 = "51ferIRwYOhzUEtogqOa/y9supADlAht98bF/gbIi6WkzRJX6Yioldxbzj1MV4yV+LgdKD/kkHwFTeFXOG4htA==";
+    };
+    dependencies = [
+      sources."abbrev-1.1.1"
+      sources."ajv-5.5.2"
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.5"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."balanced-match-1.0.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."brace-expansion-1.1.11"
+      sources."caseless-0.12.0"
+      sources."chownr-1.0.1"
+      sources."co-4.6.0"
+      sources."code-point-at-1.1.0"
+      sources."combined-stream-1.0.6"
+      sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.2"
+      sources."dashdash-1.14.1"
+      sources."debug-2.6.9"
+      sources."deep-extend-0.6.0"
+      sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-1.0.3"
+      sources."ecc-jsbn-0.1.2"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."fs-minipass-1.2.5"
+      sources."fs.realpath-1.0.0"
+      sources."gauge-2.7.4"
+      sources."getpass-0.1.7"
+      sources."glob-7.1.2"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."has-unicode-2.0.1"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.23"
+      sources."ignore-walk-3.0.1"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.3"
+      sources."ini-1.3.5"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."minimatch-3.0.4"
+      sources."minimist-0.0.8"
+      sources."minipass-2.3.3"
+      sources."minizlib-1.1.0"
+      sources."mkdirp-0.5.1"
+      sources."ms-2.0.0"
+      sources."nan-2.10.0"
+      sources."needle-2.2.1"
+      sources."node-pre-gyp-0.10.3"
+      sources."nopt-4.0.1"
+      sources."npm-bundled-1.0.3"
+      sources."npm-packlist-1.1.11"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."oauth-sign-0.8.2"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."os-homedir-1.0.2"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.5"
+      sources."path-is-absolute-1.0.1"
+      sources."performance-now-2.1.0"
+      sources."process-nextick-args-2.0.0"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
+      sources."readable-stream-2.3.6"
+      sources."request-2.87.0"
+      sources."rimraf-2.6.2"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."semver-5.5.0"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.2"
+      sources."sshpk-1.14.2"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."tar-4.4.6"
+      sources."tough-cookie-2.3.4"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."wide-align-1.1.3"
+      sources."wrappy-1.0.2"
+      sources."yallist-3.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Asynchronous, non-blocking SQLite3 bindings";
+      homepage = http://github.com/mapbox/node-sqlite3;
+      license = "BSD-3-Clause";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "store-^2.0.12" = nodeEnv.buildNodePackage {
+    name = "store";
+    packageName = "store";
+    version = "2.0.12";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/store/-/store-2.0.12.tgz";
+      sha1 = "8c534e2a0b831f72b75fc5f1119857c44ef5d593";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A localStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood";
+      homepage = "https://github.com/marcuswestin/store.js#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "string-^3.3.3" = nodeEnv.buildNodePackage {
+    name = "string";
+    packageName = "string";
+    version = "3.3.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/string/-/string-3.3.3.tgz";
+      sha1 = "5ea211cd92d228e184294990a6cc97b366a77cb0";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "string contains methods that aren't included in the vanilla JavaScript string such as escaping html, decoding html entities, stripping tags, etc.";
+      homepage = http://stringjs.com/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "tedious-^1.14.0" = nodeEnv.buildNodePackage {
+    name = "tedious";
+    packageName = "tedious";
+    version = "1.15.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/tedious/-/tedious-1.15.0.tgz";
+      sha1 = "9bda9e9798212c8fcd9438a70cb2a806abcae70a";
+    };
+    dependencies = [
+      sources."babel-runtime-6.26.0"
+      sources."big-number-0.3.1"
+      sources."bl-1.2.2"
+      sources."core-js-2.5.7"
+      sources."core-util-is-1.0.2"
+      sources."dns-lookup-all-1.0.2"
+      sources."iconv-lite-0.4.23"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
+      sources."regenerator-runtime-0.11.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."semver-5.5.0"
+      sources."sprintf-0.1.5"
+      sources."string_decoder-1.1.1"
+      sources."util-deprecate-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A TDS driver, for connecting to MS SQLServer databases.";
+      homepage = https://github.com/tediousjs/tedious;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "to-markdown-^3.0.3" = nodeEnv.buildNodePackage {
+    name = "to-markdown";
+    packageName = "to-markdown";
+    version = "3.1.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/to-markdown/-/to-markdown-3.1.1.tgz";
+      sha1 = "251e241b8c74c7ad177292e6c52cc195c9268c11";
+    };
+    dependencies = [
+      sources."abab-1.0.4"
+      sources."acorn-4.0.13"
+      sources."acorn-globals-3.1.0"
+      sources."ajv-5.5.2"
+      sources."array-equal-1.0.0"
+      sources."asn1-0.2.4"
+      sources."assert-plus-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.7.0"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."block-elements-1.2.0"
+      sources."caseless-0.12.0"
+      sources."co-4.6.0"
+      sources."collapse-whitespace-1.1.2"
+      sources."combined-stream-1.0.6"
+      sources."content-type-parser-1.0.2"
+      sources."core-util-is-1.0.2"
+      sources."cssom-0.3.4"
+      sources."cssstyle-0.2.37"
+      sources."dashdash-1.14.1"
+      sources."deep-is-0.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."ecc-jsbn-0.1.2"
+      sources."escodegen-1.11.0"
+      sources."esprima-3.1.3"
+      sources."estraverse-4.2.0"
+      sources."esutils-2.0.2"
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."fast-levenshtein-2.0.6"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.2"
+      sources."getpass-0.1.7"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.0.3"
+      sources."html-encoding-sniffer-1.0.2"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.19"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."jsbn-0.1.1"
+      sources."jsdom-9.12.0"
+      sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
+      sources."json-stringify-safe-5.0.1"
+      sources."jsprim-1.4.1"
+      sources."levn-0.3.0"
+      sources."mime-db-1.35.0"
+      sources."mime-types-2.1.19"
+      sources."nwmatcher-1.4.4"
+      sources."oauth-sign-0.8.2"
+      sources."optionator-0.8.2"
+      sources."parse5-1.5.1"
+      sources."performance-now-2.1.0"
+      sources."prelude-ls-1.1.2"
+      sources."psl-1.1.29"
+      sources."punycode-1.4.1"
+      sources."qs-6.5.2"
+      (sources."request-2.87.0" // {
+        dependencies = [
+          sources."tough-cookie-2.3.4"
+        ];
+      })
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.4"
+      sources."source-map-0.6.1"
+      sources."sshpk-1.14.2"
+      sources."symbol-tree-3.2.2"
+      sources."tough-cookie-2.4.3"
+      sources."tr46-0.0.3"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-0.14.5"
+      sources."type-check-0.3.2"
+      sources."uuid-3.3.2"
+      sources."verror-1.10.0"
+      sources."void-elements-2.0.1"
+      sources."webidl-conversions-4.0.2"
+      sources."whatwg-encoding-1.0.3"
+      (sources."whatwg-url-4.8.0" // {
+        dependencies = [
+          sources."webidl-conversions-3.0.1"
+        ];
+      })
+      sources."wordwrap-1.0.0"
+      sources."xml-name-validator-2.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "HTML-to-Markdown converter";
+      homepage = "https://github.com/domchristie/to-markdown#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "toobusy-js-^0.5.1" = nodeEnv.buildNodePackage {
+    name = "toobusy-js";
+    packageName = "toobusy-js";
+    version = "0.5.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/toobusy-js/-/toobusy-js-0.5.1.tgz";
+      sha1 = "5511f78f6a87a6a512d44fdb0efa13672217f659";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Don't fall over when your Node.JS server is too busy. Now without native dependencies!";
+      homepage = https://github.com/STRML/node-toobusy;
+      license = "WTFPL";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "uuid-^3.1.0" = nodeEnv.buildNodePackage {
+    name = "uuid";
+    packageName = "uuid";
+    version = "3.3.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz";
+      sha512 = "yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "RFC4122 (v1, v4, and v5) UUIDs";
+      homepage = "https://github.com/kelektiv/node-uuid#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "uws-~0.14.1" = nodeEnv.buildNodePackage {
+    name = "uws";
+    packageName = "uws";
+    version = "0.14.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/uws/-/uws-0.14.5.tgz";
+      sha1 = "67aaf33c46b2a587a5f6666d00f7691328f149dc";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Tiny WebSockets";
+      homepage = https://github.com/uWebSockets/uWebSockets;
+      license = "Zlib";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "validator-^10.4.0" = nodeEnv.buildNodePackage {
+    name = "validator";
+    packageName = "validator";
+    version = "10.5.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/validator/-/validator-10.5.0.tgz";
+      sha512 = "6OOi+eV2mOxCFLq0f2cJDrdB6lrtLXEUxabhNRGjgOLT/l3SSll9J49Cl+LIloUqkWWTPraK/mucEQ3dc2jStQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "String validation and sanitization";
+      homepage = http://github.com/chriso/validator.js;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "velocity-animate-^1.4.0" = nodeEnv.buildNodePackage {
+    name = "velocity-animate";
+    packageName = "velocity-animate";
+    version = "1.5.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/velocity-animate/-/velocity-animate-1.5.2.tgz";
+      sha512 = "m6EXlCAMetKztO1ppBhGU1/1MR3IiEevO6ESq6rcrSQ3Q77xYSW13jkfXW88o4xMrkXJhy/U7j4wFR/twMB0Eg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Accelerated JavaScript animation.";
+      homepage = http://velocityjs.org/;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "visibilityjs-^1.2.4" = nodeEnv.buildNodePackage {
+    name = "visibilityjs";
+    packageName = "visibilityjs";
+    version = "1.2.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/visibilityjs/-/visibilityjs-1.2.8.tgz";
+      sha512 = "Y+aL3OUX88b+/VSmkmC2ApuLbf0grzbNLpCfIDSw3BzTU6PqcPsdgIOaw8b+eZoy+DdQqnVN3y/Evow9vQq9Ig==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Wrapper for the Page Visibility API";
+      homepage = "https://github.com/ai/visibilityjs#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "viz.js-^1.7.0" = nodeEnv.buildNodePackage {
+    name = "viz.js";
+    packageName = "viz.js";
+    version = "1.8.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz";
+      sha512 = "W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A hack to put Graphviz on the web.";
+      homepage = https://github.com/mdaines/viz.js;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "winston-^2.3.0" = nodeEnv.buildNodePackage {
+    name = "winston";
+    packageName = "winston";
+    version = "2.4.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/winston/-/winston-2.4.3.tgz";
+      sha512 = "GYKuysPz2pxYAVJD2NPsDLP5Z79SDEzPm9/j4tCjkF/n89iBNGBMJcR+dMUqxgPNgoSs6fVygPi+Vl2oxIpBuw==";
+    };
+    dependencies = [
+      sources."async-1.0.0"
+      sources."colors-1.0.3"
+      sources."cycle-1.0.3"
+      sources."eyes-0.1.8"
+      sources."isstream-0.1.2"
+      sources."stack-trace-0.0.10"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A multi-transport async logging library for Node.js";
+      homepage = "https://github.com/winstonjs/winston#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+  "xss-^1.0.3" = nodeEnv.buildNodePackage {
+    name = "xss";
+    packageName = "xss";
+    version = "1.0.3";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/xss/-/xss-1.0.3.tgz";
+      sha512 = "LTpz3jXPLUphMMmyufoZRSKnqMj41OVypZ8uYGzvjkMV9C1EdACrhQl/EM8Qfh5htSAuMIQFOejmKAZGkJfaCg==";
+    };
+    dependencies = [
+      sources."commander-2.16.0"
+      sources."cssfilter-0.0.10"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Sanitize untrusted HTML (to prevent XSS) with a configuration specified by a Whitelist";
+      homepage = https://github.com/leizongmin/js-xss;
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = false;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/servers/web-apps/codimd/node.nix b/pkgs/servers/web-apps/codimd/node.nix
new file mode 100644
index 000000000000..8f3be4cc8c7f
--- /dev/null
+++ b/pkgs/servers/web-apps/codimd/node.nix
@@ -0,0 +1,17 @@
+# This file has been generated by node2nix 1.6.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
+
+let
+  nodeEnv = import ../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/servers/web-apps/frab/default.nix b/pkgs/servers/web-apps/frab/default.nix
index 657bd423f3f4..d6a5128b8130 100644
--- a/pkgs/servers/web-apps/frab/default.nix
+++ b/pkgs/servers/web-apps/frab/default.nix
@@ -48,5 +48,6 @@ stdenv.mkDerivation rec {
     description = "Web-based conference planning and management system";
     homepage = https://github.com/frab/frab;
     license = licenses.mit;
+    broken = true; # 2018-09-08; no successful hydra build since 2018-02-14
   };
 }
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index a4a26fd506bc..474a5b65b306 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "matomo-${version}";
-  version = "3.5.1";
+  version = "3.6.1";
 
   src = fetchurl {
     # TODO: As soon as the tarballs are renamed as well on future releases, this should be enabled again
     # url = "https://builds.matomo.org/${name}.tar.gz";
     url = "https://builds.matomo.org/piwik-${version}.tar.gz";
-    sha256 = "0ifrgaw30h4d6hwwzrz8i9k036dxzkxgh71y9s0ds10lhr8vidym";
+    sha256 = "0hddj1gyyriwgsh1mghihck2i7rj6gvb1i0b2ripcdfjnxcs47hz";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index 1023db4f6c50..c53bd9121728 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1002,11 +1002,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   libXinerama = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xineramaproto }: stdenv.mkDerivation {
-    name = "libXinerama-1.1.3";
+    name = "libXinerama-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2;
-      sha256 = "1qlqfvzw45gdzk9xirgwlp2qgj0hbsyiqj8yh8zml2bk2ygnjibs";
+      url = mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2;
+      sha256 = "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -1249,11 +1249,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, python, libXau, xcbproto, libXdmcp }: stdenv.mkDerivation {
-    name = "libxcb-1.12";
+    name = "libxcb-1.13.1";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2;
-      sha256 = "0nvv0la91cf8p5qqlb3r5xnmg1jn2wphn4fb5jfbr6byqsvv3psa";
+      url = http://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2;
+      sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -1587,11 +1587,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   xcbproto = callPackage ({ stdenv, pkgconfig, fetchurl, python }: stdenv.mkDerivation {
-    name = "xcb-proto-1.12";
+    name = "xcb-proto-1.13";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2;
-      sha256 = "01j91946q8f34l1mbvmmgvyc393sm28ym4lxlacpiav4qsjan8jr";
+      url = http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2;
+      sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
@@ -1925,11 +1925,11 @@ lib.makeScope newScope (self: with self; {
   }) {};
 
   xf86inputlibinput = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, xorgserver, xproto }: stdenv.mkDerivation {
-    name = "xf86-input-libinput-0.26.0";
+    name = "xf86-input-libinput-0.28.0";
     builder = ./builder.sh;
     src = fetchurl {
-      url = mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2;
-      sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
+      url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2;
+      sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
     };
     hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 17b42e416ab6..107d5ce18b8c 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -1,6 +1,6 @@
 http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2
-http://xcb.freedesktop.org/dist/libxcb-1.12.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-proto-1.12.tar.bz2
+http://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2
+http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2
 https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 4cd121153cf4..4772ac7f7ee2 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -2,10 +2,10 @@
   stdenv, makeWrapper, lib, fetchurl, fetchpatch,
 
   automake, autoconf, libtool, intltool, mtdev, libevdev, libinput,
-  python, freetype, apple_sdk, tradcpp, fontconfig, mesa_drivers,
+  python, freetype, apple_sdk, tradcpp, fontconfig,
   libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
   mesa_noglu, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
-  mcpp, epoxy, openssl, pkgconfig }:
+  mcpp, epoxy, openssl, pkgconfig, llvm_6 }:
 
 let
   inherit (stdenv) lib isDarwin;
@@ -346,10 +346,10 @@ self: super:
   });
 
   xf86inputlibinput = super.xf86inputlibinput.overrideAttrs (attrs: rec {
-    name = "xf86-input-libinput-0.26.0";
+    name = "xf86-input-libinput-0.28.0";
     src = fetchurl {
       url = "mirror://xorg/individual/driver/${name}.tar.bz2";
-      sha256 = "0yrqs88b7yn9nljwlxzn76jfmvf0sh939kzij5b2jvr2qa7mbjmb";
+      sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
     };
     outputs = [ "out" "dev" ];
     buildInputs = attrs.buildInputs ++ [ libinput ];
@@ -394,7 +394,7 @@ self: super:
   });
 
   xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: {
-    buildInputs =  attrs.buildInputs ++ [ mesa_drivers ]; # for libxatracker
+    buildInputs =  attrs.buildInputs ++ [ mesa_noglu llvm_6 ]; # for libxatracker
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index fb1dc378b51b..a832302abdc5 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -73,7 +73,7 @@ mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2
 mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2
 mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2
 mirror://xorg/individual/lib/libXi-1.7.9.tar.bz2
-mirror://xorg/individual/lib/libXinerama-1.1.3.tar.bz2
+mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2
 mirror://xorg/individual/lib/libxkbfile-1.0.9.tar.bz2
 mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2
 mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2
@@ -123,7 +123,7 @@ mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2
 mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2
 mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2
 mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2
-mirror://xorg/individual/driver/xf86-input-libinput-0.26.0.tar.bz2
+mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2
 mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2
 mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2
diff --git a/pkgs/servers/x11/xorg/xcb-util-xrm.nix b/pkgs/servers/x11/xorg/xcb-util-xrm.nix
index 5a315b99b08b..0a008227b9fb 100644
--- a/pkgs/servers/x11/xorg/xcb-util-xrm.nix
+++ b/pkgs/servers/x11/xorg/xcb-util-xrm.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, m4, libxcb, xcbutil, libX11 }:
 
 stdenv.mkDerivation rec {
-  version = "1.2";
+  version = "1.3";
   name = "xcb-util-xrm-${version}";
 
   src = fetchurl {
     url = "https://github.com/Airblader/xcb-util-xrm/releases/download/v${version}/${name}.tar.bz2";
-    sha256 = "0vbqhag51i0njc8d5fc8c6aa12496cwrc3s6s7sa5kfc17cwhppp";
+    sha256 = "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h";
   };
 
   nativeBuildInputs = [ pkgconfig m4 ];