summary refs log tree commit diff
diff options
context:
space:
mode:
authorgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>2021-10-13 00:02:00 +0000
committerGitHub <noreply@github.com>2021-10-13 00:02:00 +0000
commite69f5a133fb4dc6dab03549db2f3c020602b854a (patch)
tree2beb3ef6cf7d8bfbd7017f8af2577003b16325df
parent12dd9090127fb08247fd7379182b8b047f3a6320 (diff)
parent87ef3e2688883e03eabf7cd9f096742f445a50fd (diff)
downloadnixpkgs-e69f5a133fb4dc6dab03549db2f3c020602b854a.tar
nixpkgs-e69f5a133fb4dc6dab03549db2f3c020602b854a.tar.gz
nixpkgs-e69f5a133fb4dc6dab03549db2f3c020602b854a.tar.bz2
nixpkgs-e69f5a133fb4dc6dab03549db2f3c020602b854a.tar.lz
nixpkgs-e69f5a133fb4dc6dab03549db2f3c020602b854a.tar.xz
nixpkgs-e69f5a133fb4dc6dab03549db2f3c020602b854a.tar.zst
nixpkgs-e69f5a133fb4dc6dab03549db2f3c020602b854a.zip
Merge staging-next into staging
-rw-r--r--maintainers/maintainer-list.nix12
-rw-r--r--maintainers/team-list.nix2
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml7
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md2
-rw-r--r--nixos/modules/services/networking/ssh/sshd.nix2
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix4
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json6
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix68
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-web.nix4
-rwxr-xr-xpkgs/applications/networking/instant-messengers/element/update-element-desktop.sh4
-rw-r--r--pkgs/applications/office/calligra/default.nix13
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix29
-rw-r--r--pkgs/applications/science/logic/yices/default.nix8
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/window-managers/i3/default.nix14
-rw-r--r--pkgs/data/icons/luna-icons/default.nix4
-rw-r--r--pkgs/development/libraries/irrlicht/default.nix15
-rw-r--r--pkgs/development/libraries/openfst/default.nix4
-rw-r--r--pkgs/development/libraries/opengrm-ngram/default.nix4
-rw-r--r--pkgs/development/python-modules/ailment/default.nix4
-rw-r--r--pkgs/development/python-modules/aiomusiccast/default.nix4
-rw-r--r--pkgs/development/python-modules/angr/default.nix4
-rw-r--r--pkgs/development/python-modules/angrop/default.nix4
-rw-r--r--pkgs/development/python-modules/archinfo/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-network/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-rdbms/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-multiapi-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/cachetools/default.nix12
-rw-r--r--pkgs/development/python-modules/claripy/default.nix4
-rw-r--r--pkgs/development/python-modules/cle/default.nix4
-rw-r--r--pkgs/development/python-modules/ihatemoney/default.nix75
-rw-r--r--pkgs/development/python-modules/ihatemoney/remove_flask_script.patch284
-rw-r--r--pkgs/development/python-modules/immutabledict/default.nix4
-rw-r--r--pkgs/development/python-modules/lsassy/default.nix11
-rw-r--r--pkgs/development/python-modules/millheater/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhaversion/default.nix4
-rw-r--r--pkgs/development/python-modules/pytautulli/default.nix52
-rw-r--r--pkgs/development/python-modules/python-telegram-bot/default.nix4
-rw-r--r--pkgs/development/python-modules/pytradfri/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvex/default.nix4
-rw-r--r--pkgs/development/python-modules/qualysclient/default.nix55
-rw-r--r--pkgs/development/python-modules/sqlalchemy-continuum/default.nix2
-rw-r--r--pkgs/development/python-modules/systembridge/default.nix4
-rw-r--r--pkgs/development/python-modules/types-decorator/default.nix4
-rw-r--r--pkgs/development/python-modules/types-futures/default.nix4
-rw-r--r--pkgs/development/python-modules/types-protobuf/default.nix4
-rw-r--r--pkgs/development/python-modules/types-pytz/default.nix4
-rw-r--r--pkgs/development/python-modules/types-requests/default.nix4
-rw-r--r--pkgs/development/python-modules/vertica-python/default.nix4
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--pkgs/development/tools/rust/devserver/default.nix29
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix8
-rw-r--r--pkgs/misc/emulators/zesarux/default.nix89
-rw-r--r--pkgs/os-specific/linux/kernel/perf.nix6
-rw-r--r--pkgs/os-specific/linux/mceinject/default.nix38
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix4
-rw-r--r--pkgs/servers/home-assistant/default.nix10
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/http/couchdb/3.nix12
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix4
-rwxr-xr-xpkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh6
-rw-r--r--pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix1673
-rw-r--r--pkgs/servers/mycorrhiza/default.nix34
-rw-r--r--pkgs/tools/admin/damon/default.nix22
-rw-r--r--pkgs/tools/backup/kopia/default.nix6
-rw-r--r--pkgs/tools/misc/ccze/default.nix9
-rw-r--r--pkgs/tools/misc/contacts/default.nix4
-rw-r--r--pkgs/tools/misc/profile-sync-daemon/default.nix2
-rw-r--r--pkgs/tools/misc/sdate/default.nix11
-rw-r--r--pkgs/tools/misc/txt2man/default.nix30
-rw-r--r--pkgs/tools/misc/xtitle/default.nix12
-rw-r--r--pkgs/tools/text/mdbook-graphviz/default.nix26
-rw-r--r--pkgs/top-level/all-packages.nix25
-rw-r--r--pkgs/top-level/python-packages.nix4
77 files changed, 2324 insertions, 552 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 0ad951e1d16..c288e8c2ff4 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -896,6 +896,12 @@
     githubId = 1296771;
     name = "Anders Riutta";
   };
+  arkivm = {
+    email = "vikram186@gmail.com";
+    github = "arkivm";
+    githubId = 1118815;
+    name = "Vikram Narayanan";
+  };
   armijnhemel = {
     email = "armijn@tjaldur.nl";
     github = "armijnhemel";
@@ -1909,6 +1915,12 @@
     email = "me@philscotted.com";
     name = "Phil Scott";
   };
+  chekoopa = {
+    email = "chekoopa@mail.ru";
+    github = "chekoopa";
+    githubId = 1689801;
+    name = "Mikhail Chekan";
+  };
   ChengCat = {
     email = "yu@cheng.cat";
     github = "ChengCat";
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 9171c10da46..75a7940aa87 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -137,7 +137,7 @@ with lib.maintainers; {
       cleverca22
       disassembler
       jonringer
-      maveru
+      manveru
       nrdxp
     ];
     scope = "Input-Output Global employees, which maintain critical software";
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
index 2c544ebe872..50aa9a5416a 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml
@@ -1513,6 +1513,13 @@ Superuser created successfully.
           <literal>/etc/xdg/mimeapps.list</literal>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          Kopia was upgraded from 0.8.x to 0.9.x. Please read the
+          <link xlink:href="https://github.com/kopia/kopia/releases/tag/v0.9.0">upstream
+          release notes</link> for changes and upgrade instructions.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
 </section>
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index f5f37efbaba..615c3160176 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -438,3 +438,5 @@ In addition to numerous new and upgraded packages, this release has the followin
   directories, thus increasing the purity of the build.
 
 - Three new options, [xdg.mime.addedAssociations](#opt-xdg.mime.addedAssociations), [xdg.mime.defaultApplications](#opt-xdg.mime.defaultApplications), and [xdg.mime.removedAssociations](#opt-xdg.mime.removedAssociations) have been added to the [xdg.mime](#opt-xdg.mime.enable) module to allow the configuration of `/etc/xdg/mimeapps.list`.
+
+- Kopia was upgraded from 0.8.x to 0.9.x. Please read the [upstream release notes](https://github.com/kopia/kopia/releases/tag/v0.9.0) for changes and upgrade instructions.
diff --git a/nixos/modules/services/networking/ssh/sshd.nix b/nixos/modules/services/networking/ssh/sshd.nix
index 192533e52de..004b4f99670 100644
--- a/nixos/modules/services/networking/ssh/sshd.nix
+++ b/nixos/modules/services/networking/ssh/sshd.nix
@@ -439,7 +439,7 @@ in
                 mkdir -m 0755 -p /etc/ssh
 
                 ${flip concatMapStrings cfg.hostKeys (k: ''
-                  if ! [ -f "${k.path}" ]; then
+                  if ! [ -s "${k.path}" ]; then
                       ssh-keygen \
                         -t "${k.type}" \
                         ${if k ? bits then "-b ${toString k.bits}" else ""} \
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index d06abfea445..64fdf50a0d1 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, libtool
 , bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
-, lcms2, openexr, libjxl, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
+, lcms2, openexr, libjxl, libpng, liblqr1, libraw, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
 , ApplicationServices
 , Foundation
 , testVersion, imagemagick
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
 
   buildInputs =
     [ zlib fontconfig freetype ghostscript
-      liblqr1 libpng libtiff libxml2 libheif djvulibre
+      liblqr1 libpng libraw libtiff libxml2 libheif djvulibre
     ]
     # libjxl is broken on aarch64 (see meta.broken in libjxl) for now,
     # let's disable it for now to unbreak the imagemagick build.
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index dcd0aa498c5..1acc5655d83 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.19.0";
+  version = "0.20.2";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-sqCq9/QFygFcOUNCCBReD+eEk/8gvhMsuVD3g/ZPAFg=";
+    sha256 = "sha256-jqRxNd6lx1hnOa4F3m3YOr8ZBnSKQBz0XVC5absf9mM=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 6928496ae69..c0542014b7e 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-I3U2Jh+PSF+j8Kuv5RejYwiMC1JYBpkYQGsgIFi7LL0=";
+    sha256 = "sha256-iJ6+tc5nls8E/9/Jp5OS9gfJo8SJ5bN+Im/JzEYEAfI=";
     fetchSubmodules = true;
   };
 
@@ -61,8 +61,5 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     maintainers = with maintainers; [ sikmir ];
     platforms = platforms.unix;
-    # macOS SDK 10.13 or later required
-    # See https://github.com/NixOS/nixpkgs/issues/101229
-    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
index f1bce0b8fc0..9cca8b95b82 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-package.json
@@ -2,7 +2,7 @@
   "name": "element-desktop",
   "productName": "Element",
   "main": "lib/electron-main.js",
-  "version": "1.9.0",
+  "version": "1.9.2",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
@@ -57,7 +57,7 @@
     "allchange": "^1.0.2",
     "asar": "^2.0.1",
     "chokidar": "^3.5.2",
-    "electron": "13",
+    "electron": "13.5",
     "electron-builder": "22.11.4",
     "electron-builder-squirrel-windows": "22.11.4",
     "electron-devtools-installer": "^3.1.1",
@@ -83,7 +83,7 @@
   },
   "build": {
     "appId": "im.riot.app",
-    "electronVersion": "13.4.0",
+    "electronVersion": "13.5.1",
     "files": [
       "package.json",
       {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
index 3aeaf58dbc2..f17cfd900a5 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop-yarndeps.nix
@@ -730,6 +730,14 @@
       };
     }
     {
+      name = "_types_node___node_14.17.21.tgz";
+      path = fetchurl {
+        name = "_types_node___node_14.17.21.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.21.tgz";
+        sha1 = "6359d8cf73481e312a43886fa50afc70ce5592c6";
+      };
+    }
+    {
       name = "_types_plist___plist_3.0.2.tgz";
       path = fetchurl {
         name = "_types_plist___plist_3.0.2.tgz";
@@ -1626,11 +1634,11 @@
       };
     }
     {
-      name = "core_js___core_js_3.17.3.tgz";
+      name = "core_js___core_js_3.18.2.tgz";
       path = fetchurl {
-        name = "core_js___core_js_3.17.3.tgz";
-        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.17.3.tgz";
-        sha1 = "8e8bd20e91df9951e903cabe91f9af4a0895bc1e";
+        name = "core_js___core_js_3.18.2.tgz";
+        url  = "https://registry.yarnpkg.com/core-js/-/core-js-3.18.2.tgz";
+        sha1 = "63a551e8a29f305cd4123754846e65896619ba5b";
       };
     }
     {
@@ -2002,11 +2010,11 @@
       };
     }
     {
-      name = "electron___electron_13.4.0.tgz";
+      name = "electron___electron_13.5.1.tgz";
       path = fetchurl {
-        name = "electron___electron_13.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/electron/-/electron-13.4.0.tgz";
-        sha1 = "f9f9e518d8c6bf23bfa8b69580447eea3ca0f880";
+        name = "electron___electron_13.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/electron/-/electron-13.5.1.tgz";
+        sha1 = "76c02c39be228532f886a170b472cbd3d93f0d0f";
       };
     }
     {
@@ -2154,13 +2162,21 @@
       };
     }
     {
-      name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
-      path = fetchurl {
-        name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
-        url  = "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/2306b3d4da4eba908b256014b979f1d3d43d2945";
-        sha1 = "e82e07e6163d15ee5243d8df073947540bf0efc9";
-      };
-    }
+    name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
+    path =
+      let
+        repo = fetchgit {
+          url = "https://github.com/matrix-org/eslint-plugin-matrix-org.git";
+          rev = "2306b3d4da4eba908b256014b979f1d3d43d2945";
+          sha256 = "0ywgrls2phviz47kzsjrxijkdbs1ky77471fbq9cnpj0fs3si81c";
+        };
+      in
+        runCommand "2306b3d4da4eba908b256014b979f1d3d43d2945" { buildInputs = [gnutar]; } ''
+          # Set u+w because tar-fs can't unpack archives with read-only dirs
+          # https://github.com/mafintosh/tar-fs/issues/79
+          tar cf $out --mode u+w -C ${repo} .
+        '';
+  }
     {
       name = "eslint_scope___eslint_scope_5.1.1.tgz";
       path = fetchurl {
@@ -3506,13 +3522,21 @@
       };
     }
     {
-      name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
-      path = fetchurl {
-        name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
-        url  = "https://codeload.github.com/matrix-org/matrix-web-i18n/tar.gz/e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
-        sha1 = "efbc392e3523669d20b812a6dae2f6efb49b888d";
-      };
-    }
+    name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
+    path =
+      let
+        repo = fetchgit {
+          url = "https://github.com/matrix-org/matrix-web-i18n.git";
+          rev = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
+          sha256 = "0whjmf23m3204ifgx3spfnlg9pwm956fc16gjxgp9ia0d93xrpn6";
+        };
+      in
+        runCommand "e5c7071e0cdf715de87ef39dc8260e11d7add2f8" { buildInputs = [gnutar]; } ''
+          # Set u+w because tar-fs can't unpack archives with read-only dirs
+          # https://github.com/mafintosh/tar-fs/issues/79
+          tar cf $out --mode u+w -C ${repo} .
+        '';
+  }
     {
       name = "memoizee___memoizee_0.4.15.tgz";
       path = fetchurl {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index c14f408441f..bcd6dac47e0 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -19,12 +19,12 @@
 
 let
   executableName = "element-desktop";
-  version = "1.9.0";
+  version = "1.9.2";
   src = fetchFromGitHub {
     owner = "vector-im";
     repo = "element-desktop";
     rev = "v${version}";
-    sha256 = "sha256-vsLu41n3oCSyyPLgASs7jZViu6DPkWmMfSO7414VPO4=";
+    sha256 = "sha256-F1uyyBbs+U7tQzRtn+p923Z/BY8Nwxr/JTMYwsak8W8=";
   };
   electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
 in
diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/applications/networking/instant-messengers/element/element-web.nix
index d1f128dda15..ca10fb2131f 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-web.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-web.nix
@@ -12,11 +12,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "element-web";
-  version = "1.9.0";
+  version = "1.9.2";
 
   src = fetchurl {
     url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
-    sha256 = "sha256-QMLa1Bgz9feAAR9PKVXAzlRDztJBZnGIG+SsPgwvYRw=";
+    sha256 = "sha256-Qkn0vyZGvBAeOfTzxydWzjFQJwY39INAhwZNX4xsM7U=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/element/update-element-desktop.sh b/pkgs/applications/networking/instant-messengers/element/update-element-desktop.sh
index 69d0d3d7072..3bbc2f3fb4f 100755
--- a/pkgs/applications/networking/instant-messengers/element/update-element-desktop.sh
+++ b/pkgs/applications/networking/instant-messengers/element/update-element-desktop.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix
+#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix nix-prefetch-git
 
 set -euo pipefail
 
@@ -13,5 +13,5 @@ RIOT_WEB_SRC="https://raw.githubusercontent.com/vector-im/element-desktop/$1"
 
 wget "$RIOT_WEB_SRC/package.json" -O element-desktop-package.json
 wget "$RIOT_WEB_SRC/yarn.lock" -O element-desktop-yarndeps.lock
-yarn2nix --lockfile=element-desktop-yarndeps.lock > element-desktop-yarndeps.nix
+yarn2nix --no-patch --lockfile=element-desktop-yarndeps.lock > element-desktop-yarndeps.nix
 rm element-desktop-yarndeps.lock
diff --git a/pkgs/applications/office/calligra/default.nix b/pkgs/applications/office/calligra/default.nix
index 2ecc334c3d2..03437742612 100644
--- a/pkgs/applications/office/calligra/default.nix
+++ b/pkgs/applications/office/calligra/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchurl, extra-cmake-modules, kdoctools
+{ mkDerivation, lib, fetchpatch, fetchurl, extra-cmake-modules, kdoctools
 , boost, qtwebkit, qtx11extras, shared-mime-info
 , breeze-icons, kactivities, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets
 , kcoreaddons, kdbusaddons, kdiagram, kguiaddons, khtml, ki18n
@@ -21,6 +21,17 @@ mkDerivation rec {
     sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i";
   };
 
+  patches = [
+    # Fix fontconfig underlinking: https://github.com/NixOS/nixpkgs/issues/137794
+    # Can be dropped on next release.
+    (fetchpatch {
+      name = "fix-fontconfig-linking.patch";
+      url = "https://github.com/KDE/calligra/commit/62f510702ef9c34ac50f8d8601a4290ab558464c.patch";
+      sha256 = "11dzrp9q05dmvnwp4vk4ihcibqcf4xyr0ijscpi716cyy730flma";
+      excludes = [ "CMakeLists.txt" ];
+    })
+  ];
+
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
   buildInputs = [
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index b539df7592a..bb6af8a20fd 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -1,16 +1,29 @@
-{ lib, stdenv, fetchurl, glib, gtk3, gperf, pkg-config, bzip2, tcl, tk, wrapGAppsHook, judy, xz }:
+{ bzip2
+, fetchurl
+, glib
+, gperf
+, gtk3
+, judy
+, lib
+, pkg-config
+, stdenv
+, tcl
+, tk
+, wrapGAppsHook
+, xz
+}:
 
 stdenv.mkDerivation rec {
   pname = "gtkwave";
-  version = "3.3.110";
+  version = "3.3.111";
 
   src = fetchurl {
-    url    = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
-    sha256 = "sha256-Ku25IVa8ot3SWxODeMrOaxBY5X022TnvD3l2kAa3Wao=";
+    url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
+    sha256 = "0cv222qhgldfniz6zys52zhrynfsp5v0h8ia857lng7v33vw5qdl";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
-  buildInputs = [ glib gtk3 gperf bzip2 tcl tk judy xz ];
+  buildInputs = [ bzip2 glib gperf gtk3 judy tcl tk xz ];
 
   configureFlags = [
     "--with-tcl=${tcl}/lib"
@@ -21,9 +34,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "VCD/Waveform viewer for Unix and Win32";
-    homepage    = "http://gtkwave.sourceforge.net";
-    license     = lib.licenses.gpl2Plus;
+    homepage = "http://gtkwave.sourceforge.net";
+    license = lib.licenses.gpl2Plus;
     maintainers = with lib.maintainers; [ thoughtpolice ];
-    platforms   = lib.platforms.linux;
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix
index c26504bf7bd..55b773b976c 100644
--- a/pkgs/applications/science/logic/yices/default.nix
+++ b/pkgs/applications/science/logic/yices/default.nix
@@ -1,18 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, gmp-static, gperf, autoreconfHook, libpoly }:
+{ lib, stdenv, fetchFromGitHub, cudd, gmp-static, gperf, autoreconfHook, libpoly }:
 
 stdenv.mkDerivation rec {
   pname = "yices";
-  version = "2.6.1";
+  version = "2.6.3";
 
   src = fetchFromGitHub {
     owner  = "SRI-CSL";
     repo   = "yices2";
     rev    = "Yices-${version}";
-    sha256 = "04vf468spsh00jh7gj94cjnq8kjyfwy9l6r4z7l2pm0zgwkqgyhm";
+    sha256 = "01fi818lbkwilfcf1dz2dpxkcc1kh8ls0sl5aynyx9pwfn2v03zl";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs       = [ gmp-static gperf libpoly ];
+  buildInputs = [ cudd gmp-static gperf libpoly ];
   configureFlags =
     [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a"
       "--with-static-gmp-include-dir=${gmp-static.dev}/include"
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 65411c77ec6..4126eabed2e 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-repo";
-  version = "2.17";
+  version = "2.17.1";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-/6BAGZo8GwsmXXGLJ2oTxIbgOCwP5p6Vh4wABSvAGZM=";
+    sha256 = "sha256-ZVwMfjlKga47oXf6g/P2IAMu6Fcuj8BbRahniTZXmTg=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/window-managers/i3/default.nix b/pkgs/applications/window-managers/i3/default.nix
index a51c80bf083..7aa62e69df9 100644
--- a/pkgs/applications/window-managers/i3/default.nix
+++ b/pkgs/applications/window-managers/i3/default.nix
@@ -1,7 +1,9 @@
 { fetchurl, lib, stdenv, pkg-config, makeWrapper, meson, ninja, installShellFiles, libxcb, xcbutilkeysyms
 , xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification, libX11, pcre, libev
 , yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon
-, xorgserver, xvfb-run }:
+, xorgserver, xvfb-run
+, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
+}:
 
 stdenv.mkDerivation rec {
   pname = "i3";
@@ -12,7 +14,15 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk=";
   };
 
-  nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ];
+  nativeBuildInputs = [
+    pkg-config makeWrapper meson ninja installShellFiles
+    asciidoc xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
+  ];
+
+  mesonFlags = [
+    "-Ddocs=true"
+    "-Dmans=true"
+  ];
 
   buildInputs = [
     libxcb xcbutilkeysyms xcbutil xcbutilwm xcbutilxrm libxkbcommon
diff --git a/pkgs/data/icons/luna-icons/default.nix b/pkgs/data/icons/luna-icons/default.nix
index efdea602c35..3a40ef978e3 100644
--- a/pkgs/data/icons/luna-icons/default.nix
+++ b/pkgs/data/icons/luna-icons/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "luna-icons";
-  version = "1.4";
+  version = "1.6";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qYFyZT1mLNHBRrX/NX2pmt9P5n8urEK/msQMctSckzE=";
+    sha256 = "1iw9wqfs8s3l5k5ngyjmvvxbsxcsya3a6h1xwl6d603swv7h1s02";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/irrlicht/default.nix b/pkgs/development/libraries/irrlicht/default.nix
index 260be948ce1..7a68f130663 100644
--- a/pkgs/development/libraries/irrlicht/default.nix
+++ b/pkgs/development/libraries/irrlicht/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchzip, libGLU, libGL, libXrandr, libX11, libXxf86vm }:
+{ lib, stdenv, fetchzip, libGLU, libGL, libXrandr, libX11, libXxf86vm, zlib }:
 
 let
   common = import ./common.nix { inherit fetchzip; };
@@ -12,22 +12,29 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     sed -ie '/sys\/sysctl.h/d' source/Irrlicht/COSOperator.cpp
+  '' + lib.optionalString stdenv.isAarch64 ''
+    substituteInPlace source/Irrlicht/Makefile \
+      --replace "-DIRRLICHT_EXPORTS=1" "-DIRRLICHT_EXPORTS=1 -DPNG_ARM_NEON_OPT=0"
   '';
 
   preConfigure = ''
     cd source/Irrlicht
   '';
 
-  buildPhase = ''
-    make sharedlib NDEBUG=1 "LDFLAGS=-lX11 -lGL -lXxf86vm"
+  preBuild = ''
+    makeFlagsArray+=(sharedlib NDEBUG=1 LDFLAGS="-lX11 -lGL -lXxf86vm")
   '';
 
+  enableParallelBuilding = true;
+
   preInstall = ''
     sed -i s,/usr/local/lib,$out/lib, Makefile
     mkdir -p $out/lib
   '';
 
-  buildInputs = [ libGLU libGL libXrandr libX11 libXxf86vm ];
+  buildInputs = [
+    libGLU libGL libXrandr libX11 libXxf86vm
+  ] ++ lib.optional stdenv.isAarch64 zlib;
 
   meta = {
     homepage = "http://irrlicht.sourceforge.net/";
diff --git a/pkgs/development/libraries/openfst/default.nix b/pkgs/development/libraries/openfst/default.nix
index 51e661eabb3..08767680ffd 100644
--- a/pkgs/development/libraries/openfst/default.nix
+++ b/pkgs/development/libraries/openfst/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "openfst";
-  version = "1.7.9";
+  version = "1.8.1";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${pname}-${version}.tar.gz";
-    sha256 = "1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck";
+    sha256 = "sha256-JPtTtyu2h+P6julscqMf8pINmbmAoKj2HdpCb8pnE/A=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/opengrm-ngram/default.nix b/pkgs/development/libraries/opengrm-ngram/default.nix
index 9b105808b8b..3b00ae17e91 100644
--- a/pkgs/development/libraries/opengrm-ngram/default.nix
+++ b/pkgs/development/libraries/opengrm-ngram/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "opengrm-ngram";
-  version = "1.3.11";
+  version = "1.3.13";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/GRM/NGramDownload/ngram-${version}.tar.gz";
-    sha256 = "0wwpcj8qncdr9f2pmi0vhlw277dyxr85ygdi8g57xp2ifysigm05";
+    sha256 = "sha256-5CXf6OXs7owny3yZQrWYA6yhIyN0dgA2B8TSDEUTF1Q=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/python-modules/ailment/default.nix b/pkgs/development/python-modules/ailment/default.nix
index f98cf112eb1..8d719f4c335 100644
--- a/pkgs/development/python-modules/ailment/default.nix
+++ b/pkgs/development/python-modules/ailment/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "ailment";
-  version = "9.0.10072";
+  version = "9.0.10159";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sUyR9X/+JedJGsiQQuwgJQB5e1+S1I516P5jDCQRzAw=";
+    sha256 = "sha256-45wdHlAkuzLqwy3B7bEm2fhHD8iT5xSVmeRGOa2SNnI=";
   };
 
   propagatedBuildInputs = [ pyvex ];
diff --git a/pkgs/development/python-modules/aiomusiccast/default.nix b/pkgs/development/python-modules/aiomusiccast/default.nix
index 5e8e9327c4f..d64f936ef1d 100644
--- a/pkgs/development/python-modules/aiomusiccast/default.nix
+++ b/pkgs/development/python-modules/aiomusiccast/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aiomusiccast";
-  version = "0.9.2";
+  version = "0.10.0";
 
   format = "pyproject";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "vigonotion";
     repo = "aiomusiccast";
     rev = version;
-    sha256 = "sha256-xZPNEynj0kbeika15ZDEIRUe519V6Asaw+CEiBu7VL4=";
+    sha256 = "sha256-UdWZLthpCuKLjASVwi4GTkrHY+K9c1xrNYVLezC/NGM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/angr/default.nix b/pkgs/development/python-modules/angr/default.nix
index 342ff82c3af..21539a93f4b 100644
--- a/pkgs/development/python-modules/angr/default.nix
+++ b/pkgs/development/python-modules/angr/default.nix
@@ -43,14 +43,14 @@ in
 
 buildPythonPackage rec {
   pname = "angr";
-  version = "9.0.10072";
+  version = "9.0.10159";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mdGcEeuWXo0Qyi8+mU8RSpUoTbUkVBmduTz3B4TW2zg=";
+    sha256 = "sha256-j3SbKBoREeB4IJmXVm27K4C1FLcZwqFMFXQwWnMtE0g=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/angrop/default.nix b/pkgs/development/python-modules/angrop/default.nix
index a71c6e3c7ef..71690bf31b2 100644
--- a/pkgs/development/python-modules/angrop/default.nix
+++ b/pkgs/development/python-modules/angrop/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "angrop";
-  version = "9.0.10072";
+  version = "9.0.10159";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FTKvGhONDUifwZhoKBXTZQFNbC/vTcHdLIge3j6U8uo=";
+    sha256 = "sha256-gVYriEt0/DPB0lDK9hGSnipGLCZtSOf27gtF8KwCMDA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/archinfo/default.nix b/pkgs/development/python-modules/archinfo/default.nix
index e20cb09326f..88bb434a2cc 100644
--- a/pkgs/development/python-modules/archinfo/default.nix
+++ b/pkgs/development/python-modules/archinfo/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "archinfo";
-  version = "9.0.10072";
+  version = "9.0.10159";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Nwt2QD+A67Lbgzg/HSR+yaNWk9+EsUWA5nxm4JTikS8=";
+    sha256 = "sha256-WkA4vSXzndd7ldNBVagEEodj+2GuYg9OURnMLhRq8W8=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-network/default.nix b/pkgs/development/python-modules/azure-mgmt-network/default.nix
index 792501b24e7..20d3db5669a 100644
--- a/pkgs/development/python-modules/azure-mgmt-network/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-network/default.nix
@@ -10,14 +10,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "19.0.0";
+  version = "19.1.0";
   pname = "azure-mgmt-network";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "5e39a26ae81fa58c13c02029700f8c7b22c3fd832a294c543e3156a91b9459e8";
+    sha256 = "62ef7fe8ba98e56412b434c9c35dc755b3c5e469f2c01bbed2ce0d12973a044b";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix b/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
index 59f3e7189f9..626a60d7c99 100644
--- a/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-rdbms/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-rdbms";
-  version = "9.1.0";
+  version = "10.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "f738d9e6db8f6da6bb4e84e59dd0548c8adef948357a447337e78d1035ac960a";
+    sha256 = "bdc479b3bbcac423943d63e746a81dd5fc80b46a4dbb4393e760016e3fa4f74a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-multiapi-storage/default.nix b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
index be011a1ed00..ea6f47183ab 100644
--- a/pkgs/development/python-modules/azure-multiapi-storage/default.nix
+++ b/pkgs/development/python-modules/azure-multiapi-storage/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.6.2";
+  version = "0.7.0";
   pname = "azure-multiapi-storage";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "74061f99730fa82c54d9b8ab3c7d6e219da3f30912740ecf0456b20cb3555ebc";
+    sha256 = "cd4f184be8c9ca8aca969f93ed50dc7fe556d28ca11520440fc182cf876abdf9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cachetools/default.nix b/pkgs/development/python-modules/cachetools/default.nix
index fe7ad48274e..21529174eb2 100644
--- a/pkgs/development/python-modules/cachetools/default.nix
+++ b/pkgs/development/python-modules/cachetools/default.nix
@@ -1,24 +1,26 @@
 { lib
 , buildPythonPackage
-, isPy27
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "cachetools";
-  version = "4.2.2";
+  version = "4.2.3";
 
-  disabled = isPy27;
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tkem";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JTm8ht2Ubn34uQLR0yjUjXSdDQggWfYUlS0T628OUoI=";
+    sha256 = "sha256-9CHXvb+Nn3N2oWHwNbqKguzDO/q+4EnMZ50+E+MWS/A=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [ "cachetools" ];
 
diff --git a/pkgs/development/python-modules/claripy/default.nix b/pkgs/development/python-modules/claripy/default.nix
index 584067e1024..8a1da0241c9 100644
--- a/pkgs/development/python-modules/claripy/default.nix
+++ b/pkgs/development/python-modules/claripy/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "claripy";
-  version = "9.0.10072";
+  version = "9.0.10159";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bsFfp1ocgHhe0/1wWwgnXDQm37gmWQylZvy6HiyQGSw=";
+    sha256 = "sha256-0I3ITMCOuYm5fmmnQN+zy9lunvfsLb1qlUzSOnPGwlQ=";
   };
 
   # Use upstream z3 implementation
diff --git a/pkgs/development/python-modules/cle/default.nix b/pkgs/development/python-modules/cle/default.nix
index c5dea6ece1c..7cdfec13c87 100644
--- a/pkgs/development/python-modules/cle/default.nix
+++ b/pkgs/development/python-modules/cle/default.nix
@@ -15,7 +15,7 @@
 
 let
   # The binaries are following the argr projects release cycle
-  version = "9.0.10072";
+  version = "9.0.10159";
 
   # Binary files from https://github.com/angr/binaries (only used for testing and only here)
   binaries = fetchFromGitHub {
@@ -35,7 +35,7 @@ buildPythonPackage rec {
     owner = "angr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uY0Pp+BssnkQvF8fsVlRW2Wj/JmMBSBudDf9AHekBtw=";
+    sha256 = "sha256-DkddaVmSIQToF5b7uj+96vCSZU0cJdfqIDSwDIFEEyI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ihatemoney/default.nix b/pkgs/development/python-modules/ihatemoney/default.nix
index 3e36b4dd8e2..fc1cb34d32c 100644
--- a/pkgs/development/python-modules/ihatemoney/default.nix
+++ b/pkgs/development/python-modules/ihatemoney/default.nix
@@ -1,4 +1,10 @@
-{ buildPythonPackage, lib, fetchFromGitHub, isPy27, nixosTests, fetchpatch, fetchPypi
+{ buildPythonPackage
+, lib
+, fetchFromGitHub
+, isPy27
+, nixosTests
+, fetchpatch
+, fetchPypi
 , alembic
 , aniso8601
 , Babel
@@ -12,7 +18,6 @@
 , flask_mail
 , flask_migrate
 , flask-restful
-, flask_script
 , flask_sqlalchemy
 , flask_wtf
 , debts
@@ -25,7 +30,9 @@
 , pytz
 , six
 , sqlalchemy
+, sqlalchemy-utils
 , sqlalchemy-continuum
+, sqlalchemy-i18n
 , werkzeug
 , wtforms
 , psycopg2 # optional, for postgresql support
@@ -36,6 +43,7 @@
 # ihatemoney is not really a library. It will only ever be imported
 # by the interpreter of uwsgi. So overrides for its depencies are fine.
 let
+  # fixed in next release, but patches don't apply
   # https://github.com/spiral-project/ihatemoney/issues/567
   pinned_wtforms = wtforms.overridePythonAttrs (old: rec {
     pname = "WTForms";
@@ -45,7 +53,19 @@ let
       sha256 = "0q9vkcq6jnnn618h27lx9sas6s9qlg2mv8ja6dn0hy38gwzarnqc";
     };
   });
-  pinned_flask_wtf = flask_wtf.override { wtforms = pinned_wtforms; };
+
+  # sqlalchemy-continuum requires sqlalchemy < 1.4
+  pinned_sqlalchemy = sqlalchemy.overridePythonAttrs (
+    old: rec {
+      pname = "SQLAlchemy";
+      version = "1.3.24";
+
+      src = fetchPypi {
+        inherit pname version;
+        sha256 = "06bmxzssc66cblk1hamskyv5q3xf1nh1py3vi6dka4lkpxy7gfzb";
+      };
+    }
+  );
 in
 
 buildPythonPackage rec {
@@ -73,6 +93,9 @@ buildPythonPackage rec {
       url = "https://github.com/spiral-project/ihatemoney/commit/8d77cf5d5646e1d2d8ded13f0660638f57e98471.patch";
       sha256 = "0y855sk3qsbpq7slj876k2ifa1lccc2dccag98pkyaadpz5gbabv";
     })
+    # backported from current master
+    # remove dependency on flask-script, which removed support on some features ihm used to need
+    ./remove_flask_script.patch
   ];
 
   postPatch = ''
@@ -81,7 +104,6 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    alembic
     aniso8601
     Babel
     blinker
@@ -92,11 +114,18 @@ buildPythonPackage rec {
     flask-babel
     flask-cors
     flask_mail
-    flask_migrate
+    (
+      flask_migrate.override {
+        flask_sqlalchemy = flask_sqlalchemy.override {
+          sqlalchemy = pinned_sqlalchemy;
+        };
+        alembic = alembic.override {
+          sqlalchemy = pinned_sqlalchemy;
+        };
+      }
+    )
     flask-restful
-    flask_script
-    flask_sqlalchemy
-    pinned_flask_wtf
+    (flask_wtf.override { wtforms = pinned_wtforms; })
     idna
     itsdangerous
     jinja2
@@ -105,8 +134,29 @@ buildPythonPackage rec {
     python-dateutil
     pytz
     six
-    sqlalchemy
-    sqlalchemy-continuum
+    (
+      (
+        sqlalchemy-continuum.override {
+          sqlalchemy = pinned_sqlalchemy;
+          sqlalchemy-utils = sqlalchemy-utils.override {
+            sqlalchemy = pinned_sqlalchemy;
+          };
+          sqlalchemy-i18n = sqlalchemy-i18n.override {
+            sqlalchemy = pinned_sqlalchemy;
+            sqlalchemy-utils = sqlalchemy-utils.override {
+              sqlalchemy = pinned_sqlalchemy;
+            };
+          };
+          flask_sqlalchemy = flask_sqlalchemy.override {
+            sqlalchemy = pinned_sqlalchemy;
+          };
+        }
+      ).overridePythonAttrs (
+        old: {
+          doCheck = false;
+        }
+      )
+    )
     werkzeug
     pinned_wtforms
     psycopg2
@@ -114,7 +164,8 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    flask_testing pytestCheckHook
+    flask_testing
+    pytestCheckHook
   ];
 
   pytestFlagsArray = [ "--pyargs ihatemoney.tests.tests" ];
@@ -134,5 +185,3 @@ buildPythonPackage rec {
     maintainers = [ maintainers.symphorien ];
   };
 }
-
-
diff --git a/pkgs/development/python-modules/ihatemoney/remove_flask_script.patch b/pkgs/development/python-modules/ihatemoney/remove_flask_script.patch
new file mode 100644
index 00000000000..dac59680a09
--- /dev/null
+++ b/pkgs/development/python-modules/ihatemoney/remove_flask_script.patch
@@ -0,0 +1,284 @@
+commit 4d831ba2316d54f4916fb9d1160ec7a3856b47d4
+Author: Glandos <bugs-github@antipoul.fr>
+Date:   Sun Jun 6 14:30:52 2021 +0200
+
+    remove usage of Flask-Script
+    
+    Use flask.cli instead with compatibility layer for existing commands,
+    such as "runserver".
+    
+    cherry-pick from 74e222f1a1cbfc2fac102fefc1115e9d0a6586dc
+
+diff --git a/Makefile b/Makefile
+index a681709..90ab1bb 100644
+--- a/Makefile
++++ b/Makefile
+@@ -38,7 +38,7 @@ update: remove-install-stamp install ## Update the dependencies
+ .PHONY: serve
+ serve: install ## Run the ihatemoney server
+ 	@echo 'Running ihatemoney on http://localhost:5000'
+-	$(PYTHON) -m ihatemoney.manage runserver
++	$(PYTHON) -m ihatemoney.manage run
+ 
+ .PHONY: test
+ test: install-dev ## Run the tests
+diff --git a/docs/installation.rst b/docs/installation.rst
+index 4994499..4df70a2 100644
+--- a/docs/installation.rst
++++ b/docs/installation.rst
+@@ -59,7 +59,7 @@ Test it
+ 
+ Once installed, you can start a test server::
+ 
+-  ihatemoney runserver
++  ihatemoney run
+ 
+ And point your browser at `http://localhost:5000 <http://localhost:5000>`_.
+ 
+diff --git a/ihatemoney/manage.py b/ihatemoney/manage.py
+index a192844..805a07f 100755
+--- a/ihatemoney/manage.py
++++ b/ihatemoney/manage.py
+@@ -5,8 +5,8 @@ import os
+ import random
+ import sys
+ 
+-from flask_migrate import Migrate, MigrateCommand
+-from flask_script import Command, Manager, Option
++import click
++from flask.cli import FlaskGroup
+ from werkzeug.security import generate_password_hash
+ 
+ from ihatemoney.models import Project, db
+@@ -14,31 +14,48 @@ from ihatemoney.run import create_app
+ from ihatemoney.utils import create_jinja_env
+ 
+ 
+-class GeneratePasswordHash(Command):
++@click.group(cls=FlaskGroup, create_app=create_app)
++def cli():
++    """IHateMoney Management script"""
+ 
+-    """Get password from user and hash it without printing it in clear text."""
+ 
+-    def run(self):
+-        password = getpass.getpass(prompt="Password: ")
+-        print(generate_password_hash(password))
+-
+-
+-class GenerateConfig(Command):
+-    def get_options(self):
+-        return [
+-            Option(
+-                "config_file",
+-                choices=[
+-                    "ihatemoney.cfg",
+-                    "apache-vhost.conf",
+-                    "gunicorn.conf.py",
+-                    "supervisord.conf",
+-                    "nginx.conf",
+-                ],
+-            )
++@cli.command(
++    context_settings={"ignore_unknown_options": True, "allow_extra_args": True}
++)
++@click.pass_context
++def runserver(ctx):
++    """Deprecated, use the "run" command instead"""
++    click.secho(
++        '"runserver" is deprecated, please use the standard "run" flask command',
++        fg="red",
++    )
++    run = cli.get_command(ctx, "run")
++    ctx.forward(run)
++
++
++@click.command(name="generate_password_hash")
++def password_hash():
++    """Get password from user and hash it without printing it in clear text."""
++    password = getpass.getpass(prompt="Password: ")
++    print(generate_password_hash(password))
++
++
++@click.command()
++@click.argument(
++    "config_file",
++    type=click.Choice(
++        [
++            "ihatemoney.cfg",
++            "apache-vhost.conf",
++            "gunicorn.conf.py",
++            "supervisord.conf",
++            "nginx.conf",
+         ]
++    ),
++)
++def generate_config(config_file):
++    """Generate front-end server configuration"""
+ 
+-    @staticmethod
+     def gen_secret_key():
+         return "".join(
+             [
+@@ -49,59 +66,33 @@ class GenerateConfig(Command):
+             ]
+         )
+ 
+-    def run(self, config_file):
+-        env = create_jinja_env("conf-templates", strict_rendering=True)
+-        template = env.get_template("%s.j2" % config_file)
++    env = create_jinja_env("conf-templates", strict_rendering=True)
++    template = env.get_template(f"{config_file}.j2")
+ 
+-        bin_path = os.path.dirname(sys.executable)
+-        pkg_path = os.path.abspath(os.path.dirname(__file__))
++    bin_path = os.path.dirname(sys.executable)
++    pkg_path = os.path.abspath(os.path.dirname(__file__))
+ 
+-        print(
+-            template.render(
+-                pkg_path=pkg_path,
+-                bin_path=bin_path,
+-                sys_prefix=sys.prefix,
+-                secret_key=self.gen_secret_key(),
+-            )
++    print(
++        template.render(
++            pkg_path=pkg_path,
++            bin_path=bin_path,
++            sys_prefix=sys.prefix,
++            secret_key=gen_secret_key(),
+         )
+-
+-
+-class DeleteProject(Command):
+-    def run(self, project_name):
+-        demo_project = Project.query.get(project_name)
+-        db.session.delete(demo_project)
++    )
++
++
++@cli.command()
++@click.argument("project_name")
++def delete_project(project_name):
++    """Delete a project"""
++    project = Project.query.get(project_name)
++    if project is None:
++        click.secho(f'Project "{project_name}" not found', fg="red")
++    else:
++        db.session.delete(project)
+         db.session.commit()
+ 
+ 
+-def main():
+-    QUIET_COMMANDS = ("generate_password_hash", "generate-config")
+-
+-    exception = None
+-    backup_stderr = sys.stderr
+-    # Hack to divert stderr for commands generating content to stdout
+-    # to avoid confusing the user
+-    if len(sys.argv) > 1 and sys.argv[1] in QUIET_COMMANDS:
+-        sys.stderr = open(os.devnull, "w")
+-
+-    try:
+-        app = create_app()
+-        Migrate(app, db)
+-    except Exception as e:
+-        exception = e
+-
+-    # Restore stderr
+-    sys.stderr = backup_stderr
+-
+-    if exception:
+-        raise exception
+-
+-    manager = Manager(app)
+-    manager.add_command("db", MigrateCommand)
+-    manager.add_command("generate_password_hash", GeneratePasswordHash)
+-    manager.add_command("generate-config", GenerateConfig)
+-    manager.add_command("delete-project", DeleteProject)
+-    manager.run()
+-
+-
+ if __name__ == "__main__":
+-    main()
++    cli()
+diff --git a/ihatemoney/tests/tests.py b/ihatemoney/tests/tests.py
+index b27fafc..23f19a6 100644
+--- a/ihatemoney/tests/tests.py
++++ b/ihatemoney/tests/tests.py
+@@ -15,7 +15,7 @@ from sqlalchemy import orm
+ from werkzeug.security import check_password_hash, generate_password_hash
+ 
+ from ihatemoney import history, models, utils
+-from ihatemoney.manage import DeleteProject, GenerateConfig, GeneratePasswordHash
++from ihatemoney.manage import delete_project, generate_config, password_hash
+ from ihatemoney.run import create_app, db, load_configuration
+ from ihatemoney.versioning import LoggingMode
+ 
+@@ -2157,28 +2157,24 @@ class CommandTestCase(BaseTestCase):
+         - raise no exception
+         - produce something non-empty
+         """
+-        cmd = GenerateConfig()
+-        for config_file in cmd.get_options()[0].kwargs["choices"]:
+-            with patch("sys.stdout", new=io.StringIO()) as stdout:
+-                cmd.run(config_file)
+-                print(stdout.getvalue())
+-                self.assertNotEqual(len(stdout.getvalue().strip()), 0)
++        runner = self.app.test_cli_runner()
++        for config_file in generate_config.params[0].type.choices:
++            result = runner.invoke(generate_config, config_file)
++            self.assertNotEqual(len(result.output.strip()), 0)
+ 
+     def test_generate_password_hash(self):
+-        cmd = GeneratePasswordHash()
+-        with patch("sys.stdout", new=io.StringIO()) as stdout, patch(
+-            "getpass.getpass", new=lambda prompt: "secret"
+-        ):  # NOQA
+-            cmd.run()
+-            print(stdout.getvalue())
+-            self.assertEqual(len(stdout.getvalue().strip()), 189)
++        runner = self.app.test_cli_runner()
++        with patch("getpass.getpass", new=lambda prompt: "secret"):
++            result = runner.invoke(password_hash)
++            print(result.output.strip())
++            self.assertEqual(len(result.output.strip()), 102)
+ 
+     def test_demo_project_deletion(self):
+         self.create_project("demo")
+         self.assertEquals(models.Project.query.get("demo").name, "demo")
+ 
+-        cmd = DeleteProject()
+-        cmd.run("demo")
++        runner = self.app.test_cli_runner()
++        runner.invoke(delete_project, "demo")
+ 
+         self.assertEqual(len(models.Project.query.all()), 0)
+ 
+diff --git a/setup.cfg b/setup.cfg
+index d493717..48e447c 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -31,7 +31,6 @@ install_requires =
+     Flask-Mail==0.9.1
+     Flask-Migrate==2.5.3
+     Flask-RESTful==0.3.8
+-    Flask-Script==2.0.6
+     Flask-SQLAlchemy==2.4.1
+     Flask-WTF==0.14.3
+ 	WTForms==2.2.1
+@@ -51,8 +50,12 @@ dev =
+     zest.releaser==6.20.1
+ 
+ [options.entry_points]
++flask.commands =
++    generate_password_hash = ihatemoney.manage:password_hash
++    generate-config = ihatemoney.manage:generate_config
++
+ console_scripts =
+-    ihatemoney = ihatemoney.manage:main
++    ihatemoney = ihatemoney.manage:cli
+ 
+ paste.app_factory =
+     main = ihatemoney.run:main
diff --git a/pkgs/development/python-modules/immutabledict/default.nix b/pkgs/development/python-modules/immutabledict/default.nix
index b45b852f85f..6979f848055 100644
--- a/pkgs/development/python-modules/immutabledict/default.nix
+++ b/pkgs/development/python-modules/immutabledict/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "immutabledict";
-  version = "2.2.0";
+  version = "2.2.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "corenting";
     repo = "immutabledict";
     rev = "v${version}";
-    sha256 = "sha256-Jf7ad3ImPfEvCBrUZ1NVXMCBqwLmd0hwpKfe9rVsehc=";
+    sha256 = "sha256-z04xxoCw0eBtkt++y/1yUsAPaLlAGUtWBdRBM74ul1c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lsassy/default.nix b/pkgs/development/python-modules/lsassy/default.nix
index 19d9141a0d3..7b550b2430e 100644
--- a/pkgs/development/python-modules/lsassy/default.nix
+++ b/pkgs/development/python-modules/lsassy/default.nix
@@ -4,28 +4,33 @@
 , impacket
 , netaddr
 , pypykatz
+, rich
 }:
 
 buildPythonPackage rec {
   pname = "lsassy";
-  version = "2.1.5";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "Hackndo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15w12asy797dxsz57avbxy6dbi7va9p5jx6i3gm9df9mbj0j3lcc";
+    sha256 = "sha256-75gs08QGjN5iUT4HQZZTSKi3vzNNKQvZR2JTObYNb7w=";
   };
 
   propagatedBuildInputs = [
     impacket
     netaddr
     pypykatz
+    rich
   ];
 
   # Tests require an active domain controller
   doCheck = false;
-  pythonImportsCheck = [ "lsassy" ];
+
+  pythonImportsCheck = [
+    "lsassy"
+  ];
 
   meta = with lib; {
     description = "Python module to extract data from Local Security Authority Subsystem Service (LSASS)";
diff --git a/pkgs/development/python-modules/millheater/default.nix b/pkgs/development/python-modules/millheater/default.nix
index 4ede1e9ecaa..7926b157118 100644
--- a/pkgs/development/python-modules/millheater/default.nix
+++ b/pkgs/development/python-modules/millheater/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "millheater";
-  version = "0.6.1";
+  version = "0.6.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pymill";
     rev = version;
-    sha256 = "sha256-cDj6lrGPeSWwuvVd00z12+EWaqDZOHpoRZSloalhni8=";
+    sha256 = "sha256-CG0hQN4m8EE+j5yUqODJX8/DLTVWS9tSPADSDHl6K9o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyhaversion/default.nix b/pkgs/development/python-modules/pyhaversion/default.nix
index 751bd79649d..36f4f434469 100644
--- a/pkgs/development/python-modules/pyhaversion/default.nix
+++ b/pkgs/development/python-modules/pyhaversion/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pyhaversion";
-  version = "21.10.1";
+  version = "21.10.0";
 
   # Only 3.8.0 and beyond are supported
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-7J7zzJlevNQb7TpFYuGvsk3EWBgwhmV32xPNSLA/LS4=";
+    sha256 = "sha256-EvVkewFgkfYL6BjmJ/IWeuCyR+0R0ZxI35i9sxKcqxo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytautulli/default.nix b/pkgs/development/python-modules/pytautulli/default.nix
new file mode 100644
index 00000000000..32806004f76
--- /dev/null
+++ b/pkgs/development/python-modules/pytautulli/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, aiohttp
+, aresponses
+, async-timeout
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pytautulli";
+  version = "21.10.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchFromGitHub {
+    owner = "ludeeus";
+    repo = pname;
+    rev = version;
+    sha256 = "1gi1jalwzf1aykvdmdbvr7hvfch9wbbjra87f1vzdmkb5iiirw01";
+  };
+
+  postPatch = ''
+    # Upstream is releasing with the help of a CI to PyPI, GitHub releases
+    # are not in their focus
+    substituteInPlace setup.py \
+      --replace 'version="main",' 'version="${version}",'
+  '';
+
+  propagatedBuildInputs = [
+    aiohttp
+    async-timeout
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "pytautulli" ];
+
+  meta = with lib; {
+    description = "Python module to get information from Tautulli";
+    homepage = "https://github.com/ludeeus/pytautulli";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-telegram-bot/default.nix b/pkgs/development/python-modules/python-telegram-bot/default.nix
index 6ddc4543d3d..e188a3ef868 100644
--- a/pkgs/development/python-modules/python-telegram-bot/default.nix
+++ b/pkgs/development/python-modules/python-telegram-bot/default.nix
@@ -36,13 +36,15 @@ buildPythonPackage rec {
     rm -r telegram/vendor
 
     substituteInPlace requirements.txt \
-      --replace 'APScheduler==3.6.3' 'APScheduler'
+      --replace "APScheduler==3.6.3" "APScheduler" \
+      --replace "cachetools==4.2.2" "cachetools"
   '';
 
   setupPyGlobalFlags = "--with-upstream-urllib3";
 
   # tests not included with release
   doCheck = false;
+
   pythonImportsCheck = [ "telegram" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pytradfri/default.nix b/pkgs/development/python-modules/pytradfri/default.nix
index e06a7e68135..5854c45a25f 100644
--- a/pkgs/development/python-modules/pytradfri/default.nix
+++ b/pkgs/development/python-modules/pytradfri/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pytradfri";
-  version = "7.0.6";
+  version = "7.0.7";
 
   disabled = pythonOlder "3.7";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "pytradfri";
     rev = version;
-    sha256 = "0ckh2waz3xpz51pmigg1q336igqvvkl2pzncszvblkwv38a0rj3a";
+    sha256 = "sha256-gUaDPm1hq4SZm9beSbfdX0qGEGWGiq13UjchdN1+Kfc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvex/default.nix b/pkgs/development/python-modules/pyvex/default.nix
index dc7c0c84b78..e8babafdf9a 100644
--- a/pkgs/development/python-modules/pyvex/default.nix
+++ b/pkgs/development/python-modules/pyvex/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pyvex";
-  version = "9.0.10072";
+  version = "9.0.10159";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-F6NUvcGYshPbfcfhkfbnzIxkXmfpAc/kfHFk5fuaICA=";
+    sha256 = "sha256-9I9gAPbazuPdZDyoXpjw0IrTu+97dwznoOnyBzkNNCw=";
   };
 
   postPatch = lib.optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/python-modules/qualysclient/default.nix b/pkgs/development/python-modules/qualysclient/default.nix
new file mode 100644
index 00000000000..21708dd8e56
--- /dev/null
+++ b/pkgs/development/python-modules/qualysclient/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, buildPythonPackage
+, certifi
+, charset-normalizer
+, fetchFromGitHub
+, idna
+, lxml
+, pytest-mock
+, pytestCheckHook
+, pythonOlder
+, requests
+, responses
+, urllib3
+}:
+
+buildPythonPackage rec {
+  pname = "qualysclient";
+  version = "0.0.4.8.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "woodtechie1428";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1fdcmspjm1cy53x9gm7frfq175saskcwn565zqprgxzfcigip1n3";
+  };
+
+  propagatedBuildInputs = [
+    certifi
+    charset-normalizer
+    idna
+    lxml
+    requests
+    urllib3
+  ];
+
+  checkInputs = [
+    pytest-mock
+    pytestCheckHook
+    responses
+  ];
+
+  pythonImportsCheck = [
+    "qualysclient"
+  ];
+
+  meta = with lib; {
+    description = "Python SDK for interacting with the Qualys API";
+    homepage = "https://qualysclient.readthedocs.io/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/sqlalchemy-continuum/default.nix b/pkgs/development/python-modules/sqlalchemy-continuum/default.nix
index 33b408240fc..944a2cf08e0 100644
--- a/pkgs/development/python-modules/sqlalchemy-continuum/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-continuum/default.nix
@@ -41,5 +41,7 @@ buildPythonPackage rec {
     homepage = "https://github.com/kvesteri/sqlalchemy-continuum/";
     description = "Versioning and auditing extension for SQLAlchemy";
     license = licenses.bsd3;
+    # https://github.com/kvesteri/sqlalchemy-continuum/issues/255
+    broken = lib.versionAtLeast sqlalchemy.version "1.4";
   };
 }
diff --git a/pkgs/development/python-modules/systembridge/default.nix b/pkgs/development/python-modules/systembridge/default.nix
index 3b6869fbf9a..8f6d86abdd9 100644
--- a/pkgs/development/python-modules/systembridge/default.nix
+++ b/pkgs/development/python-modules/systembridge/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "systembridge";
-  version = "2.1.3";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "timmo001";
     repo = "system-bridge-connector-py";
     rev = "v${version}";
-    sha256 = "1p0w1phmlifkag7inx8395g8li13r4b7dvgkpj6fysdi42glvvxp";
+    sha256 = "sha256-VR5juaZdZaEo7S0XXJkspcKmH1alitNIWmI0g/dFBbM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-decorator/default.nix b/pkgs/development/python-modules/types-decorator/default.nix
index b0f857196d3..631d4836d7f 100644
--- a/pkgs/development/python-modules/types-decorator/default.nix
+++ b/pkgs/development/python-modules/types-decorator/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-decorator";
-  version = "0.1.7";
+  version = "5.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pmcc8xpsmij4174ky81vp811yxgic2lj1dfj2fa0ii87nlcfwhp";
+    sha256 = "sha256-mavQDGFOVOde4I2IeZiGrMKRjMiJBeymR0upF7Mncps=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-futures/default.nix b/pkgs/development/python-modules/types-futures/default.nix
index 5e9ebe7fa7f..845dab08d33 100644
--- a/pkgs/development/python-modules/types-futures/default.nix
+++ b/pkgs/development/python-modules/types-futures/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "types-futures";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1p00wb93af01b6fw9wxk9qm4kbhqwb48nszmm16slsrc1nx4px25";
+    sha256 = "bbdad92cec642693bac10fbbecf834776009db7782d91dc293bdd123be73186d";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/types-protobuf/default.nix b/pkgs/development/python-modules/types-protobuf/default.nix
index 5d9737c5803..af8ef6d956f 100644
--- a/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/pkgs/development/python-modules/types-protobuf/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "3.17.4";
+  version = "3.17.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0r42kzspqna2b2jiz9bjzagrd4gbh0sd6jp4v7i9nv09y0ifrkrn";
+    sha256 = "f719a3f436a09d4a13411c9df1209e61b788dca64c6478fcd68e0ae5c5671283";
   };
 
   propagatedBuildInputs = [ types-futures ];
diff --git a/pkgs/development/python-modules/types-pytz/default.nix b/pkgs/development/python-modules/types-pytz/default.nix
index 4b3f9c1726c..a6139eb9c9b 100644
--- a/pkgs/development/python-modules/types-pytz/default.nix
+++ b/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2021.1.2";
+  version = "2021.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "448828a06f2aaa840e57364d866c661645a045e532f817e4f10c8c3ab2b66651";
+    sha256 = "sha256-hqYZZ4NNzuqvmLaQLtg1fv3SYruK/K9LyMzs90hZJ3g=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/types-requests/default.nix b/pkgs/development/python-modules/types-requests/default.nix
index 464b0d58762..772ea06ad51 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.25.9";
+  version = "2.25.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-Tsi3Hac+U0Stub7nJadOyFmOcob5vLF1ANYn8ln+T7k=";
+    sha256 = "sha256-PhIZiBaM/8+mHv+vSPkOvF7gI/bMUNBMAUTt16ImW2U=";
   };
 
   # Modules doesn't have tests
diff --git a/pkgs/development/python-modules/vertica-python/default.nix b/pkgs/development/python-modules/vertica-python/default.nix
index dc122341924..cc6655a3b6c 100644
--- a/pkgs/development/python-modules/vertica-python/default.nix
+++ b/pkgs/development/python-modules/vertica-python/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "vertica-python";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "94cff37e03f89fc4c5e4b2d4c913c7d5d7450f5a205d14f709b39e0a4202be95";
+    sha256 = "ce0abfc5909d06031dc612ec321d7f75df50bcb47a31e14e882a299cea2ea7a3";
   };
 
   propagatedBuildInputs = [ future python-dateutil six ];
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 46377a238bf..650f09558cb 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.36.7";
+  version = "0.36.8";
   format = "setuptools";
   disabled = pythonOlder "3.6";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = version;
-    sha256 = "sha256-jGbYd56JCXYUE4N2He5Ds8vVcgfny1kUYbd1rL7upcM=";
+    sha256 = "sha256-lsvrttfyUtQneUkQlWFpmQ99BSJp/YiVYUKY7AWh0rs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/tools/rust/devserver/default.nix b/pkgs/development/tools/rust/devserver/default.nix
new file mode 100644
index 00000000000..9e4545e5e87
--- /dev/null
+++ b/pkgs/development/tools/rust/devserver/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, fetchCrate
+, rustPlatform
+, openssl
+, pkg-config
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "devserver";
+  version = "0.4.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-UcrLzsALwl0zqNRMS1kTTXsR6wN8XDd5Iq+yrudh6M4=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ];
+
+  cargoSha256 = "sha256-XlrQ6CvjeWnzvfaeNbe8FtMXMVSQNLxDVIEjyHm57Js=";
+
+  meta = with lib; {
+    description = "An extremely tiny tool to serve a static folder locally";
+    homepage = "https://github.com/kettle11/devserver";
+    license = licenses.zlib;
+    maintainers = with maintainers; [ nickhu ];
+  };
+}
diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix
index 7031f794130..72c342e7b6a 100644
--- a/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/pkgs/misc/drivers/xboxdrv/default.nix
@@ -10,12 +10,9 @@
 , dbus-glib
 }:
 
-let
-  version = "0.8.8";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "xboxdrv";
-  inherit version;
+  version = "0.8.8";
 
   src = fetchFromGitHub {
     owner = "xboxdrv";
@@ -36,5 +33,4 @@ stdenv.mkDerivation {
     maintainers = [ ];
     platforms = platforms.linux;
   };
-
 }
diff --git a/pkgs/misc/emulators/zesarux/default.nix b/pkgs/misc/emulators/zesarux/default.nix
new file mode 100644
index 00000000000..4df6cfafbc0
--- /dev/null
+++ b/pkgs/misc/emulators/zesarux/default.nix
@@ -0,0 +1,89 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, SDL2
+, aalib
+, alsa-lib
+, libXext
+, libXxf86vm
+, libcaca
+, libpulseaudio
+, libsndfile
+, ncurses
+, openssl
+, which
+}:
+
+stdenv.mkDerivation rec {
+  pname = "zesarux";
+  version = "10.0";
+
+  src = fetchFromGitHub {
+    owner = "chernandezba";
+    repo = pname;
+    rev = version;
+    hash = "sha256-cxV2dAzGnIzJiCRdq8vN/Cl4AQeJqjmiCAahijIJQ9k=";
+  };
+
+  nativeBuildInputs = [
+    which
+  ];
+
+  buildInputs = [
+    SDL2
+    aalib
+    alsa-lib
+    libXxf86vm
+    libXext
+    libcaca
+    libpulseaudio
+    libsndfile
+    ncurses
+    openssl
+  ];
+
+  patches = [
+    # Patch the shell scripts; remove it when the next version arrives
+    (fetchpatch {
+      name = "000-fix-shebangs.patch";
+      url = "https://github.com/chernandezba/zesarux/commit/4493439b38f565c5be7c36239ecaf0cf80045627.diff";
+      sha256 = "sha256-f+21naPcPXdcVvqU8ymlGfl1WkYGOeOBe9B/WFUauTI=";
+    })
+  ];
+
+  postPatch = ''
+    cd src
+    patchShebangs ./configure *.sh
+  '';
+
+  configureFlags = [
+    "--prefix=${placeholder "out"}"
+    "--c-compiler ${stdenv.cc.targetPrefix}cc"
+    "--enable-cpustats"
+    "--enable-memptr"
+    "--enable-sdl2"
+    "--enable-ssl"
+    "--enable-undoc-scfccf"
+    "--enable-visualmem"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    ./generate_install_sh.sh
+    patchShebangs ./install.sh
+    ./install.sh
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/chernandezba/zesarux";
+    description = " ZX Second-Emulator And Released for UniX";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
+# TODO: Darwin support
diff --git a/pkgs/os-specific/linux/kernel/perf.nix b/pkgs/os-specific/linux/kernel/perf.nix
index b58bca352e6..045f80ce9ac 100644
--- a/pkgs/os-specific/linux/kernel/perf.nix
+++ b/pkgs/os-specific/linux/kernel/perf.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, kernel, elfutils, python2, python3, perl, newt, slang, asciidoc, xmlto, makeWrapper
-, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkg-config, libunwind, binutils
+, docbook_xsl, docbook_xml_dtd_45, libxslt, flex, bison, pkg-config, libunwind, binutils-unwrapped
 , libiberty, audit, libbfd, libopcodes, openssl, systemtap, numactl
 , zlib
 , withGtk ? false, gtk2
@@ -54,7 +54,6 @@ stdenv.mkDerivation {
     "-Wno-error=cpp"
     "-Wno-error=bool-compare"
     "-Wno-error=deprecated-declarations"
-    "-DOBJDUMP_PATH=\"${binutils}/bin/objdump\""
     "-Wno-error=stringop-truncation"
   ];
 
@@ -69,8 +68,9 @@ stdenv.mkDerivation {
   installFlags = [ "install" "install-man" "ASCIIDOC8=1" "prefix=$(out)" ];
 
   preFixup = ''
+    # pull in 'objdump' into PATH to make annotations work
     wrapProgram $out/bin/perf \
-      --prefix PATH : "${binutils}/bin"
+      --prefix PATH : "${binutils-unwrapped}/bin"
   '';
 
   meta = {
diff --git a/pkgs/os-specific/linux/mceinject/default.nix b/pkgs/os-specific/linux/mceinject/default.nix
new file mode 100644
index 00000000000..3e89ed83361
--- /dev/null
+++ b/pkgs/os-specific/linux/mceinject/default.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, fetchFromGitHub, bison, flex }:
+
+stdenv.mkDerivation rec {
+  pname = "mceinject";
+  version = "unstable-2013-01-19";
+
+  src = fetchFromGitHub {
+    owner  = "andikleen";
+    repo   = "mce-inject";
+    rev    = "4cbe46321b4a81365ff3aafafe63967264dbfec5";
+    sha256 = "0gjapg2hrlxp8ssrnhvc19i3r1xpcnql7xv0zjgbv09zyha08g6z";
+  };
+
+  nativeBuildInputs = [ flex bison ];
+
+  NIX_CFLAGS_COMPILE = "-Os -g -Wall";
+
+  NIX_LDFLAGS = [ "-lpthread" ];
+
+  makeFlags = [ "prefix=" ];
+
+  enableParallelBuilding = true;
+
+  installFlags = [ "destdir=$(out)" "manprefix=/share" ];
+
+  meta = with lib; {
+    description = "A tool to inject machine checks into x86 kernel for testing";
+    longDescription = ''
+      mce-inject allows to inject machine check errors on the software level
+      into a running Linux kernel. This is intended for validation of the
+      kernel machine check handler.
+    '';
+    homepage = "https://github.com/andikleen/mce-inject/";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ arkivm ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 13547f56a2a..d7bdbb451f8 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 = "2021.10.2";
+  version = "2021.10.4";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
@@ -859,7 +859,7 @@
     "tankerkoenig" = ps: with ps; [ pytankerkoenig ];
     "tapsaff" = ps: with ps; [ ]; # missing inputs: tapsaff
     "tasmota" = ps: with ps; [ aiohttp-cors hatasmota paho-mqtt ];
-    "tautulli" = ps: with ps; [ ]; # missing inputs: pytautulli
+    "tautulli" = ps: with ps; [ pytautulli ];
     "tcp" = ps: with ps; [ ];
     "ted5000" = ps: with ps; [ xmltodict ];
     "telegram" = ps: with ps; [ pysocks aiohttp-cors python-telegram-bot ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 1bb43b17ee8..655cbf708bc 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -114,7 +114,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2021.10.2";
+  hassVersion = "2021.10.4";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -131,7 +131,7 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    sha256 = "0nds4491v8wy4d8w842asjpjj7xhqghlq0h61i7z6wp8jln7m418";
+    sha256 = "1cl0h15285x7xba425d9anv882adi6bdqx4i3cicg3gf0nzcc8am";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -770,9 +770,6 @@ in with py.pkgs; buildPythonApplication rec {
     # wemo/test_sensor.py: KeyError for various power attributes
     "--deselect tests/components/wemo/test_sensor.py::TestInsightTodayEnergy::test_state_unavailable"
     "--deselect tests/components/wemo/test_sensor.py::TestInsightCurrentPower::test_state_unavailable"
-    # tado/test_climate.py: Tries to connect to my.tado.com
-    "--deselect tests/components/tado/test_climate.py::test_air_con"
-    "--deselect tests/components/tado/test_climate.py::test_heater"
     # helpers/test_system_info.py: AssertionError: assert 'Unknown' == 'Home Assistant Container'
     "--deselect tests/helpers/test_system_info.py::test_container_installationtype"
     # tests are located in tests/
@@ -787,7 +784,8 @@ in with py.pkgs; buildPythonApplication rec {
     "tests/auth/mfa_modules/test_notify.py"
     # emulated_hue/test_upnp.py: Tries to establish the public ipv4 address
     "tests/components/emulated_hue/test_upnp.py"
-
+    # tado/test_climate.py: Tries to connect to my.tado.com
+    "tests/components/tado/test_climate.py"
   ];
 
   disabledTests = [
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 9b3746fb2d1..7207a937c38 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,11 +4,11 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20211007.0";
+  version = "20211007.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-GchSCqdVPk8RVe4iNEVvrsIgrV9/CHE5bQwyaT+ErvU=";
+    sha256 = "sha256-wsDNLwzhpwH5vwdHRWhZGlumjFM8/S+kXProbD+VpE8=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/http/couchdb/3.nix b/pkgs/servers/http/couchdb/3.nix
index 94b94081d43..50d4012297f 100644
--- a/pkgs/servers/http/couchdb/3.nix
+++ b/pkgs/servers/http/couchdb/3.nix
@@ -1,26 +1,26 @@
-{ lib, stdenv, fetchurl, erlang, icu, openssl, spidermonkey_68
+{ lib, stdenv, fetchurl, erlang, icu, openssl, spidermonkey_78
 , coreutils, bash, makeWrapper, python3 }:
 
 stdenv.mkDerivation rec {
   pname = "couchdb";
-  version = "3.1.1";
+  version = "3.2.0";
 
 
   # when updating this, please consider bumping the erlang/OTP version
   # in all-packages.nix
   src = fetchurl {
     url = "mirror://apache/couchdb/source/${version}/apache-${pname}-${version}.tar.gz";
-    sha256 = "18wcqxrv2bz88xadkqpqznprrxmcmwr0g6k895xrm8rbp9mpdzlg";
+    sha256 = "035hy76399yy32rxl536gv7nh8ijihqxhhh5cxn95c3bm97mgslb";
   };
 
-  buildInputs = [ erlang icu openssl spidermonkey_68 (python3.withPackages(ps: with ps; [ requests ]))];
+  buildInputs = [ erlang icu openssl spidermonkey_78 (python3.withPackages(ps: with ps; [ requests ]))];
   postPatch = ''
-    substituteInPlace src/couch/rebar.config.script --replace '/usr/include/mozjs-68' "${spidermonkey_68.dev}/include/mozjs-68"
+    substituteInPlace src/couch/rebar.config.script --replace '/usr/include/mozjs-78' "${spidermonkey_78.dev}/include/mozjs-78"
     patchShebangs bin/rebar
   '';
 
   dontAddPrefix= "True";
-  configureFlags = ["--spidermonkey-version=68"];
+  configureFlags = ["--spidermonkey-version=78"];
   buildFlags = ["release"];
 
   installPhase = ''
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
index 596739a45d7..327ab8a672d 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/default.nix
@@ -3,8 +3,8 @@ let
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "matrix-appservice-slack";
-    rev = "1.8.0";
-    sha256 = "sha256-FA6SMivMnloeZmnUhGx6N+ZLDTZFO3y17xJYclkp5w0=";
+    rev = "1.9.0";
+    sha256 = "tx+dul+O7HZTGYW8ZSxoOZZmzm44nz0pYGQYp8xaVCw=";
   };
 
   nodePackages = import ./node-composition.nix {
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh b/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
index 9fab4889170..33f0554573b 100755
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/generate-dependencies.sh
@@ -1,9 +1,9 @@
 #!/usr/bin/env nix-shell
 #! nix-shell -i bash -p nodePackages.node2nix
 
-# Download package.json and package-lock.json from the v1.8.0 release
-curl https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/1.8.0/package.json -o package.json
-curl https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/1.8.0/package-lock.json -o package-lock.json
+# Download package.json and package-lock.json from the v1.9.0 release
+curl https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/1.9.0/package.json -o package.json
+curl https://raw.githubusercontent.com/matrix-org/matrix-appservice-slack/1.9.0/package-lock.json -o package-lock.json
 
 node2nix \
   --nodejs-12 \
diff --git a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
index bc5bc8cf1c7..9fa290f1c79 100644
--- a/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
+++ b/pkgs/servers/matrix-synapse/matrix-appservice-slack/node-packages.nix
@@ -4,6 +4,15 @@
 
 let
   sources = {
+    "@alloc/quick-lru-5.2.0" = {
+      name = "_at_alloc_slash_quick-lru";
+      packageName = "@alloc/quick-lru";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz";
+        sha512 = "UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==";
+      };
+    };
     "@babel/code-frame-7.12.11" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
@@ -49,40 +58,77 @@ let
         sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
       };
     };
-    "@eslint/eslintrc-0.4.0" = {
+    "@es-joy/jsdoccomment-0.9.0-alpha.1" = {
+      name = "_at_es-joy_slash_jsdoccomment";
+      packageName = "@es-joy/jsdoccomment";
+      version = "0.9.0-alpha.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.9.0-alpha.1.tgz";
+        sha512 = "Clxxc0PwpISoYYBibA+1L2qFJ7gvFVhI2Hos87S06K+Q0cXdOhZQJNKWuaQGPAeHjZEuUB/YoWOfwjuF2wirqA==";
+      };
+    };
+    "@eslint/eslintrc-0.4.3" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "0.4.0";
+      version = "0.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz";
-        sha512 = "2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz";
+        sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
       };
     };
-    "@nodelib/fs.scandir-2.1.4" = {
+    "@humanwhocodes/config-array-0.5.0" = {
+      name = "_at_humanwhocodes_slash_config-array";
+      packageName = "@humanwhocodes/config-array";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz";
+        sha512 = "FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==";
+      };
+    };
+    "@humanwhocodes/object-schema-1.2.0" = {
+      name = "_at_humanwhocodes_slash_object-schema";
+      packageName = "@humanwhocodes/object-schema";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz";
+        sha512 = "wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==";
+      };
+    };
+    "@matrix-org/olm-https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.4.tgz" = {
+      name = "_at_matrix-org_slash_olm";
+      packageName = "@matrix-org/olm";
+      version = 1;
+      src = fetchurl {
+        name = "olm-1.tar.gz";
+        url = "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.4.tgz";
+        sha512 = "ddaXWILlm1U0Z9qpcZffJjBFZRpz/GxQ1n/Qth3xKvYRUbniuPOgftNTDaxkEC4h04uJG5Ls/OdI1YJUyfuRzQ==";
+      };
+    };
+    "@nodelib/fs.scandir-2.1.5" = {
       name = "_at_nodelib_slash_fs.scandir";
       packageName = "@nodelib/fs.scandir";
-      version = "2.1.4";
+      version = "2.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz";
-        sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==";
+        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz";
+        sha512 = "vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==";
       };
     };
-    "@nodelib/fs.stat-2.0.4" = {
+    "@nodelib/fs.stat-2.0.5" = {
       name = "_at_nodelib_slash_fs.stat";
       packageName = "@nodelib/fs.stat";
-      version = "2.0.4";
+      version = "2.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz";
-        sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==";
+        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz";
+        sha512 = "RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==";
       };
     };
-    "@nodelib/fs.walk-1.2.6" = {
+    "@nodelib/fs.walk-1.2.8" = {
       name = "_at_nodelib_slash_fs.walk";
       packageName = "@nodelib/fs.walk";
-      version = "1.2.6";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz";
-        sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==";
+        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz";
+        sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     };
     "@slack/logger-2.0.0" = {
@@ -121,6 +167,42 @@ let
         sha512 = "tjQ8Zqv/Fmj9SOL9yIEd7IpTiKfKHi9DKAkfRVeotoX0clMr3SqQtBqO+KZMX27gm7dmgJsQaDKlILyzdCO+IA==";
       };
     };
+    "@tsconfig/node10-1.0.8" = {
+      name = "_at_tsconfig_slash_node10";
+      packageName = "@tsconfig/node10";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz";
+        sha512 = "6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==";
+      };
+    };
+    "@tsconfig/node12-1.0.9" = {
+      name = "_at_tsconfig_slash_node12";
+      packageName = "@tsconfig/node12";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz";
+        sha512 = "/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==";
+      };
+    };
+    "@tsconfig/node14-1.0.1" = {
+      name = "_at_tsconfig_slash_node14";
+      packageName = "@tsconfig/node14";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz";
+        sha512 = "509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==";
+      };
+    };
+    "@tsconfig/node16-1.0.1" = {
+      name = "_at_tsconfig_slash_node16";
+      packageName = "@tsconfig/node16";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz";
+        sha512 = "FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==";
+      };
+    };
     "@types/body-parser-1.19.0" = {
       name = "_at_types_slash_body-parser";
       packageName = "@types/body-parser";
@@ -130,13 +212,13 @@ let
         sha512 = "W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==";
       };
     };
-    "@types/chai-4.2.16" = {
+    "@types/chai-4.2.21" = {
       name = "_at_types_slash_chai";
       packageName = "@types/chai";
-      version = "4.2.16";
+      version = "4.2.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.16.tgz";
-        sha512 = "vI5iOAsez9+roLS3M3+Xx7w+WRuDtSmF8bQkrbcIJ2sC1PcDgVoA0WGpa+bIrJ+y8zqY2oi//fUctkxtIcXJCw==";
+        url = "https://registry.npmjs.org/@types/chai/-/chai-4.2.21.tgz";
+        sha512 = "yd+9qKmJxm496BOV9CMNaey8TWsikaZOwMRwPHQIjcOJM9oV+fi9ZMNw3JsVnbEEbo2gRTDnGEBv8pjyn67hNg==";
       };
     };
     "@types/connect-3.4.34" = {
@@ -148,13 +230,13 @@ let
         sha512 = "ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==";
       };
     };
-    "@types/express-4.17.11" = {
+    "@types/express-4.17.13" = {
       name = "_at_types_slash_express";
       packageName = "@types/express";
-      version = "4.17.11";
+      version = "4.17.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz";
-        sha512 = "no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==";
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz";
+        sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
       };
     };
     "@types/express-serve-static-core-4.17.19" = {
@@ -175,22 +257,22 @@ let
         sha512 = "jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==";
       };
     };
-    "@types/js-yaml-4.0.0" = {
+    "@types/js-yaml-4.0.2" = {
       name = "_at_types_slash_js-yaml";
       packageName = "@types/js-yaml";
-      version = "4.0.0";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.0.tgz";
-        sha512 = "4vlpCM5KPCL5CfGmTbpjwVKbISRYhduEJvvUWsH5EB7QInhEj94XPZ3ts/9FPiLZFqYO0xoW4ZL8z2AabTGgJA==";
+        url = "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.2.tgz";
+        sha512 = "KbeHS/Y4R+k+5sWXEYzAZKuB1yQlZtEghuhRxrVRLaqhtoG5+26JwQsa4HyS3AWX8v1Uwukma5HheduUDskasA==";
       };
     };
-    "@types/json-schema-7.0.7" = {
+    "@types/json-schema-7.0.8" = {
       name = "_at_types_slash_json-schema";
       packageName = "@types/json-schema";
-      version = "7.0.7";
+      version = "7.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz";
-        sha512 = "cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==";
+        url = "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz";
+        sha512 = "YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==";
       };
     };
     "@types/mime-1.3.2" = {
@@ -202,31 +284,31 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@types/mocha-8.2.2" = {
+    "@types/mocha-8.2.3" = {
       name = "_at_types_slash_mocha";
       packageName = "@types/mocha";
-      version = "8.2.2";
+      version = "8.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz";
-        sha512 = "Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw==";
+        url = "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz";
+        sha512 = "ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==";
       };
     };
-    "@types/nedb-1.8.11" = {
+    "@types/nedb-1.8.12" = {
       name = "_at_types_slash_nedb";
       packageName = "@types/nedb";
-      version = "1.8.11";
+      version = "1.8.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.11.tgz";
-        sha512 = "qHQRLZ0e6l/XK/2Qb2v5N1ujmdttYkUvnRI4nPIifMy6vYwoAnER10xhX13isWjjQtNsrjNLinZgDDguzPmEKw==";
+        url = "https://registry.npmjs.org/@types/nedb/-/nedb-1.8.12.tgz";
+        sha512 = "ICDoQMORMjOSqfNFXT4ENXfwwCir1BPblXNm0SPH7C4Q10ou+pvVagcFAJ+rrzf3A47tGU4K/KbzKu7wO9j45Q==";
       };
     };
-    "@types/node-14.14.41" = {
+    "@types/node-12.20.16" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.14.41";
+      version = "12.20.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz";
-        sha512 = "dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.16.tgz";
+        sha512 = "6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA==";
       };
     };
     "@types/node-emoji-1.8.1" = {
@@ -238,13 +320,13 @@ let
         sha512 = "0fRfA90FWm6KJfw6P9QGyo0HDTCmthZ7cWaBQndITlaWLTZ6njRyKwrwpzpg+n6kBXBIGKeUHEQuBx7bphGJkA==";
       };
     };
-    "@types/nunjucks-3.1.4" = {
+    "@types/nunjucks-3.1.5" = {
       name = "_at_types_slash_nunjucks";
       packageName = "@types/nunjucks";
-      version = "3.1.4";
+      version = "3.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/nunjucks/-/nunjucks-3.1.4.tgz";
-        sha512 = "cR65PLlHKW/qxxj840dbNb3ICO+iAVQzaNKJ8TcKOVKFi+QcAkhw9SCY8VFAyU41SmJMs+2nrIN2JGhX+jYb7A==";
+        url = "https://registry.npmjs.org/@types/nunjucks/-/nunjucks-3.1.5.tgz";
+        sha512 = "0zEdmQNNvQ+xyV9kqQvAV93UVroTwhE78toVUDT0GBnGcW2jQBZnB4al9qq2LqI5qHOqROy/DvvAY/UwrbvV1A==";
       };
     };
     "@types/p-queue-2.3.2" = {
@@ -265,13 +347,13 @@ let
         sha512 = "0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==";
       };
     };
-    "@types/randomstring-1.1.6" = {
+    "@types/randomstring-1.1.7" = {
       name = "_at_types_slash_randomstring";
       packageName = "@types/randomstring";
-      version = "1.1.6";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/randomstring/-/randomstring-1.1.6.tgz";
-        sha512 = "XRIZIMTxjcUukqQcYBdpFWGbcRDyNBXrvTEtTYgFMIbBNUVt+9mCKsU+jUUDLeFO/RXopUgR5OLiBqbY18vSHQ==";
+        url = "https://registry.npmjs.org/@types/randomstring/-/randomstring-1.1.7.tgz";
+        sha512 = "S6NRYPiH8VGcLW4m9KEMUPtGxXqToCOLLCutQh8sSMaZGrL6/PEQCZAPGBtMP6SKd43ep5eWuPFN732h23h15w==";
       };
     };
     "@types/range-parser-1.2.3" = {
@@ -301,13 +383,13 @@ let
         sha512 = "ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==";
       };
     };
-    "@types/uuid-8.3.0" = {
+    "@types/uuid-8.3.1" = {
       name = "_at_types_slash_uuid";
       packageName = "@types/uuid";
-      version = "8.3.0";
+      version = "8.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz";
-        sha512 = "eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==";
+        url = "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.1.tgz";
+        sha512 = "Y2mHTRAbqfFkpjldbkHGY8JIzRN6XqYRliG8/24FcHm2D2PwW24fl5xMRTVGdrb7iMrwCaIEbLWerGIkXuFWVg==";
       };
     };
     "@types/ws-7.2.6" = {
@@ -319,94 +401,85 @@ let
         sha512 = "Q07IrQUSNpr+cXU4E4LtkSIBPie5GLZyyMC1QtQYRLWz701+XcoVygGUZgvLqElq1nU4ICldMYPnexlBsg3dqQ==";
       };
     };
-    "@types/yargs-15.0.13" = {
+    "@types/yargs-17.0.3" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
-      version = "15.0.13";
+      version = "17.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz";
-        sha512 = "kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ==";
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.3.tgz";
+        sha512 = "K7rm3Ke3ag/pAniBe80A6J6fjoqRibvCrl3dRmtXV9eCEt9h/pZwmHX9MzjQVUc/elneQTL4Ky7XKorC71Lmxw==";
       };
     };
-    "@types/yargs-parser-15.0.0" = {
+    "@types/yargs-parser-20.2.1" = {
       name = "_at_types_slash_yargs-parser";
       packageName = "@types/yargs-parser";
-      version = "15.0.0";
+      version = "20.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-15.0.0.tgz";
-        sha512 = "FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw==";
+        url = "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz";
+        sha512 = "7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==";
       };
     };
-    "@typescript-eslint/eslint-plugin-4.22.0" = {
+    "@typescript-eslint/eslint-plugin-4.28.4" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "4.22.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz";
-        sha512 = "U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA==";
-      };
-    };
-    "@typescript-eslint/eslint-plugin-tslint-4.22.0" = {
-      name = "_at_typescript-eslint_slash_eslint-plugin-tslint";
-      packageName = "@typescript-eslint/eslint-plugin-tslint";
-      version = "4.22.0";
+      version = "4.28.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.22.0.tgz";
-        sha512 = "r4lhAPmd69ohf5grgDALtekETv4WVCpvfXtT3Nf3UUO/88sn4HB4h8xN1afwL48BprQ4TxH7ZUv7Ou6xgRlkAA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz";
+        sha512 = "s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==";
       };
     };
-    "@typescript-eslint/experimental-utils-4.22.0" = {
+    "@typescript-eslint/experimental-utils-4.28.4" = {
       name = "_at_typescript-eslint_slash_experimental-utils";
       packageName = "@typescript-eslint/experimental-utils";
-      version = "4.22.0";
+      version = "4.28.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz";
-        sha512 = "xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz";
+        sha512 = "OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==";
       };
     };
-    "@typescript-eslint/parser-4.22.0" = {
+    "@typescript-eslint/parser-4.28.4" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "4.22.0";
+      version = "4.28.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.0.tgz";
-        sha512 = "z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz";
+        sha512 = "4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==";
       };
     };
-    "@typescript-eslint/scope-manager-4.22.0" = {
+    "@typescript-eslint/scope-manager-4.28.4" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "4.22.0";
+      version = "4.28.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz";
-        sha512 = "OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz";
+        sha512 = "ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==";
       };
     };
-    "@typescript-eslint/types-4.22.0" = {
+    "@typescript-eslint/types-4.28.4" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "4.22.0";
+      version = "4.28.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz";
-        sha512 = "sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz";
+        sha512 = "3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==";
       };
     };
-    "@typescript-eslint/typescript-estree-4.22.0" = {
+    "@typescript-eslint/typescript-estree-4.28.4" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "4.22.0";
+      version = "4.28.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz";
-        sha512 = "TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz";
+        sha512 = "z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==";
       };
     };
-    "@typescript-eslint/visitor-keys-4.22.0" = {
+    "@typescript-eslint/visitor-keys-4.28.4" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "4.22.0";
+      version = "4.28.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz";
-        sha512 = "nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz";
+        sha512 = "NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==";
       };
     };
     "@ungap/promise-all-settled-1.1.2" = {
@@ -418,12 +491,12 @@ let
         sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
       };
     };
-    "Slackdown-git://github.com/half-shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4" = {
+    "Slackdown-git+https://Half-Shot@github.com/half-shot/slackdown.git#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4" = {
       name = "Slackdown";
       packageName = "Slackdown";
       version = "0.1.2";
       src = fetchgit {
-        url = "git://github.com/half-shot/slackdown";
+        url = "https://Half-Shot@github.com/half-shot/slackdown.git";
         rev = "efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4";
         sha256 = "474e972819b3e1db3af70be75966a3d501c6b9285f4550ff5548193e031eaf9b";
       };
@@ -464,13 +537,13 @@ let
         sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     };
-    "acorn-jsx-5.3.1" = {
+    "acorn-jsx-5.3.2" = {
       name = "acorn-jsx";
       packageName = "acorn-jsx";
-      version = "5.3.1";
+      version = "5.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz";
-        sha512 = "K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==";
+        url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
+        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
       };
     };
     "ajv-6.12.6" = {
@@ -509,6 +582,15 @@ let
         sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==";
       };
     };
+    "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";
@@ -554,6 +636,24 @@ let
         sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
       };
     };
+    "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==";
+      };
+    };
+    "are-we-there-yet-1.1.7" = {
+      name = "are-we-there-yet";
+      packageName = "are-we-there-yet";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz";
+        sha512 = "nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==";
+      };
+    };
     "arg-4.1.3" = {
       name = "arg";
       packageName = "arg";
@@ -716,13 +816,13 @@ let
         sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
-    "axios-0.21.1" = {
+    "axios-0.21.4" = {
       name = "axios";
       packageName = "axios";
-      version = "0.21.1";
+      version = "0.21.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz";
-        sha512 = "dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz";
+        sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
       };
     };
     "balanced-match-1.0.2" = {
@@ -743,6 +843,15 @@ let
         sha512 = "Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==";
       };
     };
+    "base64-js-1.5.1" = {
+      name = "base64-js";
+      packageName = "base64-js";
+      version = "1.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz";
+        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
+      };
+    };
     "basic-auth-2.0.1" = {
       name = "basic-auth";
       packageName = "basic-auth";
@@ -761,6 +870,15 @@ let
         sha1 = "a4301d389b6a43f9b67ff3ca11a3f6637e360e9e";
       };
     };
+    "better-sqlite3-7.4.3" = {
+      name = "better-sqlite3";
+      packageName = "better-sqlite3";
+      version = "7.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-7.4.3.tgz";
+        sha512 = "07bKjClZg/f4KMVRkzWtoIvazVPcF1gsvVKVIXlxwleC2DxuIhnra3KCMlUT1rFeRYXXckot2a46UciF2d9KLw==";
+      };
+    };
     "binary-extensions-2.2.0" = {
       name = "binary-extensions";
       packageName = "binary-extensions";
@@ -779,6 +897,15 @@ let
         sha1 = "7dbb3b210fdca082450dad2334c304af39bdc784";
       };
     };
+    "bindings-1.5.0" = {
+      name = "bindings";
+      packageName = "bindings";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz";
+        sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
+      };
+    };
     "bintrees-1.0.1" = {
       name = "bintrees";
       packageName = "bintrees";
@@ -788,6 +915,24 @@ let
         sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
       };
     };
+    "bl-4.1.0" = {
+      name = "bl";
+      packageName = "bl";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz";
+        sha512 = "1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==";
+      };
+    };
+    "bluebird-3.7.2" = {
+      name = "bluebird";
+      packageName = "bluebird";
+      version = "3.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz";
+        sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
+      };
+    };
     "body-parser-1.19.0" = {
       name = "body-parser";
       packageName = "body-parser";
@@ -842,6 +987,15 @@ let
         sha1 = "be161e76c354f6f788ae4071f63f34e8c4f0a42a";
       };
     };
+    "buffer-5.7.1" = {
+      name = "buffer";
+      packageName = "buffer";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz";
+        sha512 = "EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==";
+      };
+    };
     "buffer-from-1.1.1" = {
       name = "buffer-from";
       packageName = "buffer-from";
@@ -941,13 +1095,31 @@ let
         sha1 = "574d312edd88bb5dd8912e9286dd6c0aed4aac82";
       };
     };
-    "chokidar-3.5.1" = {
+    "chokidar-3.5.2" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.5.1";
+      version = "3.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz";
+        sha512 = "ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==";
+      };
+    };
+    "chownr-1.1.4" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz";
-        sha512 = "9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==";
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz";
+        sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
+      };
+    };
+    "chownr-2.0.0" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz";
+        sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
       };
     };
     "cliui-7.0.4" = {
@@ -959,6 +1131,15 @@ let
         sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
       };
     };
+    "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";
+      };
+    };
     "color-3.0.0" = {
       name = "color";
       packageName = "color";
@@ -1013,6 +1194,15 @@ let
         sha512 = "dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==";
       };
     };
+    "colorette-1.4.0" = {
+      name = "colorette";
+      packageName = "colorette";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz";
+        sha512 = "Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==";
+      };
+    };
     "colors-1.3.3" = {
       name = "colors";
       packageName = "colors";
@@ -1049,13 +1239,13 @@ let
         sha512 = "P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==";
       };
     };
-    "comment-parser-0.7.6" = {
+    "comment-parser-1.1.6-beta.0" = {
       name = "comment-parser";
       packageName = "comment-parser";
-      version = "0.7.6";
+      version = "1.1.6-beta.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.6.tgz";
-        sha512 = "GKNxVA7/iuTnAqGADlTWX4tkhzxZKXp5fLJqKTlQLHkE65XDUKutZ3BHaJC5IGcper2tT3QRD1xr4o3jNpgXXg==";
+        url = "https://registry.npmjs.org/comment-parser/-/comment-parser-1.1.6-beta.0.tgz";
+        sha512 = "q3cA8TSMyqW7wcPSYWzbO/rMahnXgzs4SLG/UIWXdEsnXTFPZkEkWAdNgPiHig2OzxgpPLOh4WwsmClDxndwHw==";
       };
     };
     "concat-map-0.0.1" = {
@@ -1067,6 +1257,15 @@ let
         sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
+    "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";
+      };
+    };
     "content-disposition-0.5.3" = {
       name = "content-disposition";
       packageName = "content-disposition";
@@ -1157,6 +1356,15 @@ let
         sha512 = "doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==";
       };
     };
+    "debug-4.3.2" = {
+      name = "debug";
+      packageName = "debug";
+      version = "4.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
+        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
+      };
+    };
     "decamelize-4.0.0" = {
       name = "decamelize";
       packageName = "decamelize";
@@ -1166,6 +1374,15 @@ let
         sha512 = "9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==";
       };
     };
+    "decompress-response-4.2.1" = {
+      name = "decompress-response";
+      packageName = "decompress-response";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz";
+        sha512 = "jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==";
+      };
+    };
     "deep-eql-3.0.1" = {
       name = "deep-eql";
       packageName = "deep-eql";
@@ -1175,6 +1392,15 @@ let
         sha512 = "+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==";
       };
     };
+    "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";
@@ -1184,6 +1410,15 @@ let
         sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
       };
     };
+    "deepmerge-4.2.2" = {
+      name = "deepmerge";
+      packageName = "deepmerge";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz";
+        sha512 = "FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==";
+      };
+    };
     "delayed-stream-1.0.0" = {
       name = "delayed-stream";
       packageName = "delayed-stream";
@@ -1193,6 +1428,15 @@ let
         sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
       };
     };
+    "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.2" = {
       name = "depd";
       packageName = "depd";
@@ -1220,6 +1464,15 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
+    "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";
+      };
+    };
     "diff-4.0.2" = {
       name = "diff";
       packageName = "diff";
@@ -1256,6 +1509,51 @@ let
         sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
       };
     };
+    "dom-serializer-1.3.2" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz";
+        sha512 = "5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==";
+      };
+    };
+    "domelementtype-2.2.0" = {
+      name = "domelementtype";
+      packageName = "domelementtype";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz";
+        sha512 = "DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==";
+      };
+    };
+    "domhandler-3.3.0" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "3.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz";
+        sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
+      };
+    };
+    "domhandler-4.2.2" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "4.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz";
+        sha512 = "PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==";
+      };
+    };
+    "domutils-2.8.0" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "2.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz";
+        sha512 = "w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==";
+      };
+    };
     "ecc-jsbn-0.1.2" = {
       name = "ecc-jsbn";
       packageName = "ecc-jsbn";
@@ -1301,6 +1599,15 @@ let
         sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
       };
     };
+    "end-of-stream-1.4.4" = {
+      name = "end-of-stream";
+      packageName = "end-of-stream";
+      version = "1.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
+      };
+    };
     "enquirer-2.3.6" = {
       name = "enquirer";
       packageName = "enquirer";
@@ -1310,6 +1617,15 @@ let
         sha512 = "yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==";
       };
     };
+    "entities-2.2.0" = {
+      name = "entities";
+      packageName = "entities";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz";
+        sha512 = "p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==";
+      };
+    };
     "escalade-3.1.1" = {
       name = "escalade";
       packageName = "escalade";
@@ -1346,22 +1662,22 @@ let
         sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     };
-    "eslint-7.24.0" = {
+    "eslint-7.31.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "7.24.0";
+      version = "7.31.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-7.24.0.tgz";
-        sha512 = "k9gaHeHiFmGCDQ2rEfvULlSLruz6tgfA8DEn+rY9/oYPFFTlz55mM/Q/Rij1b2Y42jwZiK3lXvNTw6w6TXzcKQ==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz";
+        sha512 = "vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==";
       };
     };
-    "eslint-plugin-jsdoc-30.7.13" = {
+    "eslint-plugin-jsdoc-35.5.0" = {
       name = "eslint-plugin-jsdoc";
       packageName = "eslint-plugin-jsdoc";
-      version = "30.7.13";
+      version = "35.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-30.7.13.tgz";
-        sha512 = "YM4WIsmurrp0rHX6XiXQppqKB8Ne5ATiZLJe2+/fkp9l9ExXFr43BbAbjZaVrpCT+tuPYOZ8k1MICARHnURUNQ==";
+        url = "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-35.5.0.tgz";
+        sha512 = "QBtfGeKvSFjbMLl28fRVyk/V7NhdSy+/4a6nOUXNsJ+Ya4G88YwbBiHIZgU4COeMKPb+OGGnrLwxYO0tZiw+kg==";
       };
     };
     "eslint-plugin-prefer-arrow-1.2.3" = {
@@ -1391,6 +1707,15 @@ let
         sha512 = "w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==";
       };
     };
+    "eslint-utils-3.0.0" = {
+      name = "eslint-utils";
+      packageName = "eslint-utils";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz";
+        sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
+      };
+    };
     "eslint-visitor-keys-1.3.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
@@ -1499,6 +1824,15 @@ let
         sha512 = "8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==";
       };
     };
+    "expand-template-2.0.3" = {
+      name = "expand-template";
+      packageName = "expand-template";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz";
+        sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
+      };
+    };
     "express-4.17.1" = {
       name = "express";
       packageName = "express";
@@ -1535,13 +1869,13 @@ let
         sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     };
-    "fast-glob-3.2.5" = {
+    "fast-glob-3.2.7" = {
       name = "fast-glob";
       packageName = "fast-glob";
-      version = "3.2.5";
+      version = "3.2.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
-        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
+        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz";
+        sha512 = "rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==";
       };
     };
     "fast-json-stable-stringify-2.1.0" = {
@@ -1571,13 +1905,13 @@ let
         sha512 = "q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==";
       };
     };
-    "fastq-1.11.0" = {
+    "fastq-1.11.1" = {
       name = "fastq";
       packageName = "fastq";
-      version = "1.11.0";
+      version = "1.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz";
-        sha512 = "7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g==";
+        url = "https://registry.npmjs.org/fastq/-/fastq-1.11.1.tgz";
+        sha512 = "HOnr8Mc60eNYl1gzwp6r5RoUyAn5/glBolUzP/Ez6IFVPMPirxn/9phgL6zhOtaTy7ISwPvQ+wT+hfcRZh/bzw==";
       };
     };
     "fecha-4.2.0" = {
@@ -1607,6 +1941,15 @@ let
         sha512 = "VYb3HZ/GiAGUCrfeakO8Mp54YGswNUHvL7P09WQcXAJNSj3iQ5QraYSp3cIn1MUyw6uzfgN/EFOarCNa4JvUHQ==";
       };
     };
+    "file-uri-to-path-1.0.0" = {
+      name = "file-uri-to-path";
+      packageName = "file-uri-to-path";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz";
+        sha512 = "0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==";
+      };
+    };
     "fill-range-7.0.1" = {
       name = "fill-range";
       packageName = "fill-range";
@@ -1679,13 +2022,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.13.1" = {
+    "follow-redirects-1.14.4" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.13.1";
+      version = "1.14.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz";
-        sha512 = "SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz";
+        sha512 = "zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==";
       };
     };
     "forever-agent-0.6.1" = {
@@ -1733,6 +2076,24 @@ let
         sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
       };
     };
+    "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-minipass-2.1.0" = {
+      name = "fs-minipass";
+      packageName = "fs-minipass";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz";
+        sha512 = "V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==";
+      };
+    };
     "fs.realpath-1.0.0" = {
       name = "fs.realpath";
       packageName = "fs.realpath";
@@ -1769,6 +2130,15 @@ let
         sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
       };
     };
+    "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";
+      };
+    };
     "generate-function-2.3.1" = {
       name = "generate-function";
       packageName = "generate-function";
@@ -1823,13 +2193,22 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.6" = {
+    "github-from-package-0.0.0" = {
+      name = "github-from-package";
+      packageName = "github-from-package";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz";
+        sha1 = "97fb5d96bfde8973313f20e8288ef9a167fa64ce";
+      };
+    };
+    "glob-7.1.7" = {
       name = "glob";
       packageName = "glob";
-      version = "7.1.6";
+      version = "7.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz";
+        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
       };
     };
     "glob-parent-5.1.2" = {
@@ -1841,31 +2220,40 @@ let
         sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
       };
     };
-    "globals-12.4.0" = {
-      name = "globals";
-      packageName = "globals";
-      version = "12.4.0";
+    "glob-to-regexp-0.4.1" = {
+      name = "glob-to-regexp";
+      packageName = "glob-to-regexp";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz";
-        sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
+        url = "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz";
+        sha512 = "lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==";
       };
     };
-    "globals-13.8.0" = {
+    "globals-13.10.0" = {
       name = "globals";
       packageName = "globals";
-      version = "13.8.0";
+      version = "13.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz";
-        sha512 = "rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q==";
+        url = "https://registry.npmjs.org/globals/-/globals-13.10.0.tgz";
+        sha512 = "piHC3blgLGFjvOuMmWZX60f+na1lXFDhQXBf1UYp2fXPXqvEUbOhNwi6BsQ0bQishwedgnjkwv1d9zKf+MWw3g==";
       };
     };
-    "globby-11.0.3" = {
+    "globby-11.0.4" = {
       name = "globby";
       packageName = "globby";
-      version = "11.0.3";
+      version = "11.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz";
+        sha512 = "9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==";
+      };
+    };
+    "graceful-fs-4.2.8" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "4.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz";
-        sha512 = "ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
+        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
       };
     };
     "growl-1.10.5" = {
@@ -1931,6 +2319,24 @@ let
         sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
       };
     };
+    "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";
+      };
+    };
+    "hash.js-1.1.7" = {
+      name = "hash.js";
+      packageName = "hash.js";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz";
+        sha512 = "taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==";
+      };
+    };
     "he-1.2.0" = {
       name = "he";
       packageName = "he";
@@ -1940,6 +2346,42 @@ let
         sha512 = "F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==";
       };
     };
+    "html-to-text-6.0.0" = {
+      name = "html-to-text";
+      packageName = "html-to-text";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-6.0.0.tgz";
+        sha512 = "r0KNC5aqCAItsjlgtirW6RW25c92Ee3ybQj8z//4Sl4suE3HIPqM4deGpYCUJULLjtVPEP1+Ma+1ZeX1iMsCiA==";
+      };
+    };
+    "htmlencode-0.0.4" = {
+      name = "htmlencode";
+      packageName = "htmlencode";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlencode/-/htmlencode-0.0.4.tgz";
+        sha1 = "f7e2d6afbe18a87a78e63ba3308e753766740e3f";
+      };
+    };
+    "htmlparser2-4.1.0" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz";
+        sha512 = "4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==";
+      };
+    };
+    "htmlparser2-6.1.0" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz";
+        sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
+      };
+    };
     "http-errors-1.7.2" = {
       name = "http-errors";
       packageName = "http-errors";
@@ -1967,6 +2409,15 @@ let
         sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     };
+    "ieee754-1.2.1" = {
+      name = "ieee754";
+      packageName = "ieee754";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz";
+        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
+      };
+    };
     "ignore-4.0.6" = {
       name = "ignore";
       packageName = "ignore";
@@ -2030,6 +2481,24 @@ let
         sha1 = "633c2c83e3da42a502f52466022480f4208261de";
       };
     };
+    "inherits-2.0.4" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
+      };
+    };
+    "ini-1.3.8" = {
+      name = "ini";
+      packageName = "ini";
+      version = "1.3.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
+      };
+    };
     "ipaddr.js-1.9.1" = {
       name = "ipaddr.js";
       packageName = "ipaddr.js";
@@ -2075,6 +2544,15 @@ let
         sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
       };
     };
+    "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";
@@ -2147,6 +2625,24 @@ let
         sha512 = "YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==";
       };
     };
+    "is-plain-object-5.0.0" = {
+      name = "is-plain-object";
+      packageName = "is-plain-object";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz";
+        sha512 = "VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==";
+      };
+    };
+    "is-promise-2.2.2" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz";
+        sha512 = "+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==";
+      };
+    };
     "is-property-1.0.2" = {
       name = "is-property";
       packageName = "is-property";
@@ -2192,6 +2688,15 @@ let
         sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
       };
     };
+    "is-unicode-supported-0.1.0" = {
+      name = "is-unicode-supported";
+      packageName = "is-unicode-supported";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz";
+        sha512 = "knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==";
+      };
+    };
     "isarray-1.0.0" = {
       name = "isarray";
       packageName = "isarray";
@@ -2237,15 +2742,6 @@ let
         sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     };
-    "js-yaml-4.0.0" = {
-      name = "js-yaml";
-      packageName = "js-yaml";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz";
-        sha512 = "pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==";
-      };
-    };
     "js-yaml-4.1.0" = {
       name = "js-yaml";
       packageName = "js-yaml";
@@ -2264,13 +2760,13 @@ let
         sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     };
-    "jsdoctypeparser-9.0.0" = {
-      name = "jsdoctypeparser";
-      packageName = "jsdoctypeparser";
-      version = "9.0.0";
+    "jsdoc-type-pratt-parser-1.0.4" = {
+      name = "jsdoc-type-pratt-parser";
+      packageName = "jsdoc-type-pratt-parser";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz";
-        sha512 = "jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==";
+        url = "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.0.4.tgz";
+        sha512 = "jzmW9gokeq9+bHPDR1nCeidMyFUikdZlbOhKzh9+/nJqB75XhpNKec1/UuxW5c4+O+Pi31Gc/dCboyfSm/pSpQ==";
       };
     };
     "json-schema-0.2.3" = {
@@ -2336,6 +2832,15 @@ let
         sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
       };
     };
+    "klona-2.0.4" = {
+      name = "klona";
+      packageName = "klona";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz";
+        sha512 = "ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==";
+      };
+    };
     "kuler-2.0.0" = {
       name = "kuler";
       packageName = "kuler";
@@ -2381,15 +2886,6 @@ let
         sha512 = "iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==";
       };
     };
-    "lodash-4.17.20" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.17.20";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz";
-        sha512 = "PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==";
-      };
-    };
     "lodash-4.17.21" = {
       name = "lodash";
       packageName = "lodash";
@@ -2417,6 +2913,15 @@ let
         sha1 = "f31c22225a9632d2bbf8e4addbef240aa765a61f";
       };
     };
+    "lodash.merge-4.6.2" = {
+      name = "lodash.merge";
+      packageName = "lodash.merge";
+      version = "4.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz";
+        sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
+      };
+    };
     "lodash.toarray-4.4.0" = {
       name = "lodash.toarray";
       packageName = "lodash.toarray";
@@ -2435,13 +2940,13 @@ let
         sha1 = "5a350da0b1113b837ecfffd5812cbe58d6eae193";
       };
     };
-    "log-symbols-4.0.0" = {
+    "log-symbols-4.1.0" = {
       name = "log-symbols";
       packageName = "log-symbols";
-      version = "4.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz";
-        sha512 = "FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==";
+        url = "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz";
+        sha512 = "8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==";
       };
     };
     "logform-2.2.0" = {
@@ -2462,6 +2967,15 @@ let
         sha512 = "Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==";
       };
     };
+    "lowdb-1.0.0" = {
+      name = "lowdb";
+      packageName = "lowdb";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz";
+        sha512 = "2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==";
+      };
+    };
     "lru-cache-6.0.0" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -2489,13 +3003,22 @@ let
         sha512 = "mfgMpmV3dWLtzrd4V/3XtqUD0P44I/mTgsRreW5jMhSaUnnRGZbpptBw2q4/axbLjw2FarlWtOVgertDGMtccA==";
       };
     };
-    "matrix-appservice-bridge-2.6.0" = {
+    "matrix-appservice-bridge-3.1.0" = {
       name = "matrix-appservice-bridge";
       packageName = "matrix-appservice-bridge";
-      version = "2.6.0";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-3.1.0.tgz";
+        sha512 = "mNLWyqLigy5TboZw+EJ38mtsVlJUKa50HEjtyzx0aJLySNvnCgDFFlMahJWedOrZ3ipultnhtaRbtU1ZVsu6yA==";
+      };
+    };
+    "matrix-bot-sdk-0.6.0-beta.2" = {
+      name = "matrix-bot-sdk";
+      packageName = "matrix-bot-sdk";
+      version = "0.6.0-beta.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/matrix-appservice-bridge/-/matrix-appservice-bridge-2.6.0.tgz";
-        sha512 = "o1KHQHG1GdfUhTFBXVLztwbTowuCFO9/h8n2zdkRK/bZsdcXSFQVfUwDtRULcyinD4N7r0Lrwlg1LyR0pg2WSw==";
+        url = "https://registry.npmjs.org/matrix-bot-sdk/-/matrix-bot-sdk-0.6.0-beta.2.tgz";
+        sha512 = "D9aQ2++1bJIzka2uIz22HkaeyT058QGOh96xdxiDOaezyzLY5BN7ehYg+P0xRzDYDFKx9DbqDYCt97IkfahtPw==";
       };
     };
     "matrix-js-sdk-9.11.0" = {
@@ -2579,6 +3102,24 @@ let
         sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
       };
     };
+    "mimic-response-2.1.0" = {
+      name = "mimic-response";
+      packageName = "mimic-response";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz";
+        sha512 = "wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==";
+      };
+    };
+    "minimalistic-assert-1.0.1" = {
+      name = "minimalistic-assert";
+      packageName = "minimalistic-assert";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz";
+        sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
+      };
+    };
     "minimatch-3.0.4" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -2597,6 +3138,24 @@ let
         sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     };
+    "minipass-3.1.5" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "3.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz";
+        sha512 = "+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==";
+      };
+    };
+    "minizlib-2.1.2" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz";
+        sha512 = "bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==";
+      };
+    };
     "mkdirp-0.5.5" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -2606,13 +3165,31 @@ let
         sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
       };
     };
-    "mocha-8.3.2" = {
+    "mkdirp-1.0.4" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz";
+        sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
+      };
+    };
+    "mkdirp-classic-0.5.3" = {
+      name = "mkdirp-classic";
+      packageName = "mkdirp-classic";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";
+        sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
+      };
+    };
+    "mocha-9.0.2" = {
       name = "mocha";
       packageName = "mocha";
-      version = "8.3.2";
+      version = "9.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz";
-        sha512 = "UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-9.0.2.tgz";
+        sha512 = "FpspiWU+UT9Sixx/wKimvnpkeW0mh6ROAKkIaPokj3xZgxeRhcna/k5X57jJghEr8X+Cgu/Vegf8zCX5ugSuTA==";
       };
     };
     "moment-2.29.1" = {
@@ -2669,13 +3246,22 @@ let
         sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "nanoid-3.1.20" = {
+    "nanoid-3.1.23" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.1.20";
+      version = "3.1.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz";
-        sha512 = "a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz";
+        sha512 = "FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==";
+      };
+    };
+    "napi-build-utils-1.0.2" = {
+      name = "napi-build-utils";
+      packageName = "napi-build-utils";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz";
+        sha512 = "ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==";
       };
     };
     "natural-compare-1.4.0" = {
@@ -2705,6 +3291,15 @@ let
         sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     };
+    "node-abi-2.30.1" = {
+      name = "node-abi";
+      packageName = "node-abi";
+      version = "2.30.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz";
+        sha512 = "/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==";
+      };
+    };
     "node-emoji-1.10.0" = {
       name = "node-emoji";
       packageName = "node-emoji";
@@ -2732,6 +3327,24 @@ let
         sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     };
+    "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==";
+      };
+    };
+    "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";
+      };
+    };
     "nunjucks-3.2.3" = {
       name = "nunjucks";
       packageName = "nunjucks";
@@ -2750,6 +3363,15 @@ let
         sha512 = "fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==";
       };
     };
+    "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-hash-2.1.1" = {
       name = "object-hash";
       packageName = "object-hash";
@@ -2903,6 +3525,15 @@ let
         sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
       };
     };
+    "parse-srcset-1.0.2" = {
+      name = "parse-srcset";
+      packageName = "parse-srcset";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz";
+        sha1 = "f2bd221f6cc970a938d88556abc589caaaa2bde1";
+      };
+    };
     "parseurl-1.3.3" = {
       name = "parseurl";
       packageName = "parseurl";
@@ -2975,13 +3606,13 @@ let
         sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
       };
     };
-    "pg-8.5.1" = {
+    "pg-8.6.0" = {
       name = "pg";
       packageName = "pg";
-      version = "8.5.1";
+      version = "8.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg/-/pg-8.5.1.tgz";
-        sha512 = "9wm3yX9lCfjvA98ybCyw2pADUivyNWT/yIP4ZcDVpMN0og70BUWYEGXPCTAQdGTAqnytfRADb7NERrY1qxhIqw==";
+        url = "https://registry.npmjs.org/pg/-/pg-8.6.0.tgz";
+        sha512 = "qNS9u61lqljTDFvmk/N66EeGq3n6Ujzj0FFyNMGQr6XuEv4tgNTXvJQTfJdcvGit5p5/DWPu+wj920hAJFI+QQ==";
       };
     };
     "pg-connection-string-2.5.0" = {
@@ -3020,13 +3651,13 @@ let
         sha512 = "0O5huCql8/D6PIRFAlmccjphLYWC+JIzvUhSzXSpGaf+tjTZc4nn+Lr7mLXBbFJfvwbP0ywDv73EiaBsxn7zdg==";
       };
     };
-    "pg-promise-10.10.1" = {
+    "pg-promise-10.10.2" = {
       name = "pg-promise";
       packageName = "pg-promise";
-      version = "10.10.1";
+      version = "10.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.10.1.tgz";
-        sha512 = "sopmuOr2PrUNh3XI0Y15ssmjcwhZnGHyGYwuDDmWFnBydq7lvrhTMBI3hefAp3YMx07+HSXfSpJse9z5vC4bsw==";
+        url = "https://registry.npmjs.org/pg-promise/-/pg-promise-10.10.2.tgz";
+        sha512 = "ezc5Jn2DdtYpNoDjo7v9TVQFXBEGR+tnseot8IsZ3/B4XD/CnIjyUPMfizDdbXWNO66hN8p2m8nNrcrJ8uhM/g==";
       };
     };
     "pg-protocol-1.5.0" = {
@@ -3065,6 +3696,24 @@ let
         sha512 = "KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==";
       };
     };
+    "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";
+      };
+    };
+    "postcss-8.3.6" = {
+      name = "postcss";
+      packageName = "postcss";
+      version = "8.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz";
+        sha512 = "wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==";
+      };
+    };
     "postgres-array-2.0.0" = {
       name = "postgres-array";
       packageName = "postgres-array";
@@ -3101,6 +3750,15 @@ let
         sha512 = "9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==";
       };
     };
+    "prebuild-install-6.1.4" = {
+      name = "prebuild-install";
+      packageName = "prebuild-install";
+      version = "6.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz";
+        sha512 = "Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==";
+      };
+    };
     "prelude-ls-1.2.1" = {
       name = "prelude-ls";
       packageName = "prelude-ls";
@@ -3155,6 +3813,15 @@ let
         sha512 = "RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==";
       };
     };
+    "pump-3.0.0" = {
+      name = "pump";
+      packageName = "pump";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
+      };
+    };
     "punycode-2.1.1" = {
       name = "punycode";
       packageName = "punycode";
@@ -3200,13 +3867,13 @@ let
         sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
       };
     };
-    "quick-lru-5.1.1" = {
-      name = "quick-lru";
-      packageName = "quick-lru";
-      version = "5.1.1";
+    "randombytes-2.0.3" = {
+      name = "randombytes";
+      packageName = "randombytes";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz";
-        sha512 = "WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==";
+        url = "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz";
+        sha1 = "674c99760901c3c4112771a31e521dc349cc09ec";
       };
     };
     "randombytes-2.1.0" = {
@@ -3218,13 +3885,13 @@ let
         sha512 = "vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==";
       };
     };
-    "randomstring-1.1.5" = {
+    "randomstring-1.2.1" = {
       name = "randomstring";
       packageName = "randomstring";
-      version = "1.1.5";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/randomstring/-/randomstring-1.1.5.tgz";
-        sha1 = "6df0628f75cbd5932930d9fe3ab4e956a18518c3";
+        url = "https://registry.npmjs.org/randomstring/-/randomstring-1.2.1.tgz";
+        sha512 = "eMnfell9XuU3jfCx3f4xCaFAt0YMFPZhx9R3PSStmLarDKg5j5vivqKhf/8pvG+VX/YkxsckHK/VPUrKa5V07A==";
       };
     };
     "range-parser-1.2.1" = {
@@ -3245,6 +3912,15 @@ let
         sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
       };
     };
+    "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==";
+      };
+    };
     "readable-stream-2.3.7" = {
       name = "readable-stream";
       packageName = "readable-stream";
@@ -3263,13 +3939,13 @@ let
         sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
       };
     };
-    "readdirp-3.5.0" = {
+    "readdirp-3.6.0" = {
       name = "readdirp";
       packageName = "readdirp";
-      version = "3.5.0";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz";
-        sha512 = "cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==";
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz";
+        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
       };
     };
     "regenerator-runtime-0.13.7" = {
@@ -3290,13 +3966,13 @@ let
         sha512 = "ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==";
       };
     };
-    "regextras-0.7.1" = {
+    "regextras-0.8.0" = {
       name = "regextras";
       packageName = "regextras";
-      version = "0.7.1";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regextras/-/regextras-0.7.1.tgz";
-        sha512 = "9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==";
+        url = "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz";
+        sha512 = "k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==";
       };
     };
     "request-2.88.2" = {
@@ -3308,6 +3984,24 @@ let
         sha512 = "MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==";
       };
     };
+    "request-promise-4.2.6" = {
+      name = "request-promise";
+      packageName = "request-promise";
+      version = "4.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz";
+        sha512 = "HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==";
+      };
+    };
+    "request-promise-core-1.1.4" = {
+      name = "request-promise-core";
+      packageName = "request-promise-core";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz";
+        sha512 = "TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==";
+      };
+    };
     "require-directory-2.1.1" = {
       name = "require-directory";
       packageName = "require-directory";
@@ -3398,6 +4092,24 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
+    "sanitize-html-2.5.1" = {
+      name = "sanitize-html";
+      packageName = "sanitize-html";
+      version = "2.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.5.1.tgz";
+        sha512 = "hUITPitQk+eFNLtr4dEkaaiAJndG2YE87IOpcfBSL1XdklWgwcNDJdr9Ppe8QKL/C3jFt1xH/Mbj20e0GZQOfg==";
+      };
+    };
+    "semver-5.7.1" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
+      };
+    };
     "semver-7.3.4" = {
       name = "semver";
       packageName = "semver";
@@ -3407,6 +4119,15 @@ let
         sha512 = "tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==";
       };
     };
+    "semver-7.3.5" = {
+      name = "semver";
+      packageName = "semver";
+      version = "7.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz";
+        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
+      };
+    };
     "send-0.17.1" = {
       name = "send";
       packageName = "send";
@@ -3416,13 +4137,13 @@ let
         sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
       };
     };
-    "serialize-javascript-5.0.1" = {
+    "serialize-javascript-6.0.0" = {
       name = "serialize-javascript";
       packageName = "serialize-javascript";
-      version = "5.0.1";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz";
-        sha512 = "SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==";
+        url = "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz";
+        sha512 = "Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==";
       };
     };
     "serve-static-1.14.1" = {
@@ -3434,6 +4155,15 @@ let
         sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
       };
     };
+    "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";
+      };
+    };
     "setprototypeof-1.1.1" = {
       name = "setprototypeof";
       packageName = "setprototypeof";
@@ -3470,6 +4200,33 @@ let
         sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
       };
     };
+    "signal-exit-3.0.4" = {
+      name = "signal-exit";
+      packageName = "signal-exit";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz";
+        sha512 = "rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==";
+      };
+    };
+    "simple-concat-1.0.1" = {
+      name = "simple-concat";
+      packageName = "simple-concat";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz";
+        sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
+      };
+    };
+    "simple-get-3.1.0" = {
+      name = "simple-get";
+      packageName = "simple-get";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz";
+        sha512 = "bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==";
+      };
+    };
     "simple-swizzle-0.2.2" = {
       name = "simple-swizzle";
       packageName = "simple-swizzle";
@@ -3506,6 +4263,15 @@ let
         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
+    "source-map-js-0.6.2" = {
+      name = "source-map-js";
+      packageName = "source-map-js";
+      version = "0.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz";
+        sha512 = "/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==";
+      };
+    };
     "source-map-support-0.5.19" = {
       name = "source-map-support";
       packageName = "source-map-support";
@@ -3596,6 +4362,33 @@ let
         sha1 = "161c7dac177659fd9811f43771fa99381478628c";
       };
     };
+    "stealthy-require-1.1.1" = {
+      name = "stealthy-require";
+      packageName = "stealthy-require";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz";
+        sha1 = "35b09875b4ff49f26a777e509b3090a3226bf24b";
+      };
+    };
+    "steno-0.4.4" = {
+      name = "steno";
+      packageName = "steno";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz";
+        sha1 = "071105bdfc286e6615c0403c27e9d7b5dcb855cb";
+      };
+    };
+    "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";
@@ -3632,6 +4425,15 @@ let
         sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
       };
     };
+    "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";
@@ -3650,6 +4452,15 @@ let
         sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
       };
     };
+    "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";
+      };
+    };
     "strip-json-comments-3.1.1" = {
       name = "strip-json-comments";
       packageName = "strip-json-comments";
@@ -3695,6 +4506,33 @@ let
         sha512 = "WMBBLuauiLXJjth35K4vOnd/xkaZ/dxEcyoZ+YhxSwfxFqvh+av06+oRqIwbR14m1lENB1egSWOFv/bNEt2D8A==";
       };
     };
+    "tar-6.1.11" = {
+      name = "tar";
+      packageName = "tar";
+      version = "6.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz";
+        sha512 = "an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==";
+      };
+    };
+    "tar-fs-2.1.1" = {
+      name = "tar-fs";
+      packageName = "tar-fs";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz";
+        sha512 = "V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==";
+      };
+    };
+    "tar-stream-2.2.0" = {
+      name = "tar-stream";
+      packageName = "tar-stream";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz";
+        sha512 = "ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==";
+      };
+    };
     "tdigest-0.1.1" = {
       name = "tdigest";
       packageName = "tdigest";
@@ -3758,13 +4596,13 @@ let
         sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
       };
     };
-    "ts-node-9.1.1" = {
+    "ts-node-10.1.0" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "9.1.1";
+      version = "10.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz";
-        sha512 = "hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz";
+        sha512 = "6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==";
       };
     };
     "tslib-1.14.1" = {
@@ -3830,15 +4668,6 @@ let
         sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
       };
     };
-    "type-fest-0.8.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.8.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";
-        sha512 = "4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==";
-      };
-    };
     "type-is-1.6.18" = {
       name = "type-is";
       packageName = "type-is";
@@ -3848,13 +4677,13 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typescript-4.2.4" = {
+    "typescript-4.4.3" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.2.4";
+      version = "4.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz";
-        sha512 = "V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz";
+        sha512 = "4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==";
       };
     };
     "underscore-1.4.4" = {
@@ -3983,13 +4812,13 @@ let
         sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
       };
     };
-    "winston-daily-rotate-file-4.5.2" = {
+    "winston-daily-rotate-file-4.5.5" = {
       name = "winston-daily-rotate-file";
       packageName = "winston-daily-rotate-file";
-      version = "4.5.2";
+      version = "4.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.2.tgz";
-        sha512 = "DpAz9djExzFGVGRIKCKzsjOQaIINbjOUJ8CRsZGz0SQOMMcO1kM7jqTdzQAM9CRTEksZV9bBw9TT0ddQBGxs9g==";
+        url = "https://registry.npmjs.org/winston-daily-rotate-file/-/winston-daily-rotate-file-4.5.5.tgz";
+        sha512 = "ds0WahIjiDhKCiMXmY799pDBW+58ByqIBtUcsqr4oDoXrAI3Zn+hbgFdUxzMfqA93OG0mPLYVMiotqTgE/WeWQ==";
       };
     };
     "winston-transport-4.4.0" = {
@@ -4010,13 +4839,13 @@ let
         sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     };
-    "workerpool-6.1.0" = {
+    "workerpool-6.1.5" = {
       name = "workerpool";
       packageName = "workerpool";
-      version = "6.1.0";
+      version = "6.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz";
-        sha512 = "toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==";
+        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz";
+        sha512 = "XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==";
       };
     };
     "wrap-ansi-7.0.0" = {
@@ -4037,13 +4866,13 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "ws-5.2.2" = {
+    "ws-5.2.3" = {
       name = "ws";
       packageName = "ws";
-      version = "5.2.2";
+      version = "5.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz";
-        sha512 = "jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==";
+        url = "https://registry.npmjs.org/ws/-/ws-5.2.3.tgz";
+        sha512 = "jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==";
       };
     };
     "xtend-4.0.2" = {
@@ -4055,13 +4884,13 @@ let
         sha512 = "LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==";
       };
     };
-    "y18n-5.0.5" = {
+    "y18n-5.0.8" = {
       name = "y18n";
       packageName = "y18n";
-      version = "5.0.5";
+      version = "5.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz";
-        sha512 = "hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==";
+        url = "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz";
+        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
       };
     };
     "yallist-4.0.0" = {
@@ -4082,6 +4911,15 @@ let
         sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
       };
     };
+    "yargs-17.2.1" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "17.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz";
+        sha512 = "XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==";
+      };
+    };
     "yargs-parser-20.2.4" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -4122,9 +4960,10 @@ let
   args = {
     name = "matrix-appservice-slack";
     packageName = "matrix-appservice-slack";
-    version = "1.8.0";
+    version = "1.9.0";
     src = ./.;
     dependencies = [
+      sources."@alloc/quick-lru-5.2.0"
       sources."@babel/code-frame-7.12.11"
       sources."@babel/helper-validator-identifier-7.12.11"
       (sources."@babel/highlight-7.13.10" // {
@@ -4135,18 +4974,25 @@ let
       })
       sources."@babel/runtime-7.13.10"
       sources."@dabh/diagnostics-2.0.2"
-      (sources."@eslint/eslintrc-0.4.0" // {
+      sources."@es-joy/jsdoccomment-0.9.0-alpha.1"
+      (sources."@eslint/eslintrc-0.4.3" // {
         dependencies = [
-          sources."debug-4.3.1"
-          sources."globals-12.4.0"
-          sources."ignore-4.0.6"
+          sources."debug-4.3.2"
           sources."js-yaml-3.14.1"
           sources."ms-2.1.2"
         ];
       })
-      sources."@nodelib/fs.scandir-2.1.4"
-      sources."@nodelib/fs.stat-2.0.4"
-      sources."@nodelib/fs.walk-1.2.6"
+      (sources."@humanwhocodes/config-array-0.5.0" // {
+        dependencies = [
+          sources."debug-4.3.2"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."@humanwhocodes/object-schema-1.2.0"
+      sources."@matrix-org/olm-https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.4.tgz"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
       sources."@slack/logger-2.0.0"
       (sources."@slack/rtm-api-5.0.5" // {
         dependencies = [
@@ -4154,71 +5000,83 @@ let
         ];
       })
       sources."@slack/types-1.10.0"
-      (sources."@slack/web-api-5.15.0" // {
-        dependencies = [
-          sources."axios-0.21.1"
-        ];
-      })
+      sources."@slack/web-api-5.15.0"
+      sources."@tsconfig/node10-1.0.8"
+      sources."@tsconfig/node12-1.0.9"
+      sources."@tsconfig/node14-1.0.1"
+      sources."@tsconfig/node16-1.0.1"
       sources."@types/body-parser-1.19.0"
-      sources."@types/chai-4.2.16"
+      sources."@types/chai-4.2.21"
       sources."@types/connect-3.4.34"
-      sources."@types/express-4.17.11"
+      sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.19"
       sources."@types/is-stream-1.1.0"
-      sources."@types/js-yaml-4.0.0"
-      sources."@types/json-schema-7.0.7"
+      sources."@types/js-yaml-4.0.2"
+      sources."@types/json-schema-7.0.8"
       sources."@types/mime-1.3.2"
-      sources."@types/mocha-8.2.2"
-      sources."@types/nedb-1.8.11"
-      sources."@types/node-14.14.41"
+      sources."@types/mocha-8.2.3"
+      sources."@types/nedb-1.8.12"
+      sources."@types/node-12.20.16"
       sources."@types/node-emoji-1.8.1"
-      sources."@types/nunjucks-3.1.4"
+      sources."@types/nunjucks-3.1.5"
       sources."@types/p-queue-2.3.2"
       sources."@types/qs-6.9.6"
-      sources."@types/randomstring-1.1.6"
+      sources."@types/randomstring-1.1.7"
       sources."@types/range-parser-1.2.3"
       sources."@types/retry-0.12.0"
       sources."@types/serve-static-1.13.9"
-      sources."@types/uuid-8.3.0"
+      sources."@types/uuid-8.3.1"
       sources."@types/ws-7.2.6"
-      sources."@types/yargs-15.0.13"
-      sources."@types/yargs-parser-15.0.0"
-      (sources."@typescript-eslint/eslint-plugin-4.22.0" // {
+      sources."@types/yargs-17.0.3"
+      sources."@types/yargs-parser-20.2.1"
+      (sources."@typescript-eslint/eslint-plugin-4.28.4" // {
         dependencies = [
           sources."debug-4.3.1"
           sources."ms-2.1.2"
+          sources."semver-7.3.5"
         ];
       })
-      sources."@typescript-eslint/eslint-plugin-tslint-4.22.0"
-      sources."@typescript-eslint/experimental-utils-4.22.0"
-      (sources."@typescript-eslint/parser-4.22.0" // {
+      (sources."@typescript-eslint/experimental-utils-4.28.4" // {
+        dependencies = [
+          sources."eslint-utils-3.0.0"
+        ];
+      })
+      (sources."@typescript-eslint/parser-4.28.4" // {
         dependencies = [
           sources."debug-4.3.1"
           sources."ms-2.1.2"
         ];
       })
-      sources."@typescript-eslint/scope-manager-4.22.0"
-      sources."@typescript-eslint/types-4.22.0"
-      (sources."@typescript-eslint/typescript-estree-4.22.0" // {
+      sources."@typescript-eslint/scope-manager-4.28.4"
+      sources."@typescript-eslint/types-4.28.4"
+      (sources."@typescript-eslint/typescript-estree-4.28.4" // {
         dependencies = [
-          sources."debug-4.3.1"
+          sources."debug-4.3.2"
           sources."ms-2.1.2"
+          sources."semver-7.3.5"
         ];
       })
-      sources."@typescript-eslint/visitor-keys-4.22.0"
+      sources."@typescript-eslint/visitor-keys-4.28.4"
       sources."@ungap/promise-all-settled-1.1.2"
-      sources."Slackdown-git://github.com/half-shot/slackdown#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4"
+      sources."Slackdown-git+https://Half-Shot@github.com/half-shot/slackdown.git#efd8934a3d9c3bf0064c0b217c5cf6b62ee697e4"
       sources."a-sync-waterfall-1.0.1"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.7"
       sources."acorn-7.4.1"
-      sources."acorn-jsx-5.3.1"
+      sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
       sources."another-json-0.2.0"
       sources."ansi-colors-4.1.1"
       sources."ansi-regex-5.0.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."arg-4.1.3"
       sources."argparse-1.0.10"
       sources."array-flatten-1.1.1"
@@ -4235,20 +5093,30 @@ let
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      sources."axios-0.21.1"
+      sources."axios-0.21.4"
       sources."balanced-match-1.0.2"
       sources."base-x-3.0.8"
+      sources."base64-js-1.5.1"
       sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
+      sources."better-sqlite3-7.4.3"
       sources."binary-extensions-2.2.0"
       sources."binary-search-tree-0.2.5"
+      sources."bindings-1.5.0"
       sources."bintrees-1.0.1"
+      (sources."bl-4.1.0" // {
+        dependencies = [
+          sources."inherits-2.0.4"
+        ];
+      })
+      sources."bluebird-3.7.2"
       sources."body-parser-1.19.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-request-0.3.3"
       sources."browser-stdout-1.3.1"
       sources."bs58-4.0.1"
+      sources."buffer-5.7.1"
       sources."buffer-from-1.1.1"
       sources."buffer-writer-2.0.0"
       sources."bytes-3.1.0"
@@ -4267,17 +5135,22 @@ let
         ];
       })
       sources."check-error-1.0.2"
-      sources."chokidar-3.5.1"
+      sources."chokidar-3.5.2"
+      sources."chownr-2.0.0"
+      sources."cliui-7.0.4"
+      sources."code-point-at-1.1.0"
       sources."color-3.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.5.3"
+      sources."colorette-1.4.0"
       sources."colors-1.3.3"
       sources."colorspace-1.1.2"
       sources."combined-stream-1.0.8"
       sources."commander-5.1.0"
-      sources."comment-parser-0.7.6"
+      sources."comment-parser-1.1.6-beta.0"
       sources."concat-map-0.0.1"
+      sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.3"
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
@@ -4288,36 +5161,54 @@ let
       sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decamelize-4.0.0"
+      sources."decompress-response-4.2.1"
       sources."deep-eql-3.0.1"
+      sources."deep-extend-0.6.0"
       sources."deep-is-0.1.3"
+      sources."deepmerge-4.2.2"
       sources."delayed-stream-1.0.0"
+      sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
+      sources."detect-libc-1.0.3"
       sources."diff-4.0.2"
       sources."dir-glob-3.0.1"
       sources."doctrine-3.0.0"
+      (sources."dom-serializer-1.3.2" // {
+        dependencies = [
+          sources."domhandler-4.2.2"
+        ];
+      })
+      sources."domelementtype-2.2.0"
+      sources."domhandler-3.3.0"
+      (sources."domutils-2.8.0" // {
+        dependencies = [
+          sources."domhandler-4.2.2"
+        ];
+      })
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
       sources."enabled-2.0.0"
       sources."encodeurl-1.0.2"
+      sources."end-of-stream-1.4.4"
       sources."enquirer-2.3.6"
+      sources."entities-2.2.0"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-7.24.0" // {
+      (sources."eslint-7.31.0" // {
         dependencies = [
           sources."debug-4.3.1"
-          sources."ignore-4.0.6"
           sources."js-yaml-3.14.1"
-          sources."lodash-4.17.21"
           sources."ms-2.1.2"
         ];
       })
-      (sources."eslint-plugin-jsdoc-30.7.13" // {
+      (sources."eslint-plugin-jsdoc-35.5.0" // {
         dependencies = [
-          sources."debug-4.3.1"
+          sources."debug-4.3.2"
           sources."ms-2.1.2"
+          sources."semver-7.3.5"
         ];
       })
       sources."eslint-plugin-prefer-arrow-1.2.3"
@@ -4348,17 +5239,19 @@ let
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."eventemitter3-3.1.2"
+      sources."expand-template-2.0.3"
       sources."express-4.17.1"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-3.2.5"
+      sources."fast-glob-3.2.7"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fast-safe-stringify-2.0.6"
-      sources."fastq-1.11.0"
+      sources."fastq-1.11.1"
       sources."file-entry-cache-6.0.1"
       sources."file-stream-rotator-0.5.7"
+      sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
       sources."find-up-5.0.0"
@@ -4367,45 +5260,69 @@ let
       sources."flat-cache-3.0.4"
       sources."flatted-3.1.1"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.13.1"
+      sources."follow-redirects-1.14.4"
       sources."forever-agent-0.6.1"
       sources."form-data-2.5.1"
       sources."forwarded-0.1.2"
       sources."fresh-0.5.2"
+      sources."fs-constants-1.0.0"
+      sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
+      (sources."gauge-2.7.4" // {
+        dependencies = [
+          sources."ansi-regex-2.1.1"
+          sources."is-fullwidth-code-point-1.0.0"
+          sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
+        ];
+      })
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
       sources."get-caller-file-2.0.5"
       sources."get-func-name-2.0.0"
       sources."get-intrinsic-1.1.1"
       sources."getpass-0.1.7"
-      sources."glob-7.1.6"
+      sources."github-from-package-0.0.0"
+      sources."glob-7.1.7"
       sources."glob-parent-5.1.2"
-      (sources."globals-13.8.0" // {
+      sources."glob-to-regexp-0.4.1"
+      (sources."globals-13.10.0" // {
         dependencies = [
           sources."type-fest-0.20.2"
         ];
       })
-      sources."globby-11.0.3"
+      (sources."globby-11.0.4" // {
+        dependencies = [
+          sources."ignore-5.1.8"
+        ];
+      })
+      sources."graceful-fs-4.2.8"
       sources."growl-1.10.5"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
+      sources."has-unicode-2.0.1"
+      sources."hash.js-1.1.7"
       sources."he-1.2.0"
+      sources."html-to-text-6.0.0"
+      sources."htmlencode-0.0.4"
+      sources."htmlparser2-4.1.0"
       sources."http-errors-1.7.2"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.8"
+      sources."ieee754-1.2.1"
+      sources."ignore-4.0.6"
       sources."immediate-3.0.6"
       sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
+      sources."ini-1.3.8"
       sources."ipaddr.js-1.9.1"
       sources."is-arrayish-0.3.2"
       sources."is-binary-path-2.1.0"
@@ -4418,10 +5335,13 @@ let
       sources."is-number-7.0.0"
       sources."is-number-object-1.0.4"
       sources."is-plain-obj-2.1.0"
+      sources."is-plain-object-5.0.0"
+      sources."is-promise-2.2.2"
       sources."is-property-1.0.2"
       sources."is-stream-1.1.0"
       sources."is-string-1.0.5"
       sources."is-typedarray-1.0.0"
+      sources."is-unicode-supported-0.1.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
@@ -4432,24 +5352,26 @@ let
         ];
       })
       sources."jsbn-0.1.1"
-      sources."jsdoctypeparser-9.0.0"
+      sources."jsdoc-type-pratt-parser-1.0.4"
       sources."json-schema-0.2.3"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonpointer-4.1.0"
       sources."jsprim-1.4.1"
+      sources."klona-2.0.4"
       sources."kuler-2.0.0"
       sources."levn-0.4.1"
       sources."lie-3.1.1"
       sources."localforage-1.7.3"
       sources."locate-path-6.0.0"
-      sources."lodash-4.17.20"
+      sources."lodash-4.17.21"
       sources."lodash.clonedeep-4.5.0"
       sources."lodash.flatten-4.4.0"
+      sources."lodash.merge-4.6.2"
       sources."lodash.toarray-4.4.0"
       sources."lodash.truncate-4.4.2"
-      sources."log-symbols-4.0.0"
+      sources."log-symbols-4.1.0"
       (sources."logform-2.2.0" // {
         dependencies = [
           sources."fecha-4.2.0"
@@ -4457,15 +5379,23 @@ let
         ];
       })
       sources."loglevel-1.7.1"
+      sources."lowdb-1.0.0"
       sources."lru-cache-6.0.0"
       sources."make-error-1.3.6"
-      (sources."matrix-appservice-0.8.0" // {
+      (sources."matrix-appservice-bridge-3.1.0" // {
         dependencies = [
-          sources."argparse-1.0.10"
-          sources."js-yaml-3.14.1"
+          (sources."matrix-appservice-0.8.0" // {
+            dependencies = [
+              sources."js-yaml-3.14.1"
+            ];
+          })
+        ];
+      })
+      (sources."matrix-bot-sdk-0.6.0-beta.2" // {
+        dependencies = [
+          sources."mkdirp-1.0.4"
         ];
       })
-      sources."matrix-appservice-bridge-2.6.0"
       (sources."matrix-js-sdk-9.11.0" // {
         dependencies = [
           sources."qs-6.10.1"
@@ -4479,12 +5409,16 @@ let
       sources."mime-1.6.0"
       sources."mime-db-1.40.0"
       sources."mime-types-2.1.24"
+      sources."mimic-response-2.1.0"
+      sources."minimalistic-assert-1.0.1"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
+      sources."minipass-3.1.5"
+      sources."minizlib-2.1.2"
       sources."mkdirp-0.5.5"
-      (sources."mocha-8.3.2" // {
+      sources."mkdirp-classic-0.5.3"
+      (sources."mocha-9.0.2" // {
         dependencies = [
-          sources."argparse-2.0.1"
           (sources."debug-4.3.1" // {
             dependencies = [
               sources."ms-2.1.2"
@@ -4492,9 +5426,9 @@ let
           })
           sources."diff-5.0.0"
           sources."has-flag-4.0.0"
-          sources."js-yaml-4.0.0"
           sources."ms-2.1.3"
           sources."supports-color-8.1.1"
+          sources."yargs-16.2.0"
         ];
       })
       sources."moment-2.29.1"
@@ -4504,15 +5438,24 @@ let
         ];
       })
       sources."ms-2.0.0"
-      sources."nanoid-3.1.20"
+      sources."nanoid-3.1.23"
+      sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
       sources."nedb-1.8.0"
       sources."negotiator-0.6.2"
+      (sources."node-abi-2.30.1" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
       sources."node-emoji-1.10.0"
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
       sources."nunjucks-3.2.3"
       sources."oauth-sign-0.9.0"
+      sources."object-assign-4.1.1"
       sources."object-hash-2.1.1"
       sources."object-inspect-1.9.0"
       sources."on-finished-2.3.0"
@@ -4533,6 +5476,7 @@ let
       sources."p-timeout-3.2.0"
       sources."packet-reader-1.0.0"
       sources."parent-module-1.0.1"
+      sources."parse-srcset-1.0.2"
       sources."parseurl-1.3.3"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
@@ -4541,39 +5485,47 @@ let
       sources."path-type-4.0.0"
       sources."pathval-1.1.1"
       sources."performance-now-2.1.0"
-      sources."pg-8.5.1"
+      sources."pg-8.6.0"
       sources."pg-connection-string-2.5.0"
       sources."pg-int8-1.0.1"
       sources."pg-minify-1.6.2"
       sources."pg-pool-3.3.0"
-      sources."pg-promise-10.10.1"
+      sources."pg-promise-10.10.2"
       sources."pg-protocol-1.5.0"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.4"
       sources."picomatch-2.2.3"
+      sources."pify-3.0.0"
+      sources."postcss-8.3.6"
       sources."postgres-array-2.0.0"
       sources."postgres-bytea-1.0.0"
       sources."postgres-date-1.0.7"
       sources."postgres-interval-1.2.0"
+      sources."prebuild-install-6.1.4"
       sources."prelude-ls-1.2.1"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."prom-client-13.1.0"
       sources."proxy-addr-2.0.6"
       sources."psl-1.8.0"
+      sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."qs-6.7.0"
       sources."queue-microtask-1.2.3"
-      sources."quick-lru-5.1.1"
-      sources."randombytes-2.1.0"
-      sources."randomstring-1.1.5"
+      sources."randombytes-2.0.3"
+      sources."randomstring-1.2.1"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."strip-json-comments-2.0.1"
+        ];
+      })
       sources."readable-stream-3.6.0"
-      sources."readdirp-3.5.0"
+      sources."readdirp-3.6.0"
       sources."regenerator-runtime-0.13.7"
       sources."regexpp-3.1.0"
-      sources."regextras-0.7.1"
+      sources."regextras-0.8.0"
       (sources."request-2.88.2" // {
         dependencies = [
           sources."form-data-2.3.3"
@@ -4581,6 +5533,8 @@ let
           sources."uuid-3.4.0"
         ];
       })
+      sources."request-promise-4.2.6"
+      sources."request-promise-core-1.1.4"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
       sources."resolve-from-4.0.0"
@@ -4590,18 +5544,32 @@ let
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
+      (sources."sanitize-html-2.5.1" // {
+        dependencies = [
+          sources."domhandler-4.2.2"
+          sources."htmlparser2-6.1.0"
+        ];
+      })
       sources."semver-7.3.4"
       (sources."send-0.17.1" // {
         dependencies = [
           sources."ms-2.1.1"
         ];
       })
-      sources."serialize-javascript-5.0.1"
+      (sources."serialize-javascript-6.0.0" // {
+        dependencies = [
+          sources."randombytes-2.1.0"
+        ];
+      })
       sources."serve-static-1.14.1"
+      sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
+      sources."signal-exit-3.0.4"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-3.1.0"
       sources."simple-swizzle-0.2.2"
       sources."slash-3.0.0"
       (sources."slice-ansi-4.0.0" // {
@@ -4612,6 +5580,7 @@ let
         ];
       })
       sources."source-map-0.6.1"
+      sources."source-map-js-0.6.2"
       sources."source-map-support-0.5.19"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -4622,6 +5591,8 @@ let
       sources."sshpk-1.16.1"
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
+      sources."stealthy-require-1.1.1"
+      sources."steno-0.4.4"
       sources."string-width-4.2.0"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
@@ -4637,6 +5608,17 @@ let
           sources."json-schema-traverse-1.0.0"
         ];
       })
+      (sources."tar-6.1.11" // {
+        dependencies = [
+          sources."mkdirp-1.0.4"
+        ];
+      })
+      (sources."tar-fs-2.1.1" // {
+        dependencies = [
+          sources."chownr-1.1.4"
+        ];
+      })
+      sources."tar-stream-2.2.0"
       sources."tdigest-0.1.1"
       sources."text-hex-1.0.0"
       sources."text-table-0.2.0"
@@ -4644,16 +5626,15 @@ let
       sources."toidentifier-1.0.0"
       sources."tough-cookie-2.5.0"
       sources."triple-beam-1.3.0"
-      sources."ts-node-9.1.1"
+      sources."ts-node-10.1.0"
       sources."tslib-1.14.1"
       sources."tsutils-3.21.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.4.0"
       sources."type-detect-4.0.8"
-      sources."type-fest-0.8.1"
       sources."type-is-1.6.18"
-      sources."typescript-4.2.4"
+      sources."typescript-4.4.3"
       sources."underscore-1.4.4"
       sources."unhomoglyph-1.0.6"
       sources."unpipe-1.0.0"
@@ -4677,15 +5658,9 @@ let
         dependencies = [
           sources."async-3.2.0"
           sources."is-stream-2.0.0"
-          sources."string_decoder-1.1.1"
-          (sources."winston-transport-4.4.0" // {
-            dependencies = [
-              sources."readable-stream-2.3.7"
-            ];
-          })
         ];
       })
-      sources."winston-daily-rotate-file-4.5.2"
+      sources."winston-daily-rotate-file-4.5.5"
       (sources."winston-transport-4.4.0" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -4693,22 +5668,20 @@ let
         ];
       })
       sources."word-wrap-1.2.3"
-      sources."workerpool-6.1.0"
-      sources."wrappy-1.0.2"
-      sources."ws-5.2.2"
-      sources."xtend-4.0.2"
-      sources."yallist-4.0.0"
-      (sources."yargs-16.2.0" // {
+      sources."workerpool-6.1.5"
+      (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
-          sources."cliui-7.0.4"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."wrap-ansi-7.0.0"
-          sources."y18n-5.0.5"
-          sources."yargs-parser-20.2.4"
         ];
       })
+      sources."wrappy-1.0.2"
+      sources."ws-5.2.3"
+      sources."xtend-4.0.2"
+      sources."y18n-5.0.8"
+      sources."yallist-4.0.0"
+      sources."yargs-17.2.1"
       sources."yargs-parser-20.2.4"
       sources."yargs-unparser-2.0.0"
       sources."yn-3.1.1"
diff --git a/pkgs/servers/mycorrhiza/default.nix b/pkgs/servers/mycorrhiza/default.nix
new file mode 100644
index 00000000000..b0f255e1654
--- /dev/null
+++ b/pkgs/servers/mycorrhiza/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, lib, fetchFromGitHub, buildGoModule
+, makeWrapper, git
+}:
+
+buildGoModule rec {
+  pname = "mycorrhiza";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "bouncepaw";
+    repo = "mycorrhiza";
+    rev = "v${version}";
+    sha256 = "0manay7gfybzk28dp9a8xdfpbhxm1dbnvcyp4mjhh449n8jlp4bq";
+  };
+
+  vendorSha256 = "1br1p8cnyv2xpwnld3ydd87zxbdwl962f6yww8i8xbsm7881bl0d";
+
+  subPackages = [ "." ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postInstall = ''
+    wrapProgram $out/bin/mycorrhiza \
+      --prefix PATH : ${lib.makeBinPath [ git ]}
+  '';
+
+  meta = with lib; {
+    description = "Filesystem and git-based wiki engine written in Go using mycomarkup as its primary markup language";
+    homepage = "https://github.com/bouncepaw/mycorrhiza";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ chekoopa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/admin/damon/default.nix b/pkgs/tools/admin/damon/default.nix
new file mode 100644
index 00000000000..10687bce090
--- /dev/null
+++ b/pkgs/tools/admin/damon/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "damon";
+  version = "unstable-2021-10-06";
+
+  src = fetchFromGitHub {
+    owner = "hashicorp";
+    repo = "damon";
+    rev = "542c79aecc44b1d0500f9cb9b2e13f07db1e2f35";
+    sha256 = "sha256-vg5PISNqk8N2nn7eABm+/7qzePDbKPkvovdZk2sZYsg=";
+  };
+
+  vendorSha256 = "sha256-/ZZxw6qEUJQUz3J0TxUYJECCcX276r74g0N2tV77+8I=";
+
+  meta = with lib; {
+    homepage = "https://github.com/hashicorp/damon";
+    license = licenses.mpl20;
+    description = "A terminal UI (TUI) for HashiCorp Nomad";
+    maintainers = teams.iog.members;
+  };
+}
diff --git a/pkgs/tools/backup/kopia/default.nix b/pkgs/tools/backup/kopia/default.nix
index ad113ed615e..ac552abda07 100644
--- a/pkgs/tools/backup/kopia/default.nix
+++ b/pkgs/tools/backup/kopia/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kopia";
-  version = "0.8.4";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Or6RL6yT/X3rVIySqt5lWbXbI25f8HNLBpY3cOhMC0g=";
+    sha256 = "sha256-xfGx9rtpLmotW00pB4822dwBzB2u+QYNSLWtA+JDffU=";
   };
 
-  vendorSha256 = "sha256-1FK5IIvm2iyzGqj8IPL3/qvxFj0dC37aycQQ5MO0mBI=";
+  vendorSha256 = "sha256-USWrI2vH0RpGJgxoEfEwqDUwXjxylOOqA9g7GltOdYQ=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/ccze/default.nix b/pkgs/tools/misc/ccze/default.nix
index 874653c7f6c..4946fd64d89 100644
--- a/pkgs/tools/misc/ccze/default.nix
+++ b/pkgs/tools/misc/ccze/default.nix
@@ -11,9 +11,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-LVwmbrq78mZcAEuAqjXTqLE5we83H9mcMPtxQx2Tn/c=";
   };
 
-  buildInputs = [ autoconf ncurses pcre ];
+  nativeBuildInputs = [ autoconf ];
 
-  preConfigure = "autoheader && autoconf ";
+  buildInputs = [ ncurses pcre ];
+
+  preConfigure = ''
+    autoheader
+    autoconf
+  '';
 
   meta = with lib; {
     description = "Fast, modular log colorizer";
diff --git a/pkgs/tools/misc/contacts/default.nix b/pkgs/tools/misc/contacts/default.nix
index e0b1613735f..08ba484f51e 100644
--- a/pkgs/tools/misc/contacts/default.nix
+++ b/pkgs/tools/misc/contacts/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     homepage = "http://www.gnufoo.org/contacts/contacts.html";
     license = licenses.gpl2;
     maintainers = with maintainers; [ jwiegley ];
-    platforms = lib.platforms.darwin;
-    hydraPlatforms = lib.platforms.darwin;
+    platforms = platforms.darwin;
+    hydraPlatforms = platforms.darwin;
   };
 }
diff --git a/pkgs/tools/misc/profile-sync-daemon/default.nix b/pkgs/tools/misc/profile-sync-daemon/default.nix
index c14d3b07a37..4cca88a9b40 100644
--- a/pkgs/tools/misc/profile-sync-daemon/default.nix
+++ b/pkgs/tools/misc/profile-sync-daemon/default.nix
@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
       --replace "sudo " "/run/wrappers/bin/sudo "
   '';
 
-  preferLocalBuild = true;
-
   meta = with lib; {
     description = "Syncs browser profile dirs to RAM";
     longDescription = ''
diff --git a/pkgs/tools/misc/sdate/default.nix b/pkgs/tools/misc/sdate/default.nix
index 899d3259b26..abc046bb6d0 100644
--- a/pkgs/tools/misc/sdate/default.nix
+++ b/pkgs/tools/misc/sdate/default.nix
@@ -1,4 +1,5 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook }:
+
 stdenv.mkDerivation rec {
   pname = "sdate";
   version = "0.7";
@@ -10,13 +11,13 @@ stdenv.mkDerivation rec {
     hash = "sha256-jkwe+bSBa0p1Xzfetsdpw0RYw/gSRxnY2jBOzC5HtJ8=";
   };
 
-  buildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook ];
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.df7cb.de/projects/sdate";
     description = "Eternal september version of the date program";
-    license = lib.licenses.gpl2Plus;
-    maintainers = with lib.maintainers; [ edef ];
-    platforms = lib.platforms.all;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ edef ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/misc/txt2man/default.nix b/pkgs/tools/misc/txt2man/default.nix
index b522665e34f..a6ebcb28821 100644
--- a/pkgs/tools/misc/txt2man/default.nix
+++ b/pkgs/tools/misc/txt2man/default.nix
@@ -11,19 +11,19 @@ stdenv.mkDerivation rec {
     hash = "sha256-Aqi5PNNaaM/tr9A/7vKeafYKYIs/kHbwHzE7+R/9r9s=";
   };
 
-  preConfigure = ''
-    makeFlags=prefix="$out"
-  '';
+  makeFlags = [
+    "prefix=${placeholder "out"}"
+  ];
 
-  patchPhase = ''
+  postPatch = ''
     for f in bookman src2man txt2man; do
-        substituteInPlace $f --replace "gawk" "${gawk}/bin/gawk"
-
-        substituteInPlace $f --replace "(date" "(${coreutils}/bin/date"
-        substituteInPlace $f --replace "=cat" "=${coreutils}/bin/cat"
-        substituteInPlace $f --replace "cat <<" "${coreutils}/bin/cat <<"
-        substituteInPlace $f --replace "expand" "${coreutils}/bin/expand"
-        substituteInPlace $f --replace "(uname" "(${coreutils}/bin/uname"
+      substituteInPlace $f \
+        --replace "gawk" "${gawk}/bin/gawk" \
+        --replace "(date" "(${coreutils}/bin/date" \
+        --replace "=cat" "=${coreutils}/bin/cat" \
+        --replace "cat <<" "${coreutils}/bin/cat <<" \
+        --replace "expand" "${coreutils}/bin/expand" \
+        --replace "(uname" "(${coreutils}/bin/uname"
     done
   '';
 
@@ -35,11 +35,11 @@ stdenv.mkDerivation rec {
     sh -c 'unset PATH; printf hello | ./txt2man'
   '';
 
-  meta = {
+  meta = with lib; {
     description = "Convert flat ASCII text to man page format";
     homepage = "http://mvertes.free.fr/";
-    license = lib.licenses.gpl2;
-    platforms = with lib.platforms; linux ++ darwin;
-    maintainers = with lib.maintainers; [ bjornfor ];
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bjornfor ];
   };
 }
diff --git a/pkgs/tools/misc/xtitle/default.nix b/pkgs/tools/misc/xtitle/default.nix
index 975b24103d5..e3454538bf8 100644
--- a/pkgs/tools/misc/xtitle/default.nix
+++ b/pkgs/tools/misc/xtitle/default.nix
@@ -11,15 +11,17 @@ stdenv.mkDerivation rec {
     hash = "sha256-SVfM2vCCacgchXj0c0sPk3VR6DUI4R0ofFnxJSY4oDg=";
   };
 
-  buildInputs = [ libxcb git xcbutil xcbutilwm ];
+  postPatch = ''
+    sed -i "s|/usr/local|$out|" Makefile
+  '';
 
-  prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
+  buildInputs = [ libxcb git xcbutil xcbutilwm ];
 
-  meta = {
+  meta = with lib; {
     description = "Outputs X window titles";
     homepage = "https://github.com/baskerville/xtitle";
-    maintainers = [ lib.maintainers.meisternu ];
+    maintainers = with maintainers; [ meisternu ];
     license = "Custom";
-    platforms = lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/text/mdbook-graphviz/default.nix b/pkgs/tools/text/mdbook-graphviz/default.nix
new file mode 100644
index 00000000000..d8412605dcb
--- /dev/null
+++ b/pkgs/tools/text/mdbook-graphviz/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, CoreServices, graphviz }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mdbook-graphviz";
+  version = "0.1.2";
+
+  src = fetchFromGitHub {
+    owner = "dylanowen";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-wIgWaCjJrrajvUZbJjpx9P4urN2/eVo3+Za2NjTKWvM=";
+  };
+
+  cargoSha256 = "sha256-F8JuEk0ztB7jfcPNjU9vGsr3HLEJ2DmWGWxvdbLuyvQ=";
+
+  buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
+
+  checkInputs = [ graphviz ];
+
+  meta = with lib; {
+    description = "A preprocessor for mdbook, rendering Graphviz graphs to HTML at build time.";
+    homepage = "https://github.com/dylanowen/mdbook-graphviz";
+    license = [ licenses.mpl20 ];
+    maintainers = with maintainers; [ lovesegfault ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 12cb543f9d3..c2ab429c438 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -2546,6 +2546,8 @@ with pkgs;
 
   dale = callPackage ../development/compilers/dale { };
 
+  damon = callPackage ../tools/admin/damon { };
+
   dante = callPackage ../servers/dante { };
 
   dapr-cli = callPackage ../development/tools/dapr/cli {};
@@ -3551,6 +3553,8 @@ with pkgs;
 
   mslink = callPackage ../tools/misc/mslink { };
 
+  mceinject = callPackage ../os-specific/linux/mceinject { };
+
   mcelog = callPackage ../os-specific/linux/mcelog {
     util-linux = util-linuxMinimal;
   };
@@ -6825,6 +6829,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  mdbook-graphviz = callPackage ../tools/text/mdbook-graphviz {
+    inherit (darwin.apple_sdk.frameworks) CoreServices;
+  };
+
   mdbook-katex = callPackage ../tools/text/mdbook-katex {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -12686,6 +12694,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
+  devserver = callPackage ../development/tools/rust/devserver { };
+
   maturin = callPackage ../development/tools/rust/maturin {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -20597,6 +20607,8 @@ with pkgs;
 
   mumsi = callPackage ../servers/mumsi { };
 
+  mycorrhiza = callPackage ../servers/mycorrhiza { };
+
   myserver = callPackage ../servers/http/myserver { };
 
   nas = callPackage ../servers/nas { };
@@ -33031,7 +33043,16 @@ with pkgs;
     python = python3;
   };
 
-  phonetisaurus = callPackage ../development/libraries/phonetisaurus {};
+  phonetisaurus = callPackage ../development/libraries/phonetisaurus {
+    # https://github.com/AdolfVonKleist/Phonetisaurus/issues/70
+    openfst = openfst.overrideAttrs (_: rec {
+      version = "1.7.9";
+      src = fetchurl {
+        url = "http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-${version}.tar.gz";
+        sha256 = "1pmx1yhn2gknj0an0zwqmzgwjaycapi896244np50a8y3nrsw6ck";
+      };
+    });
+  };
 
   duti = callPackage ../os-specific/darwin/duti {
     inherit (darwin.apple_sdk.frameworks) ApplicationServices;
@@ -33235,6 +33256,8 @@ with pkgs;
 
   xcfun = callPackage ../development/libraries/science/chemistry/xcfun { };
 
+  zesarux = callPackage ../misc/emulators/zesarux { };
+
   zthrottle = callPackage ../tools/misc/zthrottle { };
 
   zktree = callPackage ../applications/misc/zktree {};
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 952cb4084d3..a8df9c35dbb 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7051,6 +7051,8 @@ in {
 
   pytankerkoenig = callPackage ../development/python-modules/pytankerkoenig { };
 
+  pytautulli = callPackage ../development/python-modules/pytautulli { };
+
   pyte = callPackage ../development/python-modules/pyte { };
 
   pytenable = callPackage ../development/python-modules/pytenable { };
@@ -7794,6 +7796,8 @@ in {
 
   qtpy = callPackage ../development/python-modules/qtpy { };
 
+  qualysclient = callPackage ../development/python-modules/qualysclient { };
+
   quamash = callPackage ../development/python-modules/quamash { };
 
   quandl = callPackage ../development/python-modules/quandl { };